MCPcopy Create free account
hub / github.com/apache/casbin-server / TestGetPolicyAPI

Function TestGetPolicyAPI

server/management_api_test.go:164–208  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

162}
163
164func TestGetPolicyAPI(t *testing.T) {
165 e := newTestEngine(t, "file", "../examples/rbac_policy.csv", "../examples/rbac_model.conf")
166
167 testGetPolicy(t, e, [][]string{
168 {"alice", "data1", "read"},
169 {"bob", "data2", "write"},
170 {"data2_admin", "data2", "read"},
171 {"data2_admin", "data2", "write"},
172 {"data3_admin", "data3", "admin"},
173 {"data4_admin", "data4", "read"}})
174
175 testGetFilteredPolicy(t, e, 0, [][]string{{"alice", "data1", "read"}}, "alice")
176 testGetFilteredPolicy(t, e, 0, [][]string{{"bob", "data2", "write"}}, "bob")
177 testGetFilteredPolicy(t, e, 0, [][]string{{"data2_admin", "data2", "read"},
178 {"data2_admin", "data2", "write"}}, "data2_admin")
179 testGetFilteredPolicy(t, e, 1, [][]string{{"alice", "data1", "read"}}, "data1")
180 testGetFilteredPolicy(t, e, 1, [][]string{{"bob", "data2", "write"}, {"data2_admin", "data2", "read"},
181 {"data2_admin", "data2", "write"}}, "data2")
182 testGetFilteredPolicy(t, e, 2, [][]string{{"alice", "data1", "read"}, {"data2_admin", "data2", "read"},{"data4_admin", "data4", "read"}}, "read")
183 testGetFilteredPolicy(t, e, 2, [][]string{{"bob", "data2", "write"}, {"data2_admin", "data2", "write"}}, "write")
184
185 testGetFilteredPolicy(t, e, 0, [][]string{{"data2_admin", "data2", "read"},
186 {"data2_admin", "data2", "write"}}, "data2_admin", "data2")
187 // Note: "" (empty string) in fieldValues means matching all values.
188 testGetFilteredPolicy(t, e, 0, [][]string{{"data2_admin", "data2", "read"}}, "data2_admin", "", "read")
189 testGetFilteredPolicy(t, e, 1, [][]string{{"bob", "data2", "write"},
190 {"data2_admin", "data2", "write"}}, "data2", "write")
191
192 testHasPolicy(t, e, []string{"alice", "data1", "read"}, true)
193 testHasPolicy(t, e, []string{"bob", "data2", "write"}, true)
194 testHasPolicy(t, e, []string{"alice", "data2", "read"}, false)
195 testHasPolicy(t, e, []string{"bob", "data3", "write"}, false)
196
197 testGetGroupingPolicy(t, e, [][]string{{"alice", "data2_admin"},{"george", "data3_admin"},{"data3_admin", "data4_admin"}})
198
199 testGetFilteredGroupingPolicy(t, e, 0, [][]string{{"alice", "data2_admin"}}, "alice")
200 testGetFilteredGroupingPolicy(t, e, 0, [][]string{}, "bob")
201 testGetFilteredGroupingPolicy(t, e, 1, [][]string{}, "data1_admin")
202 testGetFilteredGroupingPolicy(t, e, 1, [][]string{{"alice", "data2_admin"}}, "data2_admin")
203 // Note: "" (empty string) in fieldValues means matching all values.
204 testGetFilteredGroupingPolicy(t, e, 0, [][]string{{"alice", "data2_admin"}}, "", "data2_admin")
205
206 testHasGroupingPolicy(t, e, []string{"alice", "data2_admin"}, true)
207 testHasGroupingPolicy(t, e, []string{"bob", "data2_admin"}, false)
208}
209
210func TestModifyPolicyAPI(t *testing.T) {
211 e := newTestEngine(t, "file", "../examples/rbac_policy.csv", "../examples/rbac_model.conf")

Callers

nothing calls this directly

Calls 7

newTestEngineFunction · 0.85
testGetPolicyFunction · 0.85
testGetFilteredPolicyFunction · 0.85
testHasPolicyFunction · 0.85
testGetGroupingPolicyFunction · 0.85
testHasGroupingPolicyFunction · 0.85

Tested by

no test coverage detected