MCPcopy Index your code
hub / github.com/apache/casbin / TestRoleAPI

Function TestRoleAPI

rbac_api_test.go:73–130  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

71}
72
73func TestRoleAPI(t *testing.T) {
74 e, _ := NewEnforcer("examples/rbac_model.conf", "examples/rbac_policy.csv")
75
76 testGetRoles(t, e, []string{"data2_admin"}, "alice")
77 testGetRoles(t, e, []string{}, "bob")
78 testGetRoles(t, e, []string{}, "data2_admin")
79 testGetRoles(t, e, []string{}, "non_exist")
80
81 testHasRole(t, e, "alice", "data1_admin", false)
82 testHasRole(t, e, "alice", "data2_admin", true)
83
84 _, _ = e.AddRoleForUser("alice", "data1_admin")
85
86 testGetRoles(t, e, []string{"data1_admin", "data2_admin"}, "alice")
87 testGetRoles(t, e, []string{}, "bob")
88 testGetRoles(t, e, []string{}, "data2_admin")
89
90 _, _ = e.DeleteRoleForUser("alice", "data1_admin")
91
92 testGetRoles(t, e, []string{"data2_admin"}, "alice")
93 testGetRoles(t, e, []string{}, "bob")
94 testGetRoles(t, e, []string{}, "data2_admin")
95
96 _, _ = e.DeleteRolesForUser("alice")
97
98 testGetRoles(t, e, []string{}, "alice")
99 testGetRoles(t, e, []string{}, "bob")
100 testGetRoles(t, e, []string{}, "data2_admin")
101
102 _, _ = e.AddRoleForUser("alice", "data1_admin")
103 _, _ = e.DeleteUser("alice")
104
105 testGetRoles(t, e, []string{}, "alice")
106 testGetRoles(t, e, []string{}, "bob")
107 testGetRoles(t, e, []string{}, "data2_admin")
108
109 _, _ = e.AddRoleForUser("alice", "data2_admin")
110
111 testEnforce(t, e, "alice", "data1", "read", false)
112 testEnforce(t, e, "alice", "data1", "write", false)
113 testEnforce(t, e, "alice", "data2", "read", true)
114 testEnforce(t, e, "alice", "data2", "write", true)
115 testEnforce(t, e, "bob", "data1", "read", false)
116 testEnforce(t, e, "bob", "data1", "write", false)
117 testEnforce(t, e, "bob", "data2", "read", false)
118 testEnforce(t, e, "bob", "data2", "write", true)
119
120 _, _ = e.DeleteRole("data2_admin")
121
122 testEnforce(t, e, "alice", "data1", "read", false)
123 testEnforce(t, e, "alice", "data1", "write", false)
124 testEnforce(t, e, "alice", "data2", "read", false)
125 testEnforce(t, e, "alice", "data2", "write", false)
126 testEnforce(t, e, "bob", "data1", "read", false)
127 testEnforce(t, e, "bob", "data1", "write", false)
128 testEnforce(t, e, "bob", "data2", "read", false)
129 testEnforce(t, e, "bob", "data2", "write", true)
130}

Callers

nothing calls this directly

Calls 9

AddRoleForUserMethod · 0.95
DeleteRoleForUserMethod · 0.95
DeleteRolesForUserMethod · 0.95
DeleteUserMethod · 0.95
DeleteRoleMethod · 0.95
NewEnforcerFunction · 0.85
testGetRolesFunction · 0.85
testHasRoleFunction · 0.85
testEnforceFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…