public void testGetEveryone() { Principal principal = principalMgr.getEveryone(); assertTrue(principal != null); assertTrue(isGroup(principal)); }
public void testGroupMembers() { PrincipalIterator it = principalMgr.getPrincipals(PrincipalManager.SEARCH_TYPE_ALL); while (it.hasNext()) { Principal p = it.nextPrincipal(); if (isGroup(p) && !p.equals(principalMgr.getEveryone())) { Enumeration<? extends Principal> en = ((GroupPrincipal) p).members(); while (en.hasMoreElements()) { Principal memb = en.nextElement(); assertTrue(principalMgr.hasPrincipal(memb.getName())); } } } }
public void testGetGroupPrincipals() { PrincipalIterator it = principalMgr.getPrincipals(PrincipalManager.SEARCH_TYPE_GROUP); while (it.hasNext()) { Principal p = it.nextPrincipal(); assertTrue(isGroup(p)); } }
public void testGetPrincipals() { PrincipalIterator it = principalMgr.getPrincipals(PrincipalManager.SEARCH_TYPE_NOT_GROUP); while (it.hasNext()) { Principal p = it.nextPrincipal(); assertFalse(isGroup(p)); } }
public void testFindPrincipalByType() { Principal[] pcpls = getPrincipals(superuser); for (Principal pcpl : pcpls) { if (pcpl.equals(everyone)) { // special case covered by another test continue; } if (isGroup(pcpl)) { PrincipalIterator it = principalMgr.findPrincipals(pcpl.getName(), PrincipalManager.SEARCH_TYPE_GROUP); // search must find at least a single matching group principal assertTrue("findPrincipals does not find principal with filter " + pcpl.getName(), it.hasNext()); } else { PrincipalIterator it = principalMgr.findPrincipals(pcpl.getName(), PrincipalManager.SEARCH_TYPE_NOT_GROUP); // search must find at least a single matching non-group principal assertTrue("findPrincipals does not find principal with filter " + pcpl.getName(), it.hasNext()); } } }
public void testGetMembersConsistentWithMembership() { Principal everyone = principalMgr.getEveryone(); PrincipalIterator it = principalMgr.getPrincipals(PrincipalManager.SEARCH_TYPE_GROUP); while (it.hasNext()) { Principal p = it.nextPrincipal(); if (p.equals(everyone)) { continue; } assertTrue(isGroup(p)); Enumeration<? extends Principal> members = ((GroupPrincipal) p).members(); while (members.hasMoreElements()) { Principal memb = members.nextElement(); Principal group = null; PrincipalIterator mship = principalMgr.getGroupMembership(memb); while (mship.hasNext() && group == null) { Principal gr = mship.nextPrincipal(); if (p.equals(gr)) { group = gr; } } assertNotNull("Group member " + memb.getName() + "does not reveal group upon getGroupMembership", p.getName()); } } }
private void testMembership(int searchType) { PrincipalIterator it = principalMgr.getPrincipals(searchType); while (it.hasNext()) { Principal p = it.nextPrincipal(); if (p.equals(everyone)) { for (PrincipalIterator membership = principalMgr.getGroupMembership(p); membership.hasNext();) { Principal gr = membership.nextPrincipal(); assertTrue(isGroup(gr)); if (gr.equals(everyone)) { fail("Everyone must never be a member of the EveryOne group."); } } } else { boolean atleastEveryone = false; for (PrincipalIterator membership = principalMgr.getGroupMembership(p); membership.hasNext();) { Principal gr = membership.nextPrincipal(); assertTrue(isGroup(gr)); if (gr.equals(everyone)) { atleastEveryone = true; } } assertTrue("All principals (except everyone) must be member of the everyone group.", atleastEveryone); } } }