SLING-9960: AclManagerTest/RepPolicyEntryHandlerTest should use realistic service user path
diff --git a/src/test/java/org/apache/sling/feature/cpconverter/accesscontrol/AclManagerTest.java b/src/test/java/org/apache/sling/feature/cpconverter/accesscontrol/AclManagerTest.java
index 4254ab7..4b5d880 100644
--- a/src/test/java/org/apache/sling/feature/cpconverter/accesscontrol/AclManagerTest.java
+++ b/src/test/java/org/apache/sling/feature/cpconverter/accesscontrol/AclManagerTest.java
@@ -71,18 +71,18 @@
@Test
public void makeSureAclsAreCreatedOnlyoutsideSytemUsersPaths() throws Exception {
- aclManager.addSystemUser(new SystemUser("acs-commons-ensure-oak-index-service", new RepoPath("/asd/public/foo"), new RepoPath("/asd/public")));
+ aclManager.addSystemUser(new SystemUser("acs-commons-ensure-oak-index-service", new RepoPath("/home/users/system/foo"), new RepoPath("/home/users/system")));
// emulate a second iteration of conversion
aclManager.reset();
- aclManager.addSystemUser(new SystemUser("acs-commons-package-replication-status-event-service", new RepoPath("/asd/public/foo"), new RepoPath("/asd/public")));
+ aclManager.addSystemUser(new SystemUser("acs-commons-package-replication-status-event-service", new RepoPath("/home/users/system/foo"), new RepoPath("/home/users/system")));
aclManager.addAcl("acs-commons-ensure-oak-index-service", newAcl(true, "jcr:read,rep:write,rep:indexDefinitionManagement", "/asd/not/system/user/path"));
- aclManager.addAcl("acs-commons-package-replication-status-event-service", newAcl(true, "jcr:read,crx:replicate,jcr:removeNode", "/asd/public"));
+ aclManager.addAcl("acs-commons-package-replication-status-event-service", newAcl(true, "jcr:read,crx:replicate,jcr:removeNode", "/home/users/system"));
// add an ACL for unknown user
- aclManager.addAcl("acs-commons-on-deploy-scripts-service", newAcl(true, "jcr:read,crx:replicate,jcr:removeNode", "/asd/public"));
+ aclManager.addAcl("acs-commons-on-deploy-scripts-service", newAcl(true, "jcr:read,crx:replicate,jcr:removeNode", "/home/users/system"));
VaultPackageAssembler assembler = mock(VaultPackageAssembler.class);
when(assembler.getEntry(anyString())).thenReturn(new File(System.getProperty("java.io.tmpdir")));
@@ -98,8 +98,8 @@
assertNotNull(repoinitExtension);
// acs-commons-on-deploy-scripts-service will be missed
- String expected = "create path (rep:AuthorizableFolder) /asd/public" + System.lineSeparator() + // SLING-8586
- "create service user acs-commons-package-replication-status-event-service with path /asd/public" + System.lineSeparator() +
+ String expected = "create path (rep:AuthorizableFolder) /home/users/system" + System.lineSeparator() + // SLING-8586
+ "create service user acs-commons-package-replication-status-event-service with path /home/users/system" + System.lineSeparator() +
"create path (sling:Folder) /asd" + System.lineSeparator() +
"create path (sling:Folder) /asd/not" + System.lineSeparator() +
"create path (sling:Folder) /asd/not/system" + System.lineSeparator() +
diff --git a/src/test/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandlerTest.java b/src/test/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandlerTest.java
index 3417800..b0ef6b4 100644
--- a/src/test/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandlerTest.java
+++ b/src/test/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandlerTest.java
@@ -94,30 +94,30 @@
assertEquals(ExtensionType.TEXT, repoinitExtension.getType());
// commented ACLs are due SLING-8561
- String expected = "create path (rep:AuthorizableFolder) /asd/public" + System.lineSeparator() + // SLING-8586
- "create service user acs-commons-ensure-oak-index-service with path /asd/public" + System.lineSeparator() +
+ String expected = "create path (rep:AuthorizableFolder) /home/users/system" + System.lineSeparator() + // SLING-8586
+ "create service user acs-commons-ensure-oak-index-service with path /home/users/system" + System.lineSeparator() +
// "create path (sling:Folder) /asd\n" +
// "create path (sling:Folder) /asd/public\n" +
// "set ACL for acs-commons-ensure-oak-index-service\n" +
// "allow jcr:read,rep:write,rep:indexDefinitionManagement on /asd/public restriction(rep:glob,*/oak:index/*)\n" +
// "end\n" +
- "create service user acs-commons-dispatcher-flush-service with path /asd/public" + System.lineSeparator() +
+ "create service user acs-commons-dispatcher-flush-service with path /home/users/system" + System.lineSeparator() +
// "set ACL for acs-commons-dispatcher-flush-service\n" +
// "allow jcr:read,crx:replicate,jcr:removeNode on /asd/public\n" +
// "end\n" +
- "create service user acs-commons-package-replication-status-event-service with path /asd/public" + System.lineSeparator() +
+ "create service user acs-commons-package-replication-status-event-service with path /home/users/system" + System.lineSeparator() +
// "set ACL for acs-commons-package-replication-status-event-service\n" +
// "allow jcr:read,rep:write,jcr:readAccessControl,jcr:modifyAccessControl on /asd/public\n" +
// "end\n" +
- "create service user acs-commons-ensure-service-user-service with path /asd/public" + System.lineSeparator() +
+ "create service user acs-commons-ensure-service-user-service with path /home/users/system" + System.lineSeparator() +
// "set ACL for acs-commons-ensure-service-user-service\n" +
// "allow jcr:read,rep:write,jcr:readAccessControl,jcr:modifyAccessControl on /asd/public\n" +
// "end\n" +
- "create service user acs-commons-automatic-package-replicator-service with path /asd/public" + System.lineSeparator() +
+ "create service user acs-commons-automatic-package-replicator-service with path /home/users/system" + System.lineSeparator() +
// "set ACL for acs-commons-automatic-package-replicator-service\n" +
// "allow jcr:read on /asd/public\n" +
// "end\n" +
- "create service user acs-commons-on-deploy-scripts-service with path /asd/public" + System.lineSeparator();
+ "create service user acs-commons-on-deploy-scripts-service with path /home/users/system" + System.lineSeparator();
// "set ACL for acs-commons-on-deploy-scripts-service\n" +
// "allow jcr:read on /asd/public\n" +
// "end\n";
@@ -141,22 +141,22 @@
assertEquals(ExtensionType.TEXT, repoinitExtension.getType());
// commented ACLs are due SLING-8561
- String expected = "create path (rep:AuthorizableFolder) /asd/public" + System.lineSeparator() + // SLING-8586
- "create service user acs-commons-package-replication-status-event-service with path /asd/public" + System.lineSeparator() +
+ String expected = "create path (rep:AuthorizableFolder) /home/users/system" + System.lineSeparator() + // SLING-8586
+ "create service user acs-commons-package-replication-status-event-service with path /home/users/system" + System.lineSeparator() +
// "create path (sling:Folder) /asd\n" +
// "create path (sling:Folder) /asd/public\n" +
// "set ACL for acs-commons-package-replication-status-event-service\n" +
// "allow jcr:read,rep:write,jcr:readAccessControl,jcr:modifyAccessControl on /asd/public\n" +
// "end\n" +
- "create service user acs-commons-ensure-service-user-service with path /asd/public" + System.lineSeparator() +
+ "create service user acs-commons-ensure-service-user-service with path /home/users/system" + System.lineSeparator() +
// "set ACL for acs-commons-ensure-service-user-service\n" +
// "allow jcr:read,rep:write,jcr:readAccessControl,jcr:modifyAccessControl on /asd/public\n" +
// "end\n" +
- "create service user acs-commons-automatic-package-replicator-service with path /asd/public" + System.lineSeparator() +
+ "create service user acs-commons-automatic-package-replicator-service with path /home/users/system" + System.lineSeparator() +
// "set ACL for acs-commons-automatic-package-replicator-service\n" +
// "allow jcr:read on /asd/public\n" +
// "end\n" +
- "create service user acs-commons-on-deploy-scripts-service with path /asd/public" + System.lineSeparator();
+ "create service user acs-commons-on-deploy-scripts-service with path /home/users/system" + System.lineSeparator();
//"set ACL for acs-commons-on-deploy-scripts-service\n" +
//"allow jcr:read on /asd/public\n" +
//"end\n";
@@ -190,10 +190,12 @@
String expected = "create path (rep:AuthorizableFolder) /this/is/a/completely/different/path" + System.lineSeparator() + // SLING-8586
"create service user acs-commons-package-replication-status-event-service with path /this/is/a/completely/different/path" + System.lineSeparator() +
- "create path (sling:Folder) /asd" + System.lineSeparator() +
- "create path (sling:Folder) /asd/public" + System.lineSeparator() +
+ "create path (sling:Folder) /home" + System.lineSeparator() +
+ "create path (sling:Folder) /home/users" + System.lineSeparator() +
+ "create path (sling:Folder) /home/users/system" + System.lineSeparator() +
+ "create path (sling:Folder) /home/users/system/asd" + System.lineSeparator() +
"set ACL for acs-commons-package-replication-status-event-service" + System.lineSeparator() +
- "allow jcr:read,rep:write,jcr:readAccessControl,jcr:modifyAccessControl on /asd/public" + System.lineSeparator() +
+ "allow jcr:read,rep:write,jcr:readAccessControl,jcr:modifyAccessControl on /home/users/system/asd" + System.lineSeparator() +
"end" + System.lineSeparator();
String actual = repoinitExtension.getText();
assertEquals(expected, actual);
@@ -225,8 +227,8 @@
}
private ParseResult parseAndSetRepoinit(String...systemUsersNames) throws Exception {
- RepoPath alwaysTheSameOrgPath = new RepoPath("/asd/public/foo");
- RepoPath alwaysTheSameInterPath = new RepoPath("/asd/public");
+ RepoPath alwaysTheSameOrgPath = new RepoPath("/home/users/system/asd");
+ RepoPath alwaysTheSameInterPath = new RepoPath("/home/users/system");
SystemUser[] systemUsers = new SystemUser[systemUsersNames.length];
for (int i = 0; i < systemUsersNames.length; i++) {
@@ -237,7 +239,7 @@
}
private ParseResult parseAndSetRepoinit(SystemUser...systemUsers) throws Exception {
- String path = "/jcr_root/asd/public/_rep_policy.xml";
+ String path = "/jcr_root/home/users/system/asd/_rep_policy.xml";
Archive archive = mock(Archive.class);
Entry entry = mock(Entry.class);
VaultPackageAssembler packageAssembler = mock(VaultPackageAssembler.class);
diff --git a/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/home/users/system/asd/.content.xml b/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/home/users/system/asd/.content.xml
new file mode 100644
index 0000000..0589bcb
--- /dev/null
+++ b/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/home/users/system/asd/.content.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with this
+ work for additional information regarding copyright ownership. The ASF
+ licenses this file to You under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ License for the specific language governing permissions and limitations under
+ the License.
+-->
+<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
+ jcr:primaryType="sling:Folder"/>
diff --git a/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/home/users/system/asd/_rep_policy.xml b/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/home/users/system/asd/_rep_policy.xml
new file mode 100644
index 0000000..66bb45c
--- /dev/null
+++ b/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/home/users/system/asd/_rep_policy.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with this
+ work for additional information regarding copyright ownership. The ASF
+ licenses this file to You under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ License for the specific language governing permissions and limitations under
+ the License.
+-->
+<jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:rep="internal"
+ jcr:primaryType="rep:ACL">
+ <allow0
+ jcr:primaryType="rep:GrantACE"
+ rep:principalName="acs-commons-ensure-oak-index-service"
+ rep:privileges="{Name}[jcr:read,rep:write,rep:indexDefinitionManagement]">
+ <rep:restrictions
+ jcr:primaryType="rep:Restrictions"
+ rep:glob="{Name}[*/oak:index/*]"/>
+ </allow0>
+ <allow1
+ jcr:primaryType="rep:GrantACE"
+ rep:principalName="acs-commons-dispatcher-flush-service"
+ rep:privileges="{Name}[jcr:read,crx:replicate,jcr:removeNode]"/>
+ <allow2
+ jcr:primaryType="rep:GrantACE"
+ rep:principalName="acs-commons-package-replication-status-event-service"
+ rep:privileges="{Name}[jcr:read,rep:write,jcr:readAccessControl,jcr:modifyAccessControl]"/>
+ <allow3
+ jcr:primaryType="rep:GrantACE"
+ rep:principalName="acs-commons-ensure-service-user-service"
+ rep:privileges="{Name}[jcr:read,rep:write,jcr:readAccessControl,jcr:modifyAccessControl]"/>
+ <allow4
+ jcr:primaryType="rep:GrantACE"
+ rep:principalName="acs-commons-automatic-package-replicator-service"
+ rep:privileges="{Name}[jcr:read]"/>
+ <allow5
+ jcr:primaryType="rep:GrantACE"
+ rep:principalName="acs-commons-on-deploy-scripts-service"
+ rep:privileges="{Name}[jcr:read]"/>
+</jcr:root>
diff --git a/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/home/users/system/asd/license.txt b/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/home/users/system/asd/license.txt
new file mode 100644
index 0000000..805f6a4
--- /dev/null
+++ b/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/home/users/system/asd/license.txt
@@ -0,0 +1,14 @@
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with this
+ work for additional information regarding copyright ownership. The ASF
+ licenses this file to You under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ License for the specific language governing permissions and limitations under
+ the License.