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