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