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 2017/05/03 08:41:46 UTC

svn commit: r1793626 - /jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlImporterBaseTest.java

Author: angela
Date: Wed May  3 08:41:46 2017
New Revision: 1793626

URL: http://svn.apache.org/viewvc?rev=1793626&view=rev
Log:
OAK-5882 : Improve coverage for oak.security code in oak-core (wip)

Modified:
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlImporterBaseTest.java

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlImporterBaseTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlImporterBaseTest.java?rev=1793626&r1=1793625&r2=1793626&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlImporterBaseTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlImporterBaseTest.java Wed May  3 08:41:46 2017
@@ -24,6 +24,7 @@ import javax.jcr.PropertyType;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.jcr.Value;
+import javax.jcr.ValueFormatException;
 import javax.jcr.nodetype.ConstraintViolationException;
 import javax.jcr.security.AccessControlException;
 import javax.jcr.security.AccessControlManager;
@@ -70,6 +71,10 @@ public abstract class AccessControlImpor
 
     AccessControlImporter importer;
 
+    private String principalName;
+    private PropInfo principalInfo;
+    private PropInfo privInfo;
+
     @Override
     public void before() throws Exception {
         super.before();
@@ -87,6 +92,10 @@ public abstract class AccessControlImpor
         aclTree = accessControlledTree.getChild(REP_POLICY);
 
         importer = new AccessControlImporter();
+
+        principalName = getTestUser().getPrincipal().getName();
+        principalInfo = new PropInfo(REP_PRINCIPAL_NAME, PropertyType.STRING, createTextValue(principalName));
+        privInfo = new PropInfo(REP_PRIVILEGES, PropertyType.NAME, createTextValues(PrivilegeConstants.JCR_READ, PrivilegeConstants.JCR_ADD_CHILD_NODES));
     }
 
     @Override
@@ -354,12 +363,34 @@ public abstract class AccessControlImpor
     }
 
     //------------------------------------------------< complete acl import >---
+    @Test(expected = AccessControlException.class)
+    public void testInvalidRestriction() throws Exception {
+        init();
+        importer.start(aclTree);
+        importer.startChildInfo(aceInfo, ImmutableList.of(principalInfo, privInfo));
+
+        PropInfo invalidRestrProp = new PropInfo(REP_GLOB, PropertyType.NAME, createTextValues("glob1", "glob2"), PropInfo.MultipleStatus.MULTIPLE);
+        importer.startChildInfo(restrInfo, ImmutableList.of(invalidRestrProp));
+        importer.endChildInfo();
+        importer.endChildInfo();
+        importer.end(aclTree);
+    }
+
+    @Test(expected = ValueFormatException.class)
+    public void testUnknownRestriction() throws Exception {
+        init();
+        importer.start(aclTree);
+        importer.startChildInfo(aceInfo, ImmutableList.of(principalInfo, privInfo));
+
+        PropInfo invalidRestrProp = new PropInfo("unknown", PropertyType.STRING, createTextValue("val"));
+        importer.startChildInfo(restrInfo, ImmutableList.of(invalidRestrProp));
+        importer.endChildInfo();
+        importer.endChildInfo();
+        importer.end(aclTree);
+    }
+
     @Test
     public void testImportSimple() throws Exception {
-        String principalName = getTestUser().getPrincipal().getName();
-        PropInfo principalInfo = new PropInfo(REP_PRINCIPAL_NAME, PropertyType.STRING, createTextValue(principalName));
-        PropInfo privInfo = new PropInfo(REP_PRIVILEGES, PropertyType.NAME, createTextValues(PrivilegeConstants.JCR_READ, PrivilegeConstants.JCR_ADD_CHILD_NODES));
-
         init();
         importer.start(aclTree);
         importer.startChildInfo(aceInfo, ImmutableList.of(principalInfo, privInfo));
@@ -378,10 +409,6 @@ public abstract class AccessControlImpor
 
     @Test
     public void testImportWithRestrictions() throws Exception {
-        String principalName = getTestUser().getPrincipal().getName();
-
-        PropInfo principalInfo = new PropInfo(REP_PRINCIPAL_NAME, PropertyType.STRING, createTextValue(principalName));
-        PropInfo privInfo = new PropInfo(REP_PRIVILEGES, PropertyType.NAME, createTextValues(PrivilegeConstants.JCR_READ, PrivilegeConstants.JCR_ADD_CHILD_NODES));
         // single value restriction
         PropInfo globInfo = new PropInfo(REP_GLOB, PropertyType.STRING, createTextValue("/*"));
         // mv restriction
@@ -400,10 +427,6 @@ public abstract class AccessControlImpor
 
     @Test
     public void testImportWithRestrictionNodeInfo() throws Exception {
-        String principalName = getTestUser().getPrincipal().getName();
-
-        PropInfo principalInfo = new PropInfo(REP_PRINCIPAL_NAME, PropertyType.STRING, createTextValue(principalName));
-        PropInfo privInfo = new PropInfo(REP_PRIVILEGES, PropertyType.NAME, createTextValues(PrivilegeConstants.JCR_READ, PrivilegeConstants.JCR_ADD_CHILD_NODES));
         // single value restriction
         PropInfo globInfo = new PropInfo(REP_GLOB, PropertyType.STRING, createTextValue("/*"));
         // mv restriction