MCPcopy
hub / github.com/apache/casbin / TestModifyGroupingPolicyAPI

Function TestModifyGroupingPolicyAPI

management_api_test.go:283–364  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

281}
282
283func TestModifyGroupingPolicyAPI(t *testing.T) {
284 e, _ := NewEnforcer("examples/rbac_model.conf", "examples/rbac_policy.csv")
285
286 testGetRoles(t, e, []string{"data2_admin"}, "alice")
287 testGetRoles(t, e, []string{}, "bob")
288 testGetRoles(t, e, []string{}, "eve")
289 testGetRoles(t, e, []string{}, "non_exist")
290
291 _, _ = e.RemoveGroupingPolicy("alice", "data2_admin")
292 _, _ = e.AddGroupingPolicy("bob", "data1_admin")
293 _, _ = e.AddGroupingPolicy("eve", "data3_admin")
294
295 groupingRules := [][]string{
296 {"ham", "data4_admin"},
297 {"jack", "data5_admin"},
298 }
299
300 _, _ = e.AddGroupingPolicies(groupingRules)
301 testGetRoles(t, e, []string{"data4_admin"}, "ham")
302 testGetRoles(t, e, []string{"data5_admin"}, "jack")
303 _, _ = e.RemoveGroupingPolicies(groupingRules)
304
305 testGetRoles(t, e, []string{}, "alice")
306 namedGroupingPolicy := []string{"alice", "data2_admin"}
307 testGetRoles(t, e, []string{}, "alice")
308 _, _ = e.AddNamedGroupingPolicy("g", namedGroupingPolicy)
309 testGetRoles(t, e, []string{"data2_admin"}, "alice")
310 _, _ = e.RemoveNamedGroupingPolicy("g", namedGroupingPolicy)
311
312 _, _ = e.AddNamedGroupingPolicies("g", groupingRules)
313 _, _ = e.AddNamedGroupingPolicies("g", groupingRules)
314 testGetRoles(t, e, []string{"data4_admin"}, "ham")
315 testGetRoles(t, e, []string{"data5_admin"}, "jack")
316 _, _ = e.RemoveNamedGroupingPolicies("g", groupingRules)
317 _, _ = e.RemoveNamedGroupingPolicies("g", groupingRules)
318
319 testGetRoles(t, e, []string{}, "alice")
320 testGetRoles(t, e, []string{"data1_admin"}, "bob")
321 testGetRoles(t, e, []string{"data3_admin"}, "eve")
322 testGetRoles(t, e, []string{}, "non_exist")
323
324 testGetUsers(t, e, []string{"bob"}, "data1_admin")
325 testGetUsers(t, e, []string{}, "data2_admin")
326 testGetUsers(t, e, []string{"eve"}, "data3_admin")
327
328 _, _ = e.RemoveFilteredGroupingPolicy(0, "bob")
329
330 testGetRoles(t, e, []string{}, "alice")
331 testGetRoles(t, e, []string{}, "bob")
332 testGetRoles(t, e, []string{"data3_admin"}, "eve")
333 testGetRoles(t, e, []string{}, "non_exist")
334
335 testGetUsers(t, e, []string{}, "data1_admin")
336 testGetUsers(t, e, []string{}, "data2_admin")
337 testGetUsers(t, e, []string{"eve"}, "data3_admin")
338 _, _ = e.AddGroupingPolicy("data3_admin", "data4_admin")
339 _, _ = e.UpdateGroupingPolicy([]string{"eve", "data3_admin"}, []string{"eve", "admin"})
340 _, _ = e.UpdateGroupingPolicy([]string{"data3_admin", "data4_admin"}, []string{"admin", "data4_admin"})

Callers

nothing calls this directly

Calls 15

RemoveGroupingPolicyMethod · 0.95
AddGroupingPolicyMethod · 0.95
AddGroupingPoliciesMethod · 0.95
UpdateGroupingPolicyMethod · 0.95
ClearPolicyMethod · 0.95

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…