(t *testing.T)
| 253 | } |
| 254 | |
| 255 | func TestModifyGroupingPolicyAPI(t *testing.T) { |
| 256 | e := newTestEngine(t, "file", "../examples/rbac_policy.csv", "../examples/rbac_model.conf") |
| 257 | |
| 258 | testGetRoles(t, e, "alice", []string{"data2_admin"}) |
| 259 | testGetRoles(t, e, "bob", []string{}) |
| 260 | testGetRoles(t, e, "eve", []string{}) |
| 261 | testGetRoles(t, e, "non_exist", []string{}) |
| 262 | |
| 263 | _, err := e.s.RemoveGroupingPolicy(e.ctx, |
| 264 | &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"alice", "data2_admin"}}) |
| 265 | assert.NoError(t, err) |
| 266 | |
| 267 | _, err = e.s.AddGroupingPolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"bob", "data1_admin"}}) |
| 268 | assert.NoError(t, err) |
| 269 | |
| 270 | _, err = e.s.AddGroupingPolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"eve", "data3_admin"}}) |
| 271 | assert.NoError(t, err) |
| 272 | |
| 273 | namedGroupingPolicy := []string{"alice", "data2_admin"} |
| 274 | testGetRoles(t, e, "alice", []string{}) |
| 275 | |
| 276 | _, err = e.s.AddNamedGroupingPolicy(e.ctx, |
| 277 | &pb.PolicyRequest{EnforcerHandler: e.h, PType: "g", Params: namedGroupingPolicy}) |
| 278 | assert.NoError(t, err) |
| 279 | |
| 280 | testGetRoles(t, e, "alice", []string{"data2_admin"}) |
| 281 | |
| 282 | _, err = e.s.RemoveNamedGroupingPolicy(e.ctx, |
| 283 | &pb.PolicyRequest{EnforcerHandler: e.h, PType: "g", Params: namedGroupingPolicy}) |
| 284 | assert.NoError(t, err) |
| 285 | |
| 286 | testGetRoles(t, e, "alice", []string{}) |
| 287 | testGetRoles(t, e, "bob", []string{"data1_admin"}) |
| 288 | testGetRoles(t, e, "eve", []string{"data3_admin"}) |
| 289 | testGetRoles(t, e, "non_exist", []string{}) |
| 290 | |
| 291 | testGetUsers(t, e, "data1_admin", []string{"bob"}) |
| 292 | testGetUsers(t, e, "data2_admin", []string{}) |
| 293 | testGetUsers(t, e, "data3_admin", []string{"eve", "george"}) |
| 294 | testGetUsers(t, e, "data4_admin", []string{"data3_admin"}) |
| 295 | |
| 296 | _, err = e.s.RemoveFilteredGroupingPolicy(e.ctx, |
| 297 | &pb.FilteredPolicyRequest{EnforcerHandler: e.h, FieldIndex: 0, FieldValues: []string{"bob"}}) |
| 298 | assert.NoError(t, err) |
| 299 | |
| 300 | testGetRoles(t, e, "alice", []string{}) |
| 301 | testGetRoles(t, e, "bob", []string{}) |
| 302 | testGetRoles(t, e, "eve", []string{"data3_admin"}) |
| 303 | testGetRoles(t, e, "non_exist", []string{}) |
| 304 | |
| 305 | testGetUsers(t, e, "data1_admin", []string{}) |
| 306 | testGetUsers(t, e, "data2_admin", []string{}) |
| 307 | testGetUsers(t, e, "data3_admin", []string{"george","eve"}) |
| 308 | } |
nothing calls this directly
no test coverage detected