Skip to content

Commit

Permalink
add tests with custom alias template
Browse files Browse the repository at this point in the history
  • Loading branch information
micbar committed Mar 13, 2022
1 parent bfdae74 commit 03b0623
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ var _ = Describe("Decomposed", func() {

BeforeEach(func() {
var err error
env, err = testhelpers.NewTestEnv()
env, err = testhelpers.NewTestEnv(nil)
Expect(err).ToNot(HaveOccurred())
})

Expand Down
2 changes: 1 addition & 1 deletion pkg/storage/utils/decomposedfs/decomposedfs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ var _ = Describe("Decomposed", func() {

JustBeforeEach(func() {
var err error
env, err = helpers.NewTestEnv()
env, err = helpers.NewTestEnv(nil)
Expect(err).ToNot(HaveOccurred())

ref = &provider.Reference{
Expand Down
2 changes: 1 addition & 1 deletion pkg/storage/utils/decomposedfs/grants_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ var _ = Describe("Grants", func() {

JustBeforeEach(func() {
var err error
env, err = helpers.NewTestEnv()
env, err = helpers.NewTestEnv(nil)
Expect(err).ToNot(HaveOccurred())

ref = &provider.Reference{
Expand Down
2 changes: 1 addition & 1 deletion pkg/storage/utils/decomposedfs/recycle_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ var _ = Describe("Recycle", func() {

BeforeEach(func() {
var err error
env, err = helpers.NewTestEnv()
env, err = helpers.NewTestEnv(nil)
Expect(err).ToNot(HaveOccurred())
})

Expand Down
41 changes: 40 additions & 1 deletion pkg/storage/utils/decomposedfs/spaces_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ var _ = Describe("Create Spaces", func() {

BeforeEach(func() {
var err error
env, err = helpers.NewTestEnv()
env, err = helpers.NewTestEnv(nil)
Expect(err).ToNot(HaveOccurred())
env.PermissionsClient.On("CheckPermission", mock.Anything, mock.Anything, mock.Anything).Return(&permissionsv1beta1.CheckPermissionResponse{Status: &rpcv1beta1.Status{Code: rpcv1beta1.Code_CODE_OK}}, nil)
})
Expand Down Expand Up @@ -67,4 +67,43 @@ var _ = Describe("Create Spaces", func() {
Expect(resp.StorageSpace.SpaceType).To(Equal("project"))
})
})
Describe("Create Spaces with custom alias template", func() {
var (
env *helpers.TestEnv
)

BeforeEach(func() {
var err error
env, err = helpers.NewTestEnv(map[string]interface{}{
"personalspacealias_template": "{{.SpaceType}}/{{.Email.Local}}@{{.Email.Domain}}",
"generalspacealias_template": "{{.SpaceType}}:{{.SpaceName | replace \" \" \"-\" | upper}}",
})
Expect(err).ToNot(HaveOccurred())
env.PermissionsClient.On("CheckPermission", mock.Anything, mock.Anything, mock.Anything).Return(&permissionsv1beta1.CheckPermissionResponse{Status: &rpcv1beta1.Status{Code: rpcv1beta1.Code_CODE_OK}}, nil)
})

AfterEach(func() {
if env != nil {
env.Cleanup()
}
})
Context("during login", func() {
It("personal space is created with custom alias", func() {
resp, err := env.Fs.ListStorageSpaces(env.Ctx, nil)
Expect(err).ToNot(HaveOccurred())
Expect(len(resp)).To(Equal(1))
Expect(string(resp[0].Opaque.GetMap()["spaceAlias"].Value)).To(Equal("personal/username@_unknown"))
})
})
Context("creating a space", func() {
It("project space is created with custom alias", func() {
resp, err := env.Fs.CreateStorageSpace(env.Ctx, &provider.CreateStorageSpaceRequest{Name: "Mission to Venus", Type: "project"})
Expect(err).ToNot(HaveOccurred())
Expect(resp.Status.Code).To(Equal(rpcv1beta1.Code_CODE_OK))
Expect(resp.StorageSpace).ToNot(Equal(nil))
Expect(string(resp.StorageSpace.Opaque.Map["spaceAlias"].Value)).To(Equal("project:MISSION-TO-VENUS"))

})
})
})
})
15 changes: 11 additions & 4 deletions pkg/storage/utils/decomposedfs/testhelpers/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,20 +64,27 @@ type TestEnv struct {
// /dir1/
// /dir1/file1
// /dir1/subdir1/
func NewTestEnv() (*TestEnv, error) {
//
// The default config can be overridden by providing the strings to override
// via map as a parameter
func NewTestEnv(config map[string]interface{}) (*TestEnv, error) {
tmpRoot, err := helpers.TempDir("reva-unit-tests-*-root")
if err != nil {
return nil, err
}

config := map[string]interface{}{
defaultConfig := map[string]interface{}{
"root": tmpRoot,
"treetime_accounting": true,
"treesize_accounting": true,
"share_folder": "/Shares",
"user_layout": "{{.Id.OpaqueId}}",
}
o, err := options.New(config)
// make it possible to override single config values
for k, v := range config {
defaultConfig[k] = v
}

o, err := options.New(defaultConfig)
if err != nil {
return nil, err
}
Expand Down

0 comments on commit 03b0623

Please sign in to comment.