public void TestAddRolesForUser() { var e = new Enforcer(_testModelFixture.GetNewRbacTestModel()); e.BuildRoleLinks(); _ = e.AddRolesForUser("alice", AsList("data1_admin", "data2_admin", "data3_admin")); // The "alice" already has "data2_admin" , it will be return false. So "alice" just has "data2_admin". TestGetRoles(e, "alice", AsList("data2_admin")); // delete role _ = e.DeleteRoleForUser("alice", "data2_admin"); _ = e.AddRolesForUser("alice", AsList("data1_admin", "data2_admin", "data3_admin")); TestGetRoles(e, "alice", AsList("data1_admin", "data2_admin", "data3_admin")); TestEnforce(e, "alice", "data1", "read", true); TestEnforce(e, "alice", "data2", "read", true); TestEnforce(e, "alice", "data2", "write", true); }
public void TestRoleApiWithDomains() { var e = new Enforcer(_testModelFixture.GetNewRbacWithDomainsTestModel()); e.BuildRoleLinks(); TestHasRole(e, "alice", "admin", true, "domain1"); TestHasRole(e, "alice", "admin", false, "domain2"); TestGetRoles(e, "alice", AsList("admin"), "domain1"); TestGetRoles(e, "bob", AsList(), "domain1"); TestGetRoles(e, "admin", AsList(), "domain1"); TestGetRoles(e, "non_exist", AsList(), "domain1"); TestGetRoles(e, "alice", AsList(), "domain2"); TestGetRoles(e, "bob", AsList("admin"), "domain2"); TestGetRoles(e, "admin", AsList(), "domain2"); TestGetRoles(e, "non_exist", AsList(), "domain2"); _ = e.DeleteRoleForUser("alice", "admin", "domain1"); _ = e.AddRoleForUser("bob", "admin", "domain1"); TestGetRoles(e, "alice", AsList(), "domain1"); TestGetRoles(e, "bob", AsList("admin"), "domain1"); TestGetRoles(e, "admin", AsList(), "domain1"); TestGetRoles(e, "non_exist", AsList(), "domain1"); TestGetRoles(e, "alice", AsList(), "domain2"); TestGetRoles(e, "bob", AsList("admin"), "domain2"); TestGetRoles(e, "admin", AsList(), "domain2"); TestGetRoles(e, "non_exist", AsList(), "domain2"); _ = e.AddRoleForUser("alice", "admin", "domain1"); _ = e.DeleteRolesForUser("bob", "domain1"); TestGetRoles(e, "alice", AsList("admin"), "domain1"); TestGetRoles(e, "bob", AsList(), "domain1"); TestGetRoles(e, "admin", AsList(), "domain1"); TestGetRoles(e, "non_exist", AsList(), "domain1"); TestGetRoles(e, "alice", AsList(), "domain2"); TestGetRoles(e, "bob", AsList("admin"), "domain2"); TestGetRoles(e, "admin", AsList(), "domain2"); TestGetRoles(e, "non_exist", AsList(), "domain2"); _ = e.AddRolesForUser("bob", AsList("admin", "admin1", "admin2"), "domain1"); TestGetRoles(e, "bob", AsList("admin", "admin1", "admin2"), "domain1"); TestGetPermissions(e, "admin", AsList( AsList("admin", "domain1", "data1", "read"), AsList("admin", "domain1", "data1", "write")), "domain1"); TestGetPermissions(e, "admin", AsList( AsList("admin", "domain2", "data2", "read"), AsList("admin", "domain2", "data2", "write")), "domain2"); }