@Test public void testCorrespondance() { boolean exists = principalManager.hasPrincipal(testPrincipalName); Principal principal = principalManager.getPrincipal(testPrincipalName); PrincipalIterator principalIterator = principalManager.findPrincipals(testPrincipalName, PrincipalManager.SEARCH_TYPE_ALL); PrincipalIterator groups = principalManager.getGroupMembership(principal); PrincipalIterator all = principalManager.getPrincipals(PrincipalManager.SEARCH_TYPE_ALL); // EXERCISE: write the corresponding calls for the principal provider and verify the expected result // EXERCISE: which methods have nor corresponding call in the other interface? }
@NotNull @Override public Principal perform() { return principalManager.getEveryone(); } });
@Override public void runTest() throws Exception { PrincipalManager principalManager = ((JackrabbitSession) session).getPrincipalManager(); for (int i = 0; i < 1000; i++) { Principal p = principalManager.getPrincipal(principalName); PrincipalIterator principals = principalManager.getGroupMembership(p); // while (principals.hasNext()) { // Principal groupPrincipal = principals.nextPrincipal(); // } } } }
@Override public Principal performNullable() { return principalManager.getPrincipal(principalName); } });
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); } }
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 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()); } } }
/** * @since oak */ @Test public void testGetEveryoneByName() { assertTrue(principalMgr.hasPrincipal(EveryonePrincipal.NAME)); assertNotNull(principalMgr.getPrincipal(EveryonePrincipal.NAME)); assertEquals(EveryonePrincipal.getInstance(), principalMgr.getPrincipal(EveryonePrincipal.NAME)); }
@NotNull @Override public Boolean perform() { return principalManager.hasPrincipal(principalName); } });
@Test public void testFindEveryone() { Principal everyone = principalMgr.getEveryone(); assertTrue(principalMgr.hasPrincipal(everyone.getName())); PrincipalIterator it = principalMgr.findPrincipals(everyone.getName()); while (it.hasNext()) { Principal p = it.nextPrincipal(); it = principalMgr.findPrincipals(everyone.getName(), PrincipalManager.SEARCH_TYPE_GROUP); while (it.hasNext()) { Principal p = it.nextPrincipal(); it = principalMgr.findPrincipals(everyone.getName(), PrincipalManager.SEARCH_TYPE_NOT_GROUP); while (it.hasNext()) { Principal p = it.nextPrincipal();
@NotNull @Override public PrincipalIterator perform() { return principalManager.getGroupMembership(principal); } });
public void testAccessByName() throws RepositoryException { Principal everyone = principalManager.getEveryone(); assertTrue(principalManager.hasPrincipal(everyone.getName())); Principal everyoneByName = null; // EXERCISE: retrieve the everyone principal by name assertEquals(everyone, everyoneByName); }
private void testMembership(int searchType) { PrincipalIterator it = principalMgr.getPrincipals(searchType); while (it.hasNext()) { Principal p = it.nextPrincipal(); if (p.equals(everyone)) { continue; } 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); } }
@Test public void testFindPrincipal() { for (Principal pcpl : adminPrincipals) { if (pcpl.equals(everyone)) { continue; } assertTrue(principalMgr.hasPrincipal(pcpl.getName())); 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 testFindEveryone() { Principal everyone = principalMgr.getEveryone(); PrincipalIterator it = principalMgr.findPrincipals(everyone.getName()); while (it.hasNext()) { Principal p = it.nextPrincipal(); it = principalMgr.findPrincipals(everyone.getName(), PrincipalManager.SEARCH_TYPE_GROUP); while (it.hasNext()) { Principal p = it.nextPrincipal(); it = principalMgr.findPrincipals(everyone.getName(), PrincipalManager.SEARCH_TYPE_NOT_GROUP); while (it.hasNext()) { Principal p = it.nextPrincipal();
public void testEveryoneIsMemberofEveryone() throws RepositoryException { GroupPrincipal everyone = (GroupPrincipal) principalManager.getEveryone(); PrincipalIterator it = principalManager.getPrincipals(PrincipalManager.SEARCH_TYPE_ALL); // EXERCISE: discuss the dynamic nature of the everyone group principal while (it.hasNext()) { Principal principal = it.nextPrincipal(); if (everyone.equals(principal)) { assertFalse(everyone.isMember(principal)); } else { assertTrue(everyone.isMember(principal)); } } }
@NotNull @Override public PrincipalIterator perform() { return principalManager.getPrincipals(searchType); } });
@NotNull @Override public PrincipalIterator perform() { return principalManager.findPrincipals(simpleFilter); } });
@Override public Principal performNullable() { return principalManager.getPrincipal(principalName); } });
public void testGetGroupMembership() throws RepositoryException { Principal principal = principalManager.getPrincipal(testPrincipalName); PrincipalIterator groups = principalManager.getGroupMembership(principal); // EXERCISE: what group principals do you expect here? }