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

Function TestRBACModel

server/model_test.go:48–82  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

46}
47
48func TestRBACModel(t *testing.T) {
49 s := NewServer()
50 ctx := context.Background()
51
52 _, err := s.NewAdapter(ctx, &pb.NewAdapterRequest{DriverName: "file", ConnectString: "../examples/rbac_policy.csv"})
53 if err != nil {
54 t.Error(err)
55 }
56
57 modelText, err := os.ReadFile("../examples/rbac_model.conf")
58 if err != nil {
59 t.Error(err)
60 }
61
62 resp, err := s.NewEnforcer(ctx, &pb.NewEnforcerRequest{ModelText: string(modelText), AdapterHandle: 0, EnableAcceptJsonRequest: false})
63 if err != nil {
64 t.Error(err)
65 }
66 e := resp.Handler
67
68 sub := "alice"
69 obj := "data1"
70 act := "read"
71 res := true
72
73 resp2, err := s.Enforce(ctx, &pb.EnforceRequest{EnforcerHandler: e, Params: []string{sub, obj, act}})
74 if err != nil {
75 t.Error(err)
76 }
77 myRes := resp2.Res
78
79 if myRes != res {
80 t.Errorf("%s, %s, %s: %t, supposed to be %t", sub, obj, act, myRes, res)
81 }
82}
83
84func TestABACModel(t *testing.T) {
85 s := NewServer()

Callers

nothing calls this directly

Calls 4

NewAdapterMethod · 0.95
NewEnforcerMethod · 0.95
EnforceMethod · 0.95
NewServerFunction · 0.85

Tested by

no test coverage detected