-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathrole_test.go
100 lines (87 loc) · 2.48 KB
/
role_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
92
93
94
95
96
97
98
99
100
package kibana
import (
"testing"
"github.com/stretchr/testify/assert"
)
func Test_RoleGet(t *testing.T) {
skipIfNotXpackSecurity(t)
client := DefaultTestKibanaClient()
roleAPI := client.Role()
role, err := roleAPI.GetByID("kibana_user")
assert.Nil(t, err)
assert.NotNil(t, role, "Role retrieved from get by id was null.")
}
func Test_RolePutEmpty(t *testing.T) {
skipIfNotXpackSecurity(t)
client := DefaultTestKibanaClient()
roleAPI := client.Role()
basicRole := &Role{
Name: "empty",
Metadata: make(map[string]interface{}),
ElasticSearch: &RoleElasticSearch{
Cluster: []string{},
Indices: make([]interface{}, 0),
RunAs: []string{},
},
Kibana: []*RoleKibana{},
}
err := roleAPI.CreateOrUpdate(basicRole)
assert.Nil(t, err, "Error creating role")
}
func Test_RolePutBasic(t *testing.T) {
skipIfNotXpackSecurity(t)
client := DefaultTestKibanaClient()
roleAPI := client.Role()
basicRoleKibana := RoleKibana{
Base: []string{},
Feature: make(map[string][]string),
Spaces: []string{"database"},
}
basicRoleKibana.Feature["dashboard"] = []string{"read"}
roleMetadata := make(map[string]interface{})
roleMetadata["version"] = 1
basicRole := &Role{
Name: "basic",
Metadata: roleMetadata,
ElasticSearch: &RoleElasticSearch{
Cluster: []string{},
Indices: make([]interface{}, 0),
RunAs: []string{},
},
Kibana: []*RoleKibana{&basicRoleKibana},
}
err := roleAPI.CreateOrUpdate(basicRole)
assert.Nil(t, err, "Error creating role")
role, err := roleAPI.GetByID("basic")
assert.Nil(t, err)
assert.NotNil(t, role, "Role retrieved from get by id was null.")
assert.Equal(t, role.Metadata["version"], 1.0)
assert.Equal(t, role.Kibana[0].Spaces[0], "database")
}
func Test_RoleDeleteBasic(t *testing.T) {
skipIfNotXpackSecurity(t)
client := DefaultTestKibanaClient()
roleAPI := client.Role()
basicRoleKibana := RoleKibana{
Base: []string{},
Feature: make(map[string][]string),
Spaces: []string{"database"},
}
basicRoleKibana.Feature["dashboard"] = []string{"read"}
roleMetadata := make(map[string]interface{})
roleMetadata["version"] = 1
basicRole := &Role{
Name: "basic",
Metadata: roleMetadata,
ElasticSearch: &RoleElasticSearch{
Cluster: []string{},
Indices: make([]interface{}, 0),
RunAs: []string{},
},
Kibana: []*RoleKibana{&basicRoleKibana},
}
err := roleAPI.CreateOrUpdate(basicRole)
assert.Nil(t, err, "Error creating role")
err = roleAPI.Delete("basic")
assert.Nil(t, err, "Error deleting role")
}