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

Function TestRBACModelInMemory

enforcer_test.go:121–145  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

119}
120
121func TestRBACModelInMemory(t *testing.T) {
122 m := model.NewModel()
123 m.AddDef("r", "r", "sub, obj, act")
124 m.AddDef("p", "p", "sub, obj, act")
125 m.AddDef("g", "g", "_, _")
126 m.AddDef("e", "e", "some(where (p.eft == allow))")
127 m.AddDef("m", "m", "g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act")
128
129 e, _ := NewEnforcer(m)
130
131 _, _ = e.AddPermissionForUser("alice", "data1", "read")
132 _, _ = e.AddPermissionForUser("bob", "data2", "write")
133 _, _ = e.AddPermissionForUser("data2_admin", "data2", "read")
134 _, _ = e.AddPermissionForUser("data2_admin", "data2", "write")
135 _, _ = e.AddRoleForUser("alice", "data2_admin")
136
137 testEnforce(t, e, "alice", "data1", "read", true)
138 testEnforce(t, e, "alice", "data1", "write", false)
139 testEnforce(t, e, "alice", "data2", "read", true)
140 testEnforce(t, e, "alice", "data2", "write", true)
141 testEnforce(t, e, "bob", "data1", "read", false)
142 testEnforce(t, e, "bob", "data1", "write", false)
143 testEnforce(t, e, "bob", "data2", "read", false)
144 testEnforce(t, e, "bob", "data2", "write", true)
145}
146
147func TestRBACModelInMemory2(t *testing.T) {
148 text :=

Callers

nothing calls this directly

Calls 6

AddDefMethod · 0.95
AddPermissionForUserMethod · 0.95
AddRoleForUserMethod · 0.95
NewModelFunction · 0.92
NewEnforcerFunction · 0.85
testEnforceFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…