UserStoreManager admin = realm.getUserStoreManager();
InputStream inStream = this.getClass().getClassLoader().getResource(JDBCRealmTest.
JDBC_TEST_USERMGT_XML).openStream();
RealmConfigXMLProcessor realmConfigProcessor = new RealmConfigXMLProcessor();
RealmConfiguration realmConfig = realmConfigProcessor.buildRealmConfiguration(inStream);
admin.addRole("role2", null, null);
admin.addRole("role3", null, null);
admin.addRole("role4", null, null);
assertEquals(7, admin.getRoleNames().length);//admin,everyone,role1,role2,role3,role4
//Test delete role method
assertTrue(admin.isExistingRole("role3"));
admin.deleteRole("role3");
admin.deleteRole("role4");
assertFalse(admin.isExistingRole("role3"));
admin.addRole("role3", null, null);
admin.addRole("role4", null, null);
//add users
admin.addUser("saman", "pass1", null, null, null, false);
admin.addUser("amara", "pass2", null, null, null, false);
admin.addUser("sunil", "pass3", null, null, null, false);
//update the ROLE list of USERS
admin.updateRoleListOfUser("saman", null, new String[] { "role2" });
admin.updateRoleListOfUser("saman", new String[] { "role2" }, new String[] { "role4",
"role3" });
try{
admin.updateRoleListOfUser(null, null, new String[] { "role2" });
fail("Exceptions at missing user name");
}catch(Exception ex){
//expected user
}
// Renaming Role
admin.updateRoleName("role4", "role5");
String[] rolesOfSaman = admin.getRoleListOfUser("saman");
assertEquals(3, rolesOfSaman.length);
String[] rolesOfisuru = admin.getRoleListOfUser("isuru");
assertEquals(0, rolesOfisuru.length);
admin.updateUserListOfRole("role2", new String[] { "saman" }, null);
admin.updateUserListOfRole("role3", null, new String[] { "amara", "sunil" });
String[] userOfRole5 = admin.getUserListOfRole("role5");
assertEquals(1, userOfRole5.length);
String[] userOfRole4 = admin.getUserListOfRole("role4");
assertEquals(0, userOfRole4.length);
try {
admin.updateUserListOfRole("rolexx", null, new String[] { "amara", "sunil" });
TestCase.assertTrue(false);
} catch (Exception e) {
// exptected error in negative testing
}
try {
admin.updateUserListOfRole("role2", null, new String[] { "d" });
TestCase.assertTrue(false);
} catch (Exception e) {
// exptected error in negative testing
}
try {
admin.updateRoleListOfUser("saman", new String[] { "x" }, new String[] { "y" });
TestCase.assertTrue(false);
} catch (Exception e) {
// exptected error in negative testing
}
try {
admin.updateUserListOfRole (realmConfig.getAdminRoleName(),null,
new String[] {realmConfig.getAdminUserName()});
TestCase.assertTrue(false);
} catch (Exception e) {
// exptected error in negative testing
}
try {
admin.updateRoleListOfUser(realmConfig.getAdminUserName(),new String[]{realmConfig.
getAdminRoleName()},null);
TestCase.assertTrue(false);
} catch (Exception e) {
// exptected error in negative testing
}
try {
admin.updateUserListOfRole(realmConfig.getEveryOneRoleName(),new String[] {"saman"},
null);
TestCase.assertTrue(false);
} catch (Exception e) {
// exptected error in negative testing
}
try {
admin.updateRoleListOfUser("sunil",new String[]{realmConfig.getEveryOneRoleName()},
null);
TestCase.assertTrue(false);
} catch (Exception e) {
// exptected error in negative testing
}