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/05/16 13:19:17 UTC

svn commit: r1483298 - in /jackrabbit/oak/trunk/oak-jcr: pom.xml src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/AccessControlImporterTest.java

Author: angela
Date: Thu May 16 11:19:17 2013
New Revision: 1483298

URL: http://svn.apache.org/r1483298
Log:
OAK-51 : Access Control Management (backwards compatible import that removes existing entries -> fix test, which was commented in jr2)

Modified:
    jackrabbit/oak/trunk/oak-jcr/pom.xml
    jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/AccessControlImporterTest.java

Modified: jackrabbit/oak/trunk/oak-jcr/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/pom.xml?rev=1483298&r1=1483297&r2=1483298&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-jcr/pom.xml Thu May 16 11:19:17 2013
@@ -290,8 +290,6 @@
       org.apache.jackrabbit.oak.jcr.security.authorization.WriteTest#testRemove7    <!-- OAK-781 -->
       org.apache.jackrabbit.oak.jcr.security.authorization.WriteTest#testRemoveIfReadingParentIsDenied      <!-- OAK-813 -->
 
-      org.apache.jackrabbit.oak.jcr.security.authorization.AccessControlImporterTest#testImportPolicyExists <!-- OAK-414 -->
-
       org.apache.jackrabbit.oak.jcr.security.authorization.AccessControlManagementTest#testRemoveMixin              <!-- OAK-767 -->
       org.apache.jackrabbit.oak.jcr.security.authorization.NodeTypeManagementTest#testRemoveMixin                   <!-- OAK-767 -->
       org.apache.jackrabbit.oak.jcr.security.authorization.NodeTypeManagementTest#testRemoveMixinWithoutPermission  <!-- OAK-767 -->

Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/AccessControlImporterTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/AccessControlImporterTest.java?rev=1483298&r1=1483297&r2=1483298&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/AccessControlImporterTest.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/AccessControlImporterTest.java Thu May 16 11:19:17 2013
@@ -19,6 +19,7 @@ package org.apache.jackrabbit.oak.jcr.se
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.security.Principal;
 import java.util.Arrays;
 import java.util.List;
 import javax.jcr.ImportUUIDBehavior;
@@ -31,12 +32,10 @@ import javax.jcr.security.AccessControlP
 import javax.jcr.security.AccessControlPolicyIterator;
 import javax.jcr.security.Privilege;
 
+import org.apache.jackrabbit.api.JackrabbitSession;
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlEntry;
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlList;
-import org.apache.jackrabbit.oak.jcr.SessionImpl;
 import org.apache.jackrabbit.test.AbstractJCRTest;
-import org.junit.Ignore;
-import org.xml.sax.SAXException;
 
 public class AccessControlImporterTest extends AbstractJCRTest {
 
@@ -343,12 +342,10 @@ public class AccessControlImporterTest e
 
     /**
      * Imports a resource-based ACL containing a single entry for a policy that
-     * already exists.
-     *
-     * @throws Exception
+     * already exists: expected outcome its that the existing ACE is replaced.
      */
-    @Ignore("OAK-414") // FIXME
     public void testImportPolicyExists() throws Exception {
+        Principal everyone = ((JackrabbitSession) superuser).getPrincipalManager().getEveryone();
         Node target = testRootNode;
         target = target.addNode("test", "test:sameNameSibsFalseChildNodeDefinition");
         AccessControlManager acMgr = superuser.getAccessControlManager();
@@ -356,17 +353,15 @@ public class AccessControlImporterTest e
             AccessControlPolicy policy = it.nextAccessControlPolicy();
             if (policy instanceof AccessControlList) {
                 Privilege[] privs = new Privilege[] {acMgr.privilegeFromName(Privilege.JCR_LOCK_MANAGEMENT)};
-                ((AccessControlList) policy).addAccessControlEntry(((SessionImpl)superuser).getPrincipalManager().getEveryone(), privs);
+                ((AccessControlList) policy).addAccessControlEntry(everyone, privs);
                 acMgr.setPolicy(target.getPath(), policy);
             }
         }
 
         try {
-
             doImport(target.getPath(), XML_POLICY_TREE_2);
 
             AccessControlPolicy[] policies = acMgr.getPolicies(target.getPath());
-
             assertEquals(1, policies.length);
             assertTrue(policies[0] instanceof JackrabbitAccessControlList);
 
@@ -374,18 +369,14 @@ public class AccessControlImporterTest e
             assertEquals(1, entries.length);
 
             AccessControlEntry entry = entries[0];
-            assertEquals("everyone", entry.getPrincipal().getName());
+            assertEquals(everyone.getName(), entry.getPrincipal().getName());
             List<Privilege> privs = Arrays.asList(entry.getPrivileges());
-            assertEquals(2, privs.size());
-            assertTrue(privs.contains(acMgr.privilegeFromName(Privilege.JCR_WRITE)) &&
-                    privs.contains(acMgr.privilegeFromName(Privilege.JCR_LOCK_MANAGEMENT)));
-
+            assertEquals(1, privs.size());
             assertEquals(acMgr.privilegeFromName(Privilege.JCR_WRITE), entry.getPrivileges()[0]);
 
             if(entry instanceof JackrabbitAccessControlEntry) {
                 assertTrue(((JackrabbitAccessControlEntry) entry).isAllow());
             }
-
         } finally {
             superuser.refresh(false);
         }
@@ -492,7 +483,7 @@ public class AccessControlImporterTest e
         }
     }
 
-    private void doImport(String parentPath, String xml) throws IOException, SAXException, RepositoryException {
+    private void doImport(String parentPath, String xml) throws IOException, RepositoryException {
         InputStream in = new ByteArrayInputStream(xml.getBytes("UTF-8"));
         superuser.importXML(parentPath, in, ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
     }