(t *testing.T)
| 208 | } |
| 209 | |
| 210 | func TestModifyPolicyAPI(t *testing.T) { |
| 211 | e := newTestEngine(t, "file", "../examples/rbac_policy.csv", "../examples/rbac_model.conf") |
| 212 | |
| 213 | testGetPolicy(t, e, [][]string{ |
| 214 | {"alice", "data1", "read"}, |
| 215 | {"bob", "data2", "write"}, |
| 216 | {"data2_admin", "data2", "read"}, |
| 217 | {"data2_admin", "data2", "write"}, |
| 218 | {"data3_admin", "data3", "admin"}, |
| 219 | {"data4_admin", "data4", "read"}}) |
| 220 | |
| 221 | _, err := e.s.RemovePolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"alice", "data1", "read"}}) |
| 222 | assert.NoError(t, err) |
| 223 | _, err = e.s.RemovePolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"bob", "data2", "write"}}) |
| 224 | assert.NoError(t, err) |
| 225 | _, err = e.s.RemovePolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"alice", "data1", "read"}}) |
| 226 | assert.NoError(t, err) |
| 227 | |
| 228 | _, err = e.s.AddPolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"eve", "data3", "read"}}) |
| 229 | assert.NoError(t, err) |
| 230 | _, err = e.s.AddPolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, Params: []string{"eve", "data3", "read"}}) |
| 231 | assert.NoError(t, err) |
| 232 | |
| 233 | namedPolicy := []string{"eve", "data3", "read"} |
| 234 | _, err = e.s.RemovePolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, PType: "p", Params: namedPolicy}) |
| 235 | assert.NoError(t, err) |
| 236 | _, err = e.s.AddNamedPolicy(e.ctx, &pb.PolicyRequest{EnforcerHandler: e.h, PType: "p", Params: namedPolicy}) |
| 237 | assert.NoError(t, err) |
| 238 | |
| 239 | testGetPolicy(t, e, [][]string{ |
| 240 | {"data2_admin", "data2", "read"}, |
| 241 | {"data2_admin", "data2", "write"}, |
| 242 | {"data3_admin", "data3", "admin"}, |
| 243 | {"data4_admin", "data4", "read"}, |
| 244 | {"eve", "data3", "read"}}) |
| 245 | |
| 246 | _, err = e.s.RemoveFilteredPolicy(e.ctx, &pb.FilteredPolicyRequest{EnforcerHandler: e.h, FieldIndex: 1, FieldValues: []string{"data2"}}) |
| 247 | assert.NoError(t, err) |
| 248 | |
| 249 | _, err = e.s.RemoveFilteredPolicy(e.ctx, &pb.FilteredPolicyRequest{EnforcerHandler: e.h, FieldIndex: 1, FieldValues: []string{"data4"}}) |
| 250 | assert.NoError(t, err) |
| 251 | |
| 252 | testGetPolicy(t, e, [][]string{{"data3_admin", "data3", "admin"},{"eve", "data3", "read"}}) |
| 253 | } |
| 254 | |
| 255 | func TestModifyGroupingPolicyAPI(t *testing.T) { |
| 256 | e := newTestEngine(t, "file", "../examples/rbac_policy.csv", "../examples/rbac_model.conf") |
nothing calls this directly
no test coverage detected