You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2013/07/31 11:12:28 UTC
svn commit: r1508780 - in /jackrabbit/oak/trunk:
oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java
oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/principal/PrincipalManagerTest.java
Author: angela
Date: Wed Jul 31 09:12:28 2013
New Revision: 1508780
URL: http://svn.apache.org/r1508780
Log:
OAK-90 : Implement Principal Management
- add tests for everyone group
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/principal/PrincipalManagerTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java?rev=1508780&r1=1508779&r2=1508780&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java Wed Jul 31 09:12:28 2013
@@ -18,6 +18,7 @@ package org.apache.jackrabbit.oak.securi
import java.security.Principal;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -25,6 +26,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import com.google.common.collect.ImmutableSet;
import org.apache.jackrabbit.api.security.principal.PrincipalManager;
import org.apache.jackrabbit.api.security.user.Group;
import org.apache.jackrabbit.api.security.user.User;
@@ -95,6 +97,38 @@ public class PrincipalProviderImplTest e
}
@Test
+ public void testEveryoneMembers() throws Exception {
+ Principal everyone = principalProvider.getPrincipal(EveryonePrincipal.NAME);
+ assertTrue(everyone instanceof EveryonePrincipal);
+
+ Group everyoneGroup = null;
+ try {
+ UserManager userMgr = getUserManager(root);
+ everyoneGroup = userMgr.createGroup(EveryonePrincipal.NAME);
+ root.commit();
+
+ Principal ep = principalProvider.getPrincipal(EveryonePrincipal.NAME);
+ Set<? extends Principal> everyoneMembers = ImmutableSet.copyOf(Collections.list(((java.security.acl.Group) ep).members()));
+
+ Iterator<? extends Principal> all = principalProvider.findPrincipals(PrincipalManager.SEARCH_TYPE_ALL);
+ while (all.hasNext()) {
+ Principal p = all.next();
+ if (everyone.equals(p)) {
+ assertFalse(everyoneMembers.contains(p));
+ } else {
+ assertTrue(everyoneMembers.contains(p));
+ }
+ }
+
+ } finally {
+ if (everyoneGroup != null) {
+ everyoneGroup.remove();
+ root.commit();
+ }
+ }
+ }
+
+ @Test
public void testFindUserPrincipal() throws Exception {
User testUser = null;
try {
Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/principal/PrincipalManagerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/principal/PrincipalManagerTest.java?rev=1508780&r1=1508779&r2=1508780&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/principal/PrincipalManagerTest.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/principal/PrincipalManagerTest.java Wed Jul 31 09:12:28 2013
@@ -175,11 +175,14 @@ public class PrincipalManagerTest extend
}
@Test
- public void testGroupMembers() {
+ public void testMembers() {
PrincipalIterator it = principalMgr.getPrincipals(PrincipalManager.SEARCH_TYPE_ALL);
while (it.hasNext()) {
Principal p = it.nextPrincipal();
- if (isGroup(p) && !p.equals(principalMgr.getEveryone())) {
+ if (p.equals(principalMgr.getEveryone())) {
+ continue;
+ }
+ if (isGroup(p)) {
Enumeration<? extends Principal> en = ((java.security.acl.Group) p).members();
while (en.hasMoreElements()) {
Principal memb = en.nextElement();
@@ -201,24 +204,28 @@ public class PrincipalManagerTest extend
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;
- }
+ 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);
+ }
+ assertTrue("All principals (except everyone) must be member of the everyone group.", atleastEveryone);
+ }
+ }
+ @Test
+ public void testEveryoneGroupMembership() {
+ Principal everyone = EveryonePrincipal.getInstance();
+ for (PrincipalIterator membership = principalMgr.getGroupMembership(everyone); membership.hasNext();) {
+ Principal gr = membership.nextPrincipal();
+ assertTrue(isGroup(gr));
+ if (gr.equals(everyone)) {
+ fail("Everyone must never be a member of the EveryOne group.");
}
}
}