MCPcopy Index your code
hub / github.com/apache/casbin / TestGetPolicyAPI

Function TestGetPolicyAPI

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

Source from the content-addressed store, hash-verified

153}
154
155func TestGetPolicyAPI(t *testing.T) {
156 e, _ := NewEnforcer("examples/rbac_model.conf", "examples/rbac_policy.csv")
157
158 testGetPolicy(t, e, [][]string{
159 {"alice", "data1", "read"},
160 {"bob", "data2", "write"},
161 {"data2_admin", "data2", "read"},
162 {"data2_admin", "data2", "write"}})
163
164 testGetFilteredPolicy(t, e, 0, [][]string{{"alice", "data1", "read"}}, "alice")
165 testGetFilteredPolicy(t, e, 0, [][]string{{"bob", "data2", "write"}}, "bob")
166 testGetFilteredPolicy(t, e, 0, [][]string{{"data2_admin", "data2", "read"}, {"data2_admin", "data2", "write"}}, "data2_admin")
167 testGetFilteredPolicy(t, e, 1, [][]string{{"alice", "data1", "read"}}, "data1")
168 testGetFilteredPolicy(t, e, 1, [][]string{{"bob", "data2", "write"}, {"data2_admin", "data2", "read"}, {"data2_admin", "data2", "write"}}, "data2")
169 testGetFilteredPolicy(t, e, 2, [][]string{{"alice", "data1", "read"}, {"data2_admin", "data2", "read"}}, "read")
170 testGetFilteredPolicy(t, e, 2, [][]string{{"bob", "data2", "write"}, {"data2_admin", "data2", "write"}}, "write")
171
172 testGetFilteredNamedPolicyWithMatcher(t, e, "p", "'alice' == p.sub", [][]string{{"alice", "data1", "read"}})
173 testGetFilteredNamedPolicyWithMatcher(t, e, "p", "keyMatch2(p.sub, '*')", [][]string{
174 {"alice", "data1", "read"},
175 {"bob", "data2", "write"},
176 {"data2_admin", "data2", "read"},
177 {"data2_admin", "data2", "write"}})
178
179 testGetFilteredPolicy(t, e, 0, [][]string{{"data2_admin", "data2", "read"}, {"data2_admin", "data2", "write"}}, "data2_admin", "data2")
180 // Note: "" (empty string) in fieldValues means matching all values.
181 testGetFilteredPolicy(t, e, 0, [][]string{{"data2_admin", "data2", "read"}}, "data2_admin", "", "read")
182 testGetFilteredPolicy(t, e, 1, [][]string{{"bob", "data2", "write"}, {"data2_admin", "data2", "write"}}, "data2", "write")
183
184 testHasPolicy(t, e, []string{"alice", "data1", "read"}, true)
185 testHasPolicy(t, e, []string{"bob", "data2", "write"}, true)
186 testHasPolicy(t, e, []string{"alice", "data2", "read"}, false)
187 testHasPolicy(t, e, []string{"bob", "data3", "write"}, false)
188
189 testGetGroupingPolicy(t, e, [][]string{{"alice", "data2_admin"}})
190
191 testGetFilteredGroupingPolicy(t, e, 0, [][]string{{"alice", "data2_admin"}}, "alice")
192 testGetFilteredGroupingPolicy(t, e, 0, [][]string{}, "bob")
193 testGetFilteredGroupingPolicy(t, e, 1, [][]string{}, "data1_admin")
194 testGetFilteredGroupingPolicy(t, e, 1, [][]string{{"alice", "data2_admin"}}, "data2_admin")
195 // Note: "" (empty string) in fieldValues means matching all values.
196 testGetFilteredGroupingPolicy(t, e, 0, [][]string{{"alice", "data2_admin"}}, "", "data2_admin")
197
198 testHasGroupingPolicy(t, e, []string{"alice", "data2_admin"}, true)
199 testHasGroupingPolicy(t, e, []string{"bob", "data2_admin"}, false)
200}
201
202func TestModifyPolicyAPI(t *testing.T) {
203 e, _ := NewEnforcer("examples/rbac_model.conf", "examples/rbac_policy.csv")

Callers

nothing calls this directly

Calls 8

NewEnforcerFunction · 0.85
testGetPolicyFunction · 0.85
testGetFilteredPolicyFunction · 0.85
testHasPolicyFunction · 0.85
testGetGroupingPolicyFunction · 0.85
testHasGroupingPolicyFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…