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

Function TestModifyPolicyAPI

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

Source from the content-addressed store, hash-verified

208}
209
210func TestModifyPolicyAPI(t *testing.T) {
211 e := newTestEngine(t, "file", "../examples/rbac_policy.csv", "../examples/rbac_model.conf")
212
213 testGetPolicy(t, e, [][]string{
214 {"alice", "data1", "read"},
215 {"bob", "data2", "write"},
216 {"data2_admin", "data2", "read"},
217 {"data2_admin", "data2", "write"},
218 {"data3_admin", "data3", "admin"},
219 {"data4_admin", "data4", "read"}})
220
221 _, err := e.s.RemovePolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"alice", "data1", "read"}})
222 assert.NoError(t, err)
223 _, err = e.s.RemovePolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"bob", "data2", "write"}})
224 assert.NoError(t, err)
225 _, err = e.s.RemovePolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"alice", "data1", "read"}})
226 assert.NoError(t, err)
227
228 _, err = e.s.AddPolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"eve", "data3", "read"}})
229 assert.NoError(t, err)
230 _, err = e.s.AddPolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"eve", "data3", "read"}})
231 assert.NoError(t, err)
232
233 namedPolicy := []string{"eve", "data3", "read"}
234 _, err = e.s.RemovePolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, PType: "p", Params: namedPolicy})
235 assert.NoError(t, err)
236 _, err = e.s.AddNamedPolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, PType: "p", Params: namedPolicy})
237 assert.NoError(t, err)
238
239 testGetPolicy(t, e, [][]string{
240 {"data2_admin", "data2", "read"},
241 {"data2_admin", "data2", "write"},
242 {"data3_admin", "data3", "admin"},
243 {"data4_admin", "data4", "read"},
244 {"eve", "data3", "read"}})
245
246 _, err = e.s.RemoveFilteredPolicy(e.ctx, &pb.FilteredPolicyRequest{EnforcerHandler: e.h, FieldIndex: 1, FieldValues: []string{"data2"}})
247 assert.NoError(t, err)
248
249 _, err = e.s.RemoveFilteredPolicy(e.ctx, &pb.FilteredPolicyRequest{EnforcerHandler: e.h, FieldIndex: 1, FieldValues: []string{"data4"}})
250 assert.NoError(t, err)
251
252 testGetPolicy(t, e, [][]string{{"data3_admin", "data3", "admin"},{"eve", "data3", "read"}})
253}
254
255func TestModifyGroupingPolicyAPI(t *testing.T) {
256 e := newTestEngine(t, "file", "../examples/rbac_policy.csv", "../examples/rbac_model.conf")

Callers

nothing calls this directly

Calls 6

newTestEngineFunction · 0.85
testGetPolicyFunction · 0.85
RemovePolicyMethod · 0.65
AddPolicyMethod · 0.65
AddNamedPolicyMethod · 0.65
RemoveFilteredPolicyMethod · 0.65

Tested by

no test coverage detected