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

Function TestModifyGroupingPolicyAPI

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

Source from the content-addressed store, hash-verified

253}
254
255func TestModifyGroupingPolicyAPI(t *testing.T) {
256 e := newTestEngine(t, "file", "../examples/rbac_policy.csv", "../examples/rbac_model.conf")
257
258 testGetRoles(t, e, "alice", []string{"data2_admin"})
259 testGetRoles(t, e, "bob", []string{})
260 testGetRoles(t, e, "eve", []string{})
261 testGetRoles(t, e, "non_exist", []string{})
262
263 _, err := e.s.RemoveGroupingPolicy(e.ctx,
264 &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"alice", "data2_admin"}})
265 assert.NoError(t, err)
266
267 _, err = e.s.AddGroupingPolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"bob", "data1_admin"}})
268 assert.NoError(t, err)
269
270 _, err = e.s.AddGroupingPolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"eve", "data3_admin"}})
271 assert.NoError(t, err)
272
273 namedGroupingPolicy := []string{"alice", "data2_admin"}
274 testGetRoles(t, e, "alice", []string{})
275
276 _, err = e.s.AddNamedGroupingPolicy(e.ctx,
277 &pb.PolicyRequest{EnforcerHandler: e.h, PType: "g", Params: namedGroupingPolicy})
278 assert.NoError(t, err)
279
280 testGetRoles(t, e, "alice", []string{"data2_admin"})
281
282 _, err = e.s.RemoveNamedGroupingPolicy(e.ctx,
283 &pb.PolicyRequest{EnforcerHandler: e.h, PType: "g", Params: namedGroupingPolicy})
284 assert.NoError(t, err)
285
286 testGetRoles(t, e, "alice", []string{})
287 testGetRoles(t, e, "bob", []string{"data1_admin"})
288 testGetRoles(t, e, "eve", []string{"data3_admin"})
289 testGetRoles(t, e, "non_exist", []string{})
290
291 testGetUsers(t, e, "data1_admin", []string{"bob"})
292 testGetUsers(t, e, "data2_admin", []string{})
293 testGetUsers(t, e, "data3_admin", []string{"eve", "george"})
294 testGetUsers(t, e, "data4_admin", []string{"data3_admin"})
295
296 _, err = e.s.RemoveFilteredGroupingPolicy(e.ctx,
297 &pb.FilteredPolicyRequest{EnforcerHandler: e.h, FieldIndex: 0, FieldValues: []string{"bob"}})
298 assert.NoError(t, err)
299
300 testGetRoles(t, e, "alice", []string{})
301 testGetRoles(t, e, "bob", []string{})
302 testGetRoles(t, e, "eve", []string{"data3_admin"})
303 testGetRoles(t, e, "non_exist", []string{})
304
305 testGetUsers(t, e, "data1_admin", []string{})
306 testGetUsers(t, e, "data2_admin", []string{})
307 testGetUsers(t, e, "data3_admin", []string{"george","eve"})
308}

Callers

nothing calls this directly

Calls 8

newTestEngineFunction · 0.85
testGetRolesFunction · 0.85
testGetUsersFunction · 0.85
RemoveGroupingPolicyMethod · 0.65
AddGroupingPolicyMethod · 0.65

Tested by

no test coverage detected