diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/CopyTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/CopyTest.java index 1f79f68..7d2dc7d 100644 --- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/CopyTest.java +++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/CopyTest.java @@ -18,10 +18,12 @@ package org.apache.jackrabbit.oak.jcr.security.authorization; import javax.jcr.AccessDeniedException; import javax.jcr.Node; +import javax.jcr.RepositoryException; import javax.jcr.security.Privilege; import org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.AccessControlConstants; import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConstants; +import org.apache.jackrabbit.test.NotExecutableException; import org.apache.jackrabbit.util.Text; import org.junit.Before; import org.junit.Test; @@ -129,4 +131,16 @@ public class CopyTest extends AbstractEvaluationTest { superuser.refresh(false); assertFalse(superuser.nodeExists(targetPath + '/' + childName + "/rep:policy")); } -} \ No newline at end of file + + @Test + public void testCopyFromStrictAccessNode() throws Exception { + deny(path, privilegesFromName(PrivilegeConstants.JCR_ALL)); + allow(childNPath, privilegesFromName(PrivilegeConstants.JCR_ALL)); + allow(targetPath, privilegesFromName(Privilege.JCR_ALL)); + + testSession.getWorkspace().copy(childNPath, destPath); + + assertTrue(testSession.nodeExists(destPath)); + } + +}