You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2009/05/06 14:22:52 UTC
svn commit: r772171 - in /jackrabbit/trunk:
jackrabbit-core/src/main/java/org/apache/jackrabbit/core/
jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/
jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/
jackrabbit-co...
Author: reschke
Date: Wed May 6 12:22:35 2009
New Revision: 772171
URL: http://svn.apache.org/viewvc?rev=772171&view=rev
Log:
JCR-2085: move security tests to jackrabbit-jcr-tests; extend RepositoryStub so that it can provide instances of Principal.
Added:
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/
- copied from r772109, jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/
Removed:
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/SkipDeniedNodesTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractACLTemplateTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractEntryTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractEvaluationTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/JackrabbitAccessControlListTest.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/JCRTestSuite.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/JNDIRepositoryStub.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryHelper.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AbstractAccessControlTest.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlDiscoveryTest.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlListTest.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlPolicyIteratorTest.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlPolicyTest.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/RSessionAccessControlDiscoveryTest.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/RSessionAccessControlPolicyTest.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/RSessionAccessControlTest.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/TestAll.java
jackrabbit/trunk/jackrabbit-spi2dav/src/test/java/org/apache/jackrabbit/spi2dav/RepositoryStubImpl.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java?rev=772171&r1=772170&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java Wed May 6 12:22:35 2009
@@ -22,6 +22,8 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.security.Principal;
+import java.security.acl.Group;
import java.util.Arrays;
import java.util.Calendar;
import java.util.HashSet;
@@ -43,6 +45,7 @@
import org.apache.jackrabbit.api.JackrabbitWorkspace;
import org.apache.jackrabbit.core.config.RepositoryConfig;
import org.apache.jackrabbit.core.retention.RetentionPolicyImpl;
+import org.apache.jackrabbit.test.NotExecutableException;
import org.apache.jackrabbit.test.RepositoryStub;
import org.apache.jackrabbit.test.RepositoryStubException;
@@ -360,4 +363,36 @@
resource.setProperty("jcr:lastModified", Calendar.getInstance());
}
+ @Override
+ public Principal getKnownPrincipal(Session session) throws RepositoryException {
+
+ Principal knownPrincipal = null;
+
+ if (session instanceof SessionImpl) {
+ for (Principal p : ((SessionImpl)session).getSubject().getPrincipals()) {
+ if (! (p instanceof Group)) {
+ knownPrincipal = p;
+ }
+ }
+ }
+
+ if (knownPrincipal != null) {
+ return knownPrincipal;
+ }
+ else {
+ throw new RepositoryException("no applicable principal found");
+ }
+ }
+
+ private static Principal UNKNOWN_PRINCIPAL = new Principal() {
+ public String getName() {
+ return "an_unknown_user";
+ }
+ };
+
+ @Override
+ public Principal getUnknownPrincipal(Session session) throws RepositoryException, NotExecutableException {
+ return UNKNOWN_PRINCIPAL;
+ }
+
}
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/SkipDeniedNodesTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/SkipDeniedNodesTest.java?rev=772171&r1=772170&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/SkipDeniedNodesTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/SkipDeniedNodesTest.java Wed May 6 12:22:35 2009
@@ -30,11 +30,11 @@
import javax.jcr.security.Privilege;
import org.apache.jackrabbit.api.JackrabbitSession;
-import org.apache.jackrabbit.api.jsr283.security.AbstractAccessControlTest;
import org.apache.jackrabbit.api.security.user.User;
import org.apache.jackrabbit.api.security.user.UserManager;
import org.apache.jackrabbit.core.security.authorization.JackrabbitAccessControlList;
import org.apache.jackrabbit.test.NotExecutableException;
+import org.apache.jackrabbit.test.api.security.AbstractAccessControlTest;
/**
* <code>SkipDeniedNodesTest</code> checks if nodes are correctly skipped
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractACLTemplateTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractACLTemplateTest.java?rev=772171&r1=772170&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractACLTemplateTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractACLTemplateTest.java Wed May 6 12:22:35 2009
@@ -26,11 +26,11 @@
import javax.jcr.security.Privilege;
import org.apache.jackrabbit.api.JackrabbitSession;
-import org.apache.jackrabbit.api.jsr283.security.AbstractAccessControlTest;
import org.apache.jackrabbit.api.security.principal.PrincipalIterator;
import org.apache.jackrabbit.api.security.principal.PrincipalManager;
import org.apache.jackrabbit.core.security.TestPrincipal;
import org.apache.jackrabbit.test.NotExecutableException;
+import org.apache.jackrabbit.test.api.security.AbstractAccessControlTest;
/**
* <code>AbstractACLTemplateTest</code>...
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractEntryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractEntryTest.java?rev=772171&r1=772170&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractEntryTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractEntryTest.java Wed May 6 12:22:35 2009
@@ -27,8 +27,8 @@
import javax.jcr.security.AccessControlException;
import javax.jcr.security.Privilege;
-import org.apache.jackrabbit.api.jsr283.security.AbstractAccessControlTest;
import org.apache.jackrabbit.test.NotExecutableException;
+import org.apache.jackrabbit.test.api.security.AbstractAccessControlTest;
/**
* <code>AbstractEntryTest</code>...
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractEvaluationTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractEvaluationTest.java?rev=772171&r1=772170&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractEvaluationTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractEvaluationTest.java Wed May 6 12:22:35 2009
@@ -22,12 +22,12 @@
import javax.jcr.security.AccessControlManager;
import javax.jcr.security.Privilege;
-import org.apache.jackrabbit.api.jsr283.security.AbstractAccessControlTest;
import org.apache.jackrabbit.api.security.user.User;
import org.apache.jackrabbit.api.security.user.UserManager;
import org.apache.jackrabbit.api.JackrabbitSession;
import org.apache.jackrabbit.uuid.UUID;
import org.apache.jackrabbit.test.NotExecutableException;
+import org.apache.jackrabbit.test.api.security.AbstractAccessControlTest;
import org.apache.jackrabbit.core.SessionImpl;
import javax.jcr.Session;
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/JackrabbitAccessControlListTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/JackrabbitAccessControlListTest.java?rev=772171&r1=772170&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/JackrabbitAccessControlListTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/JackrabbitAccessControlListTest.java Wed May 6 12:22:35 2009
@@ -30,10 +30,10 @@
import javax.jcr.security.Privilege;
import org.apache.jackrabbit.api.JackrabbitSession;
-import org.apache.jackrabbit.api.jsr283.security.AbstractAccessControlTest;
import org.apache.jackrabbit.api.security.principal.PrincipalIterator;
import org.apache.jackrabbit.api.security.principal.PrincipalManager;
import org.apache.jackrabbit.test.NotExecutableException;
+import org.apache.jackrabbit.test.api.security.AbstractAccessControlTest;
/**
* <code>JackrabbitAccessControlListTest</code>...
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/JCRTestSuite.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/JCRTestSuite.java?rev=772171&r1=772170&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/JCRTestSuite.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/JCRTestSuite.java Wed May 6 12:22:35 2009
@@ -35,6 +35,7 @@
addTest(org.apache.jackrabbit.test.api.version.simple.TestAll.suite());
addTest(org.apache.jackrabbit.test.api.observation.TestAll.suite());
addTest(org.apache.jackrabbit.test.api.retention.TestAll.suite());
+ addTest(org.apache.jackrabbit.test.api.security.TestAll.suite());
}
}
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/JNDIRepositoryStub.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/JNDIRepositoryStub.java?rev=772171&r1=772170&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/JNDIRepositoryStub.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/JNDIRepositoryStub.java Wed May 6 12:22:35 2009
@@ -16,9 +16,12 @@
*/
package org.apache.jackrabbit.test;
+import java.security.Principal;
import java.util.Properties;
import javax.jcr.Repository;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;
@@ -63,4 +66,14 @@
}
return repository;
}
+
+ public Principal getKnownPrincipal(Session session) throws RepositoryException {
+ // TODO Auto-generated method stub
+ throw new RepositoryException("TDB");
+ }
+
+ public Principal getUnknownPrincipal(Session session) throws RepositoryException, NotExecutableException {
+ // TODO Auto-generated method stub
+ throw new RepositoryException("TDB");
+ }
}
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryHelper.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryHelper.java?rev=772171&r1=772170&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryHelper.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryHelper.java Wed May 6 12:22:35 2009
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.test;
+import java.security.Principal;
import java.util.HashMap;
import java.util.Map;
@@ -187,4 +188,20 @@
public Credentials getSuperuserCredentials() {
return repoStub.getSuperuserCredentials();
}
+
+ /**
+ * Returns a {@link Principal} identifiying a known user.
+ * @param session
+ */
+ public Principal getKnownPrincipal(Session session) throws RepositoryException {
+ return repoStub.getKnownPrincipal(session);
+ }
+
+ /**
+ * Returns a {@link Principal} identifiying an unknown user.
+ * @param session
+ */
+ public Principal getUnknownPrincipal(Session session) throws NotExecutableException, RepositoryException {
+ return repoStub.getUnknownPrincipal(session);
+ }
}
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java?rev=772171&r1=772170&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java Wed May 6 12:22:35 2009
@@ -16,21 +16,21 @@
*/
package org.apache.jackrabbit.test;
-import javax.jcr.Credentials;
-import javax.jcr.Repository;
-import javax.jcr.RepositoryException;
-import javax.jcr.Session;
-import javax.jcr.SimpleCredentials;
-import javax.jcr.retention.RetentionPolicy;
-
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
-import java.util.Properties;
+import java.security.Principal;
import java.util.Map;
+import java.util.Properties;
+
+import javax.jcr.Credentials;
+import javax.jcr.Repository;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import javax.jcr.SimpleCredentials;
/**
* The <code>RepositoryStub</code> is the entry point to the JCR Repository
@@ -301,4 +301,18 @@
public String getProperty(String name) {
return environment.getProperty(name);
}
+
+ /**
+ * Returns a {@link Principal} identifiying a known user (not group)
+ * @param session
+ */
+ public abstract Principal getKnownPrincipal(Session session) throws RepositoryException;
+
+ /**
+ * Returns a {@link Principal} identifiying an unknown user.
+ * @param session
+ * @throws NotExecutableException if the implementation can not provide an
+ * instance of Principal for unkwnown users
+ */
+ public abstract Principal getUnknownPrincipal(Session session) throws RepositoryException, NotExecutableException;
}
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AbstractAccessControlTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AbstractAccessControlTest.java?rev=772171&r1=772109&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AbstractAccessControlTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AbstractAccessControlTest.java Wed May 6 12:22:35 2009
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.jackrabbit.api.jsr283.security;
+package org.apache.jackrabbit.test.api.security;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlDiscoveryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlDiscoveryTest.java?rev=772171&r1=772109&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlDiscoveryTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlDiscoveryTest.java Wed May 6 12:22:35 2009
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.jackrabbit.api.jsr283.security;
+package org.apache.jackrabbit.test.api.security;
import java.util.ArrayList;
import java.util.Arrays;
@@ -30,7 +30,6 @@
import javax.jcr.security.AccessControlException;
import javax.jcr.security.Privilege;
-import org.apache.jackrabbit.spi.Name;
import org.apache.jackrabbit.test.NotExecutableException;
/**
@@ -151,7 +150,7 @@
Privilege allPriv = acMgr.privilegeFromName(Privilege.JCR_ALL);
try {
String remappedPrefix = "_jcr";
- superuser.setNamespacePrefix(remappedPrefix, Name.NS_JCR_URI);
+ superuser.setNamespacePrefix(remappedPrefix, "http://www.jcp.org/jcr/1.0");
List l = new ArrayList();
l.add(acMgr.privilegeFromName(Privilege.JCR_ALL));
@@ -171,7 +170,7 @@
// success
}
} finally {
- superuser.setNamespacePrefix(Name.NS_JCR_PREFIX, Name.NS_JCR_URI);
+ superuser.setNamespacePrefix("jcr", "http://www.jcp.org/jcr/1.0");
}
}
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlListTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlListTest.java?rev=772171&r1=772109&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlListTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlListTest.java Wed May 6 12:22:35 2009
@@ -14,14 +14,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.jackrabbit.api.jsr283.security;
+package org.apache.jackrabbit.test.api.security;
import java.security.Principal;
-import java.security.acl.Group;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -37,8 +35,6 @@
import javax.jcr.security.AccessControlPolicyIterator;
import javax.jcr.security.Privilege;
-import org.apache.jackrabbit.core.SessionImpl;
-import org.apache.jackrabbit.core.security.TestPrincipal;
import org.apache.jackrabbit.test.NotExecutableException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -62,8 +58,6 @@
super.setUp();
// TODO: make sure, entries to ADD are not present yet.
- // TODO: retrieve principal name from tck-Configuration
- // TODO: get rid of SessionImpl dependency
try {
// TODO: retrieve targetPath from configuration
Node n = testRootNode.addNode(nodeName1, testNodeType);
@@ -76,20 +70,8 @@
throw new NotExecutableException("No supported privileges at absPath " + path);
}
- if (superuser instanceof SessionImpl) {
- for (Iterator it = ((SessionImpl) superuser).getSubject().getPrincipals().iterator(); it.hasNext();) {
- Principal p = (Principal) it.next();
- if (!(p instanceof Group)) {
- testPrincipal = p;
- }
- }
- if (testPrincipal == null) {
- throw new NotExecutableException("Test principal missing.");
- }
- } else {
- throw new NotExecutableException("SessionImpl expected");
- }
-
+ testPrincipal = helper.getKnownPrincipal(superuser);
+
// remember existing entries for test-principal -> later restore.
privilegesToRestore = currentPrivileges(getList(acMgr, path), testPrincipal);
} catch (Exception e) {
@@ -335,8 +317,7 @@
public void testAddAccessControlEntryInvalidPrincipal() throws NotExecutableException, RepositoryException {
checkCanModifyAc(path);
try {
- // TODO: retrieve unknown principal name from config
- Principal invalidPrincipal = new TestPrincipal("an_unknown_principal");
+ Principal invalidPrincipal = helper.getUnknownPrincipal(superuser);
AccessControlList acl = getList(acMgr, path);
acl.addAccessControlEntry(invalidPrincipal, privs);
fail("Adding an entry with an unknown principal must throw AccessControlException.");
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlPolicyIteratorTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlPolicyIteratorTest.java?rev=772171&r1=772109&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlPolicyIteratorTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlPolicyIteratorTest.java Wed May 6 12:22:35 2009
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.jackrabbit.api.jsr283.security;
+package org.apache.jackrabbit.test.api.security;
import java.util.NoSuchElementException;
@@ -24,16 +24,12 @@
import javax.jcr.security.AccessControlPolicyIterator;
import org.apache.jackrabbit.test.NotExecutableException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* <code>AccessControlPolicyIteratorTest</code>...
*/
public class AccessControlPolicyIteratorTest extends AbstractAccessControlTest {
- private static Logger log = LoggerFactory.getLogger(AccessControlPolicyIteratorTest.class);
-
private String path;
protected void setUp() throws Exception {
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlPolicyTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlPolicyTest.java?rev=772171&r1=772109&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlPolicyTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/AccessControlPolicyTest.java Wed May 6 12:22:35 2009
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.jackrabbit.api.jsr283.security;
+package org.apache.jackrabbit.test.api.security;
import java.util.Arrays;
import java.util.HashMap;
@@ -53,7 +53,7 @@
protected void setUp() throws Exception {
super.setUp();
- // policy-option is cover the by the 'OPTION_ACCESS_CONTROL_SUPPORTED' -> see super-class
+ // policy-option is covered the by the 'OPTION_ACCESS_CONTROL_SUPPORTED' -> see super-class
Node n = testRootNode.addNode(nodeName1, testNodeType);
superuser.save();
@@ -79,7 +79,7 @@
checkCanReadAc(path);
// call must succeed without exception
AccessControlPolicy[] policies = acMgr.getEffectivePolicies(path);
- if (policies == null && policies.length == 0) {
+ if (policies == null || policies.length == 0) {
fail("To every existing node at least a single effective policy applies.");
}
}
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/RSessionAccessControlDiscoveryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/RSessionAccessControlDiscoveryTest.java?rev=772171&r1=772109&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/RSessionAccessControlDiscoveryTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/RSessionAccessControlDiscoveryTest.java Wed May 6 12:22:35 2009
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.jackrabbit.api.jsr283.security;
+package org.apache.jackrabbit.test.api.security;
import java.util.Arrays;
import java.util.List;
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/RSessionAccessControlPolicyTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/RSessionAccessControlPolicyTest.java?rev=772171&r1=772109&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/RSessionAccessControlPolicyTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/RSessionAccessControlPolicyTest.java Wed May 6 12:22:35 2009
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.jackrabbit.api.jsr283.security;
+package org.apache.jackrabbit.test.api.security;
import javax.jcr.AccessDeniedException;
import javax.jcr.Node;
@@ -26,16 +26,12 @@
import javax.jcr.security.AccessControlPolicyIterator;
import org.apache.jackrabbit.test.NotExecutableException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* <code>AccessControlPolicyTest</code>...
*/
public class RSessionAccessControlPolicyTest extends AbstractAccessControlTest {
- private static Logger log = LoggerFactory.getLogger(RSessionAccessControlPolicyTest.class);
-
private String path;
private Session readOnlySession;
private AccessControlManager testAcMgr;
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/RSessionAccessControlTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/RSessionAccessControlTest.java?rev=772171&r1=772109&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/RSessionAccessControlTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/RSessionAccessControlTest.java Wed May 6 12:22:35 2009
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.jackrabbit.api.jsr283.security;
+package org.apache.jackrabbit.test.api.security;
import javax.jcr.AccessDeniedException;
import javax.jcr.Node;
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/TestAll.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/TestAll.java?rev=772171&r1=772109&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/TestAll.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/security/TestAll.java Wed May 6 12:22:35 2009
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.jackrabbit.api.jsr283.security;
+package org.apache.jackrabbit.test.api.security;
import junit.framework.Test;
import junit.framework.TestCase;
Modified: jackrabbit/trunk/jackrabbit-spi2dav/src/test/java/org/apache/jackrabbit/spi2dav/RepositoryStubImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-spi2dav/src/test/java/org/apache/jackrabbit/spi2dav/RepositoryStubImpl.java?rev=772171&r1=772170&r2=772171&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-spi2dav/src/test/java/org/apache/jackrabbit/spi2dav/RepositoryStubImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-spi2dav/src/test/java/org/apache/jackrabbit/spi2dav/RepositoryStubImpl.java Wed May 6 12:22:35 2009
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.spi2dav;
+import org.apache.jackrabbit.test.NotExecutableException;
import org.apache.jackrabbit.test.RepositoryStub;
import org.apache.jackrabbit.test.RepositoryStubException;
import org.apache.jackrabbit.spi.RepositoryService;
@@ -32,6 +33,9 @@
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+
+import java.security.Principal;
import java.util.Properties;
/**
@@ -80,4 +84,14 @@
QValueFactory vFactory = QValueFactoryImpl.getInstance();
return new RepositoryServiceImpl(uri, idFactory, nFactory, pFactory, vFactory);
}
+
+ public Principal getKnownPrincipal(Session session) throws RepositoryException {
+ // TODO Auto-generated method stub
+ throw new RepositoryException("TBD");
+ }
+
+ public Principal getUnknownPrincipal(Session session) throws RepositoryException, NotExecutableException {
+ // TODO Auto-generated method stub
+ throw new RepositoryException("TBD");
+ }
}
\ No newline at end of file