forked from thecodeteam/goisilon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
acls_test.go
91 lines (72 loc) · 2.65 KB
/
acls_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package goisilon
import (
"testing"
"github.com/stretchr/testify/assert"
api "github.com/thecodeteam/goisilon/api/v2"
)
func TestGetVolumeACL(t *testing.T) {
volumeName := "test_get_volume_acl"
// make sure the volume exists
client.CreateVolume(defaultCtx, volumeName)
volume, err := client.GetVolume(defaultCtx, volumeName, volumeName)
assertNoError(t, err)
assertNotNil(t, volume)
defer client.DeleteVolume(defaultCtx, volume.Name)
acl, err := client.GetVolumeACL(defaultCtx, volume.Name)
assertNoError(t, err)
assertNotNil(t, acl)
assertNotNil(t, acl.Owner)
assertNotNil(t, acl.Owner.Name)
assert.Equal(t, client.API.User(), *acl.Owner.Name)
assertNotNil(t, acl.Owner.Type)
assert.Equal(t, api.PersonaTypeUser, *acl.Owner.Type)
assertNotNil(t, acl.Owner.ID)
assert.Equal(t, "10", acl.Owner.ID.ID)
assert.Equal(t, api.PersonaIDTypeUID, acl.Owner.ID.Type)
}
func TestSetVolumeOwnerToCurrentUser(t *testing.T) {
volumeName := "test_set_volume_owner"
// make sure the volume exists
client.CreateVolume(defaultCtx, volumeName)
volume, err := client.GetVolume(defaultCtx, volumeName, volumeName)
assertNoError(t, err)
assertNotNil(t, volume)
defer client.DeleteVolume(defaultCtx, volume.Name)
acl, err := client.GetVolumeACL(defaultCtx, volume.Name)
assertNoError(t, err)
assertNotNil(t, acl)
assertNotNil(t, acl.Owner)
assertNotNil(t, acl.Owner.Name)
assert.Equal(t, client.API.User(), *acl.Owner.Name)
assertNotNil(t, acl.Owner.Type)
assert.Equal(t, api.PersonaTypeUser, *acl.Owner.Type)
assertNotNil(t, acl.Owner.ID)
assert.Equal(t, "10", acl.Owner.ID.ID)
assert.Equal(t, api.PersonaIDTypeUID, acl.Owner.ID.Type)
err = client.SetVolumeOwner(defaultCtx, volume.Name, "rexray")
assertNoError(t, err)
acl, err = client.GetVolumeACL(defaultCtx, volume.Name)
assertNoError(t, err)
assertNotNil(t, acl)
assertNotNil(t, acl.Owner)
assertNotNil(t, acl.Owner.Name)
assert.Equal(t, "rexray", *acl.Owner.Name)
assertNotNil(t, acl.Owner.Type)
assert.Equal(t, api.PersonaTypeUser, *acl.Owner.Type)
assertNotNil(t, acl.Owner.ID)
assert.Equal(t, "2000", acl.Owner.ID.ID)
assert.Equal(t, api.PersonaIDTypeUID, acl.Owner.ID.Type)
err = client.SetVolumeOwnerToCurrentUser(defaultCtx, volume.Name)
assertNoError(t, err)
acl, err = client.GetVolumeACL(defaultCtx, volume.Name)
assertNoError(t, err)
assertNotNil(t, acl)
assertNotNil(t, acl.Owner)
assertNotNil(t, acl.Owner.Name)
assert.Equal(t, client.API.User(), *acl.Owner.Name)
assertNotNil(t, acl.Owner.Type)
assert.Equal(t, api.PersonaTypeUser, *acl.Owner.Type)
assertNotNil(t, acl.Owner.ID)
assert.Equal(t, "10", acl.Owner.ID.ID)
assert.Equal(t, api.PersonaIDTypeUID, acl.Owner.ID.Type)
}