public void doRoleStuff() throws Exception { UserStoreManager admin = realm.getUserStoreManager(); admin.addRole("role2", null, null); admin.addRole("role3", null, null); admin.addRole("role4", null, null); admin.updateRoleListOfUser("saman", null, new String[] {"role2"}); admin.updateRoleListOfUser("saman", new String[] {"role2"}, new String[] {"role4", "role3"}); String[] rolesOfSaman = admin.getRoleListOfUser("saman"); assertEquals(3, rolesOfSaman.length); // negative admin.updateUserListOfRole("role2", new String[] {"saman"}, null); admin.updateUserListOfRole("role3", null, new String[] {"amara", "sunil"}); // negative try { // wrong roles admin.updateRoleListOfUser("saman", new String[] {"x"}, new String[] {"y"}); TestCase.assertTrue(false); } catch (Exception e) { // exptected error in negative testing } // wrong users - must pass because we don't know the external users. admin.updateUserListOfRole("role2", null, new String[] {"d"}); }
public void doUserRoleStuff() throws Exception { 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(6, 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 if (log.isDebugEnabled()) { log.debug("Expected error, hence ignored", ex); } } // 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 if (log.isDebugEnabled()) { log.debug("Expected error, hence ignored", e); } } try { admin.updateUserListOfRole("role2", null, new String[] {"d"}); TestCase.assertTrue(false); } catch (Exception e) { // exptected error in negative testing if (log.isDebugEnabled()) { log.debug("Expected error, hence ignored", e); } } try { admin.updateRoleListOfUser("saman", new String[] {"x"}, new String[] {"y"}); TestCase.assertTrue(false); } catch (Exception e) { // exptected error in negative testing if (log.isDebugEnabled()) { log.debug("Expected error, hence ignored", e); } } try { admin.updateUserListOfRole( realmConfig.getAdminRoleName(), null, new String[] {realmConfig.getAdminUserName()}); TestCase.assertTrue(false); } catch (Exception e) { // exptected error in negative testing if (log.isDebugEnabled()) { log.debug("Expected error, hence ignored", e); } } try { admin.updateRoleListOfUser( realmConfig.getAdminUserName(), new String[] {realmConfig.getAdminRoleName()}, null); TestCase.assertTrue(false); } catch (Exception e) { // exptected error in negative testing if (log.isDebugEnabled()) { log.debug("Expected error, hence ignored", e); } } try { admin.updateUserListOfRole(realmConfig.getEveryOneRoleName(), new String[] {"saman"}, null); TestCase.assertTrue(false); } catch (Exception e) { // exptected error in negative testing if (log.isDebugEnabled()) { log.debug("Expected error, hence ignored", e); } } try { admin.updateRoleListOfUser("sunil", new String[] {realmConfig.getEveryOneRoleName()}, null); TestCase.assertTrue(false); } catch (Exception e) { // exptected error in negative testing if (log.isDebugEnabled()) { log.debug("Expected error, hence ignored", e); } } try { admin.updateRoleName("role2", "role5"); TestCase.assertTrue(false); } catch (Exception e) { // exptected error in negative testing if (log.isDebugEnabled()) { log.debug("Expected error, hence ignored", e); } } }