public void testGetEveryone() { Principal principal = principalMgr.getEveryone(); assertTrue(principal != null); assertTrue(isGroup(principal)); }
public void testHasPrincipal() { assertTrue(principalMgr.hasPrincipal(everyone.getName())); Principal[] pcpls = getPrincipals(superuser); for (Principal pcpl : pcpls) { assertTrue(principalMgr.hasPrincipal(pcpl.getName())); } }
public void testFindPrincipal() { Principal[] pcpls = getPrincipals(superuser); for (Principal pcpl : pcpls) { if (pcpl.equals(everyone)) { continue; } PrincipalIterator it = principalMgr.findPrincipals(pcpl.getName()); // search must find at least a single principal assertTrue("findPrincipals does not find principal with filter " + pcpl.getName(), it.hasNext()); } }
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 testSuperUserIsEveryOne() { Principal[] pcpls = getPrincipals(superuser); for (Principal pcpl : pcpls) { if (!(pcpl.equals(everyone))) { assertTrue(everyone.isMember(pcpl)); } } }
public void testGetAllPrincipals() { PrincipalIterator it = principalMgr.getPrincipals(PrincipalManager.SEARCH_TYPE_ALL); while (it.hasNext()) { Principal p = it.nextPrincipal(); assertTrue(principalMgr.hasPrincipal(p.getName())); assertEquals(principalMgr.getPrincipal(p.getName()), p); } }
assertTrue(containedInResult); assertTrue(containedInResult);
public void testGetGroupPrincipals() { PrincipalIterator it = principalMgr.getPrincipals(PrincipalManager.SEARCH_TYPE_GROUP); while (it.hasNext()) { Principal p = it.nextPrincipal(); assertTrue(isGroup(p)); } }
public void testReadOnlyIsEveryOne() throws RepositoryException { Session s = getHelper().getReadOnlySession(); try { Principal[] pcpls = getPrincipals(s); for (Principal pcpl : pcpls) { if (!(pcpl.equals(everyone))) { assertTrue(everyone.isMember(pcpl)); } } } finally { s.logout(); } }
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 testFindPrincipalByTypeAll() { Principal[] pcpls = getPrincipals(superuser); for (Principal pcpl : pcpls) { if (pcpl.equals(everyone)) { // special case covered by another test continue; } PrincipalIterator it = principalMgr.findPrincipals(pcpl.getName(), PrincipalManager.SEARCH_TYPE_ALL); PrincipalIterator it2 = principalMgr.findPrincipals(pcpl.getName()); // both search must reveal the same result and size assertTrue(it.getSize() == it2.getSize()); Set<Principal> s1 = new HashSet<Principal>(); Set<Principal> s2 = new HashSet<Principal>(); while (it.hasNext() && it2.hasNext()) { s1.add(it.nextPrincipal()); s2.add(it2.nextPrincipal()); } assertEquals(s1, s2); assertFalse(it.hasNext() && it2.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); } } }