You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by an...@apache.org on 2010/12/10 16:46:57 UTC
svn commit: r1044407 - in /jackrabbit/branches/2.2: ./
jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/
jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/
jackrabbit-core/src/test/java/org/apache/jackrab...
Author: angela
Date: Fri Dec 10 15:46:57 2010
New Revision: 1044407
URL: http://svn.apache.org/viewvc?rev=1044407&view=rev
Log:
JCR-2840 : Inconsistencies if "everyone" Group is created by User Management (merging changes from trunk)
Added:
jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/principal/EveryonePrincipalTest.java
- copied unchanged from r1044312, jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/principal/EveryonePrincipalTest.java
jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/GroupImplTest.java
- copied unchanged from r1044312, jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/GroupImplTest.java
Modified:
jackrabbit/branches/2.2/ (props changed)
jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/DefaultPrincipalProvider.java
jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/EveryonePrincipal.java
jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalImpl.java
jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalManagerImpl.java
jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/AuthorizableImpl.java
jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/GroupImpl.java
jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserManagerImpl.java
jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/principal/TestAll.java
jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/DefaultPrincipalProviderTest.java
jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/TestAll.java
jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/UserManagerImplTest.java
Propchange: jackrabbit/branches/2.2/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Dec 10 15:46:57 2010
@@ -2,4 +2,4 @@
/jackrabbit/sandbox/JCR-1456:774917-886178
/jackrabbit/sandbox/JCR-2170:812417-816332
/jackrabbit/sandbox/tripod-JCR-2209:795441-795863
-/jackrabbit/trunk:1038201,1038203,1038205,1038657,1039064,1039347,1039408,1039422-1039423,1039888,1039946,1040033,1040090,1040459,1040601,1040606,1040661,1040958,1041379,1041439,1041761,1042643,1042647,1042978-1042982,1043084-1043086,1043088,1043343,1043357-1043358,1043430,1043554,1043616,1043618,1043637,1043656
+/jackrabbit/trunk:1038201,1038203,1038205,1038657,1039064,1039347,1039408,1039422-1039423,1039888,1039946,1040033,1040090,1040459,1040601,1040606,1040661,1040958,1041379,1041439,1041761,1042643,1042647,1042978-1042982,1043084-1043086,1043088,1043343,1043357-1043358,1043430,1043554,1043616,1043618,1043637,1043656,1044312
Modified: jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/DefaultPrincipalProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/DefaultPrincipalProvider.java?rev=1044407&r1=1044406&r2=1044407&view=diff
==============================================================================
--- jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/DefaultPrincipalProvider.java (original)
+++ jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/DefaultPrincipalProvider.java Fri Dec 10 15:46:57 2010
@@ -121,15 +121,13 @@ public class DefaultPrincipalProvider ex
*/
@Override
protected Principal providePrincipal(String principalName) {
- // check for 'everyone'
- if (everyonePrincipal.getName().equals(principalName)) {
- return everyonePrincipal;
- }
try {
Principal principal = new PrincipalImpl(principalName);
Authorizable ath = userManager.getAuthorizable(principal);
if (ath != null) {
return ath.getPrincipal();
+ } else if (EveryonePrincipal.NAME.equals(principalName)) {
+ return everyonePrincipal;
}
} catch (RepositoryException e) {
log.error("Failed to access Authorizable for Principal " + principalName, e);
@@ -351,6 +349,9 @@ public class DefaultPrincipalProvider ex
while (authorizableItr.hasNext()) {
try {
Principal p = authorizableItr.next().getPrincipal();
+ if (everyonePrincipal.equals(p)) {
+ addEveryone = false;
+ }
addToCache(p);
return p;
} catch (RepositoryException e) {
Modified: jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/EveryonePrincipal.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/EveryonePrincipal.java?rev=1044407&r1=1044406&r2=1044407&view=diff
==============================================================================
--- jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/EveryonePrincipal.java (original)
+++ jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/EveryonePrincipal.java Fri Dec 10 15:46:57 2010
@@ -16,15 +16,17 @@
*/
package org.apache.jackrabbit.core.security.principal;
+import org.apache.jackrabbit.api.security.principal.JackrabbitPrincipal;
+
import java.security.Principal;
import java.util.Enumeration;
/**
* The EveryonePrincipal contains all principals (excluding itself).
*/
-public final class EveryonePrincipal implements java.security.acl.Group {
+public final class EveryonePrincipal implements java.security.acl.Group, JackrabbitPrincipal {
- private static final String NAME = "everyone";
+ public static final String NAME = "everyone";
private static final EveryonePrincipal INSTANCE = new EveryonePrincipal();
private EveryonePrincipal() { }
@@ -64,6 +66,11 @@ public final class EveryonePrincipal imp
@Override
public boolean equals(Object obj) {
- return obj == this || obj instanceof EveryonePrincipal;
+ if (obj == this || obj instanceof EveryonePrincipal) {
+ return true;
+ } else if (obj instanceof JackrabbitPrincipal) {
+ return NAME.equals(((JackrabbitPrincipal) obj).getName());
+ }
+ return false;
}
}
Modified: jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalImpl.java?rev=1044407&r1=1044406&r2=1044407&view=diff
==============================================================================
--- jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalImpl.java (original)
+++ jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalImpl.java Fri Dec 10 15:46:57 2010
@@ -66,7 +66,6 @@ public class PrincipalImpl implements Ja
return true;
}
if (obj instanceof JackrabbitPrincipal) {
- // TODO: check if correct
return name.equals(((Principal) obj).getName());
}
return false;
Modified: jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalManagerImpl.java?rev=1044407&r1=1044406&r2=1044407&view=diff
==============================================================================
--- jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalManagerImpl.java (original)
+++ jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalManagerImpl.java Fri Dec 10 15:46:57 2010
@@ -144,7 +144,11 @@ public class PrincipalManagerImpl implem
*/
public Principal getEveryone() {
checkIsValid();
- return EveryonePrincipal.getInstance();
+ Principal everyone = getPrincipal(EveryonePrincipal.NAME);
+ if (everyone == null) {
+ everyone = EveryonePrincipal.getInstance();
+ }
+ return everyone;
}
//--------------------------------------------------------------------------
Modified: jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/AuthorizableImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/AuthorizableImpl.java?rev=1044407&r1=1044406&r2=1044407&view=diff
==============================================================================
--- jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/AuthorizableImpl.java (original)
+++ jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/AuthorizableImpl.java Fri Dec 10 15:46:57 2010
@@ -24,6 +24,7 @@ import org.apache.jackrabbit.core.NodeIm
import org.apache.jackrabbit.core.SessionImpl;
import org.apache.jackrabbit.core.id.NodeId;
import org.apache.jackrabbit.core.nodetype.NodeTypeImpl;
+import org.apache.jackrabbit.core.security.principal.EveryonePrincipal;
import org.apache.jackrabbit.core.security.principal.PrincipalImpl;
import org.apache.jackrabbit.spi.Name;
import org.apache.jackrabbit.util.Text;
@@ -328,6 +329,10 @@ abstract class AuthorizableImpl implemen
return node.getProperty(P_PRINCIPAL_NAME).getString();
}
+ boolean isEveryone() throws RepositoryException {
+ return isGroup() && EveryonePrincipal.NAME.equals(getPrincipalName());
+ }
+
private Iterator<Group> collectMembership(boolean includeIndirect) throws RepositoryException {
Collection<String> groupNodeIds;
MembershipCache cache = userManager.getMembershipCache();
Modified: jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/GroupImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/GroupImpl.java?rev=1044407&r1=1044406&r2=1044407&view=diff
==============================================================================
--- jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/GroupImpl.java (original)
+++ jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/GroupImpl.java Fri Dec 10 15:46:57 2010
@@ -27,6 +27,7 @@ import org.apache.jackrabbit.commons.fla
import org.apache.jackrabbit.commons.iterator.LazyIteratorChain;
import org.apache.jackrabbit.core.NodeImpl;
import org.apache.jackrabbit.core.PropertyImpl;
+import org.apache.jackrabbit.core.security.principal.EveryonePrincipal;
import org.apache.jackrabbit.core.session.SessionContext;
import org.apache.jackrabbit.core.session.SessionWriteOperation;
import org.apache.jackrabbit.spi.commons.iterator.Iterators;
@@ -94,22 +95,31 @@ class GroupImpl extends AuthorizableImpl
* @see Group#getDeclaredMembers()
*/
public Iterator<Authorizable> getDeclaredMembers() throws RepositoryException {
- return getMembers(false, UserManager.SEARCH_TYPE_AUTHORIZABLE);
+ if (isEveryone()) {
+ return userManager.findAuthorizables(getSession().getJCRName(P_PRINCIPAL_NAME), null, UserManager.SEARCH_TYPE_AUTHORIZABLE);
+ } else {
+ return getMembers(false, UserManager.SEARCH_TYPE_AUTHORIZABLE);
+ }
}
/**
* @see Group#getMembers()
*/
public Iterator<Authorizable> getMembers() throws RepositoryException {
- return getMembers(true, UserManager.SEARCH_TYPE_AUTHORIZABLE);
+ if (isEveryone()) {
+ return getDeclaredMembers();
+ } else {
+ return getMembers(true, UserManager.SEARCH_TYPE_AUTHORIZABLE);
+ }
}
public boolean isDeclaredMember(Authorizable authorizable) throws RepositoryException {
if (authorizable == null || !(authorizable instanceof AuthorizableImpl)
|| getNode().isSame(((AuthorizableImpl) authorizable).getNode())) {
return false;
- }
- else {
+ } else if (isEveryone()) {
+ return true;
+ } else {
return getMembershipProvider(getNode()).hasMember((AuthorizableImpl) authorizable);
}
}
@@ -121,6 +131,8 @@ class GroupImpl extends AuthorizableImpl
if (authorizable == null || !(authorizable instanceof AuthorizableImpl)
|| getNode().isSame(((AuthorizableImpl) authorizable).getNode())) {
return false;
+ } else if (isEveryone()) {
+ return true;
} else {
String thisID = getID();
AuthorizableImpl impl = (AuthorizableImpl) authorizable;
@@ -141,6 +153,9 @@ class GroupImpl extends AuthorizableImpl
log.warn("Invalid Authorizable: {}", authorizable);
return false;
}
+ if (isEveryone() || ((AuthorizableImpl) authorizable).isEveryone()) {
+ return false;
+ }
AuthorizableImpl authImpl = ((AuthorizableImpl) authorizable);
Node memberNode = authImpl.getNode();
@@ -167,6 +182,9 @@ class GroupImpl extends AuthorizableImpl
log.warn("Invalid Authorizable: {}", authorizable);
return false;
}
+ if (isEveryone()) {
+ return false;
+ }
return getMembershipProvider(getNode()).removeMember((AuthorizableImpl) authorizable);
}
Modified: jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserManagerImpl.java?rev=1044407&r1=1044406&r2=1044407&view=diff
==============================================================================
--- jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserManagerImpl.java (original)
+++ jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserManagerImpl.java Fri Dec 10 15:46:57 2010
@@ -30,6 +30,7 @@ import org.apache.jackrabbit.core.Sessio
import org.apache.jackrabbit.core.SessionListener;
import org.apache.jackrabbit.core.id.NodeId;
import org.apache.jackrabbit.core.security.SystemPrincipal;
+import org.apache.jackrabbit.core.security.principal.EveryonePrincipal;
import org.apache.jackrabbit.core.security.principal.PrincipalImpl;
import org.apache.jackrabbit.core.session.SessionOperation;
import org.apache.jackrabbit.spi.Name;
@@ -580,7 +581,7 @@ public class UserManagerImpl extends Pro
* @see UserManager#createGroup(java.security.Principal, String)
*/
public Group createGroup(Principal principal, String intermediatePath) throws AuthorizableExistsException, RepositoryException {
- checkValidPrincipal(principal);
+ checkValidPrincipal(principal, true);
String groupID = getGroupId(principal.getName());
return createGroup(groupID, principal, intermediatePath);
@@ -658,7 +659,7 @@ public class UserManagerImpl extends Pro
* @throws RepositoryException If another error occurs.
*/
void setPrincipal(NodeImpl node, Principal principal) throws AuthorizableExistsException, RepositoryException {
- checkValidPrincipal(principal);
+ checkValidPrincipal(principal, node.isNodeType(NT_REP_GROUP));
/*
Check if there is *another* authorizable with the same principal.
The additional validation (nodes not be same) is required in order to
@@ -953,11 +954,15 @@ public class UserManagerImpl extends Pro
* Throws <code>IllegalArgumentException</code> if the specified principal
* is <code>null</code> or if it's name is <code>null</code> or empty string.
* @param principal
+ * @param isGroup
*/
- private static void checkValidPrincipal(Principal principal) {
+ private static void checkValidPrincipal(Principal principal, boolean isGroup) {
if (principal == null || principal.getName() == null || "".equals(principal.getName())) {
throw new IllegalArgumentException("Principal may not be null and must have a valid name.");
}
+ if (!isGroup && EveryonePrincipal.NAME.equals(principal.getName())) {
+ throw new IllegalArgumentException("'everyone' is a reserved group principal name.");
+ }
}
private static int parseMembershipSplitSize(Object param) {
Modified: jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/principal/TestAll.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/principal/TestAll.java?rev=1044407&r1=1044406&r2=1044407&view=diff
==============================================================================
--- jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/principal/TestAll.java (original)
+++ jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/principal/TestAll.java Fri Dec 10 15:46:57 2010
@@ -36,6 +36,7 @@ public class TestAll extends TestCase {
TestSuite suite = new TestSuite("core.security.principal tests");
suite.addTestSuite(AbstractPrincipalProviderTest.class);
+ suite.addTestSuite(EveryonePrincipalTest.class);
return suite;
}
Modified: jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/DefaultPrincipalProviderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/DefaultPrincipalProviderTest.java?rev=1044407&r1=1044406&r2=1044407&view=diff
==============================================================================
--- jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/DefaultPrincipalProviderTest.java (original)
+++ jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/DefaultPrincipalProviderTest.java Fri Dec 10 15:46:57 2010
@@ -181,4 +181,50 @@ public class DefaultPrincipalProviderTes
save(superuser);
}
}
+
+ public void testEveryonePrincipal() throws Exception {
+ Principal p = principalProvider.getPrincipal(EveryonePrincipal.NAME);
+ assertNotNull(p);
+ assertEquals(EveryonePrincipal.getInstance(), p);
+
+ PrincipalIterator pit = principalProvider.findPrincipals(EveryonePrincipal.NAME);
+ assertNotNull(pit);
+ if (pit.getSize() == -1) {
+ assertTrue(pit.hasNext());
+ assertEquals(EveryonePrincipal.getInstance(), pit.nextPrincipal());
+ assertFalse(pit.hasNext());
+ } else {
+ assertEquals(1, pit.getSize());
+ assertEquals(EveryonePrincipal.getInstance(), pit.nextPrincipal());
+ }
+ }
+
+ public void testEveryonePrincipal2() throws Exception {
+ Group g = null;
+ try {
+ g = userMgr.createGroup(EveryonePrincipal.NAME);
+ save(superuser);
+
+ Principal p = principalProvider.getPrincipal(EveryonePrincipal.NAME);
+ assertNotNull(p);
+ assertEquals(EveryonePrincipal.getInstance(), p);
+
+ PrincipalIterator pit = principalProvider.findPrincipals(EveryonePrincipal.NAME);
+ assertNotNull(pit);
+ if (pit.getSize() == -1) {
+ assertTrue(pit.hasNext());
+ assertEquals(EveryonePrincipal.getInstance(), pit.nextPrincipal());
+ assertFalse(pit.hasNext());
+ } else {
+ assertEquals(1, pit.getSize());
+ assertEquals(EveryonePrincipal.getInstance(), pit.nextPrincipal());
+ }
+
+ } finally {
+ if (g != null) {
+ g.remove();
+ save(superuser);
+ }
+ }
+ }
}
\ No newline at end of file
Modified: jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/TestAll.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/TestAll.java?rev=1044407&r1=1044406&r2=1044407&view=diff
==============================================================================
--- jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/TestAll.java (original)
+++ jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/TestAll.java Fri Dec 10 15:46:57 2010
@@ -35,6 +35,7 @@ public class TestAll extends TestCase {
suite.addTestSuite(UserManagerImplTest.class);
suite.addTestSuite(AuthorizableImplTest.class);
suite.addTestSuite(UserImplTest.class);
+ suite.addTestSuite(GroupImplTest.class);
suite.addTestSuite(ImpersonationImplTest.class);
suite.addTestSuite(UserAdministratorTest.class);
Modified: jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/UserManagerImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/UserManagerImplTest.java?rev=1044407&r1=1044406&r2=1044407&view=diff
==============================================================================
--- jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/UserManagerImplTest.java (original)
+++ jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/UserManagerImplTest.java Fri Dec 10 15:46:57 2010
@@ -24,6 +24,7 @@ import org.apache.jackrabbit.api.securit
import org.apache.jackrabbit.api.security.user.UserManager;
import org.apache.jackrabbit.core.SessionImpl;
import org.apache.jackrabbit.core.security.TestPrincipal;
+import org.apache.jackrabbit.core.security.principal.EveryonePrincipal;
import org.apache.jackrabbit.test.NotExecutableException;
import org.apache.jackrabbit.spi.commons.conversion.NameResolver;
@@ -166,6 +167,21 @@ public class UserManagerImplTest extends
}
}
+ public void testCreateEveryoneUser() throws Exception {
+ User u = null;
+ try {
+ u = userMgr.createUser(EveryonePrincipal.NAME, "pw");
+ fail("everyone is a reserved group name");
+ } catch (IllegalArgumentException e) {
+ // success
+ } finally {
+ if (u != null) {
+ u.remove();
+ }
+ }
+
+ }
+
public void testCreateGroupWithId() throws RepositoryException, NotExecutableException {
Principal p = getTestPrincipal();
String uid = p.getName();