JCRVLT-107 Package manager applies the acHandling of parent package to all the subpackages
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/commons/filevault/trunk@1726349 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestACLAndMerge.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestACLAndMerge.java
index 78a19d0..1f6bb9b 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestACLAndMerge.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestACLAndMerge.java
@@ -141,6 +141,33 @@
}
/**
+ * Installs 2 packages with the same ACL. the later packages has a sub package with a different AC handling.
+ * See JCRVLT-107.
+ */
+ @Test
+ public void testACMergeSubpackage() throws RepositoryException, IOException, PackageException {
+ assertNodeMissing("/testroot");
+
+ JcrPackage pack = packMgr.upload(getStream("testpackages/mode_ac_test_a.zip"), false);
+ assertNotNull(pack);
+ pack.install(getDefaultOptions());
+
+ // test if nodes and ACLs of first package exist
+ assertNodeExists("/testroot/node_a");
+ assertPermission("/testroot/secured", false, new String[]{"jcr:all"}, "everyone", null);
+
+ pack = packMgr.upload(getStream("testpackages/mode_ac_subpackage.zip"), false);
+ assertNotNull(pack);
+ pack.install(getDefaultOptions());
+
+ // test if nodes and ACLs of 2nd package exist
+ assertNodeExists("/testroot/node_a");
+ assertNodeExists("/testroot/node_b");
+ assertPermission("/testroot/secured", false, new String[]{"jcr:all"}, "everyone", null);
+ assertPermission("/testroot/secured", true, new String[]{"jcr:read"}, "everyone", "*/foo/*");
+ }
+
+ /**
* Installs 2 packages with the same ACE. the later packages has AC Handling MERGE and should overwrite the
* existing ACL.
*/
diff --git a/vault-core/src/test/resources/org/apache/jackrabbit/vault/packaging/integration/testpackages/mode_ac_subpackage.zip b/vault-core/src/test/resources/org/apache/jackrabbit/vault/packaging/integration/testpackages/mode_ac_subpackage.zip
new file mode 100644
index 0000000..f3a148e
--- /dev/null
+++ b/vault-core/src/test/resources/org/apache/jackrabbit/vault/packaging/integration/testpackages/mode_ac_subpackage.zip
Binary files differ