(t *testing.T)
| 281 | } |
| 282 | |
| 283 | func TestModifyGroupingPolicyAPI(t *testing.T) { |
| 284 | e, _ := NewEnforcer("examples/rbac_model.conf", "examples/rbac_policy.csv") |
| 285 | |
| 286 | testGetRoles(t, e, []string{"data2_admin"}, "alice") |
| 287 | testGetRoles(t, e, []string{}, "bob") |
| 288 | testGetRoles(t, e, []string{}, "eve") |
| 289 | testGetRoles(t, e, []string{}, "non_exist") |
| 290 | |
| 291 | _, _ = e.RemoveGroupingPolicy("alice", "data2_admin") |
| 292 | _, _ = e.AddGroupingPolicy("bob", "data1_admin") |
| 293 | _, _ = e.AddGroupingPolicy("eve", "data3_admin") |
| 294 | |
| 295 | groupingRules := [][]string{ |
| 296 | {"ham", "data4_admin"}, |
| 297 | {"jack", "data5_admin"}, |
| 298 | } |
| 299 | |
| 300 | _, _ = e.AddGroupingPolicies(groupingRules) |
| 301 | testGetRoles(t, e, []string{"data4_admin"}, "ham") |
| 302 | testGetRoles(t, e, []string{"data5_admin"}, "jack") |
| 303 | _, _ = e.RemoveGroupingPolicies(groupingRules) |
| 304 | |
| 305 | testGetRoles(t, e, []string{}, "alice") |
| 306 | namedGroupingPolicy := []string{"alice", "data2_admin"} |
| 307 | testGetRoles(t, e, []string{}, "alice") |
| 308 | _, _ = e.AddNamedGroupingPolicy("g", namedGroupingPolicy) |
| 309 | testGetRoles(t, e, []string{"data2_admin"}, "alice") |
| 310 | _, _ = e.RemoveNamedGroupingPolicy("g", namedGroupingPolicy) |
| 311 | |
| 312 | _, _ = e.AddNamedGroupingPolicies("g", groupingRules) |
| 313 | _, _ = e.AddNamedGroupingPolicies("g", groupingRules) |
| 314 | testGetRoles(t, e, []string{"data4_admin"}, "ham") |
| 315 | testGetRoles(t, e, []string{"data5_admin"}, "jack") |
| 316 | _, _ = e.RemoveNamedGroupingPolicies("g", groupingRules) |
| 317 | _, _ = e.RemoveNamedGroupingPolicies("g", groupingRules) |
| 318 | |
| 319 | testGetRoles(t, e, []string{}, "alice") |
| 320 | testGetRoles(t, e, []string{"data1_admin"}, "bob") |
| 321 | testGetRoles(t, e, []string{"data3_admin"}, "eve") |
| 322 | testGetRoles(t, e, []string{}, "non_exist") |
| 323 | |
| 324 | testGetUsers(t, e, []string{"bob"}, "data1_admin") |
| 325 | testGetUsers(t, e, []string{}, "data2_admin") |
| 326 | testGetUsers(t, e, []string{"eve"}, "data3_admin") |
| 327 | |
| 328 | _, _ = e.RemoveFilteredGroupingPolicy(0, "bob") |
| 329 | |
| 330 | testGetRoles(t, e, []string{}, "alice") |
| 331 | testGetRoles(t, e, []string{}, "bob") |
| 332 | testGetRoles(t, e, []string{"data3_admin"}, "eve") |
| 333 | testGetRoles(t, e, []string{}, "non_exist") |
| 334 | |
| 335 | testGetUsers(t, e, []string{}, "data1_admin") |
| 336 | testGetUsers(t, e, []string{}, "data2_admin") |
| 337 | testGetUsers(t, e, []string{"eve"}, "data3_admin") |
| 338 | _, _ = e.AddGroupingPolicy("data3_admin", "data4_admin") |
| 339 | _, _ = e.UpdateGroupingPolicy([]string{"eve", "data3_admin"}, []string{"eve", "admin"}) |
| 340 | _, _ = e.UpdateGroupingPolicy([]string{"data3_admin", "data4_admin"}, []string{"admin", "data4_admin"}) |
nothing calls this directly
no test coverage detected
searching dependent graphs…