This is an automated email from the ASF dual-hosted git repository.
pauls pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-cpconverter.git
The following commit(s) were added to refs/heads/master by this push:
new b8b0fa7 SLING-9960: AclManagerTest/RepPolicyEntryHandlerTest should
use realistic service user path (#42)
b8b0fa7 is described below
commit b8b0fa7b7a11c1d9c96261e5f30ca9d122444b60
Author: Karl Pauls <[email protected]>
AuthorDate: Thu Dec 10 16:00:22 2020 +0100
SLING-9960: AclManagerTest/RepPolicyEntryHandlerTest should use realistic
service user path (#42)
---
.../cpconverter/accesscontrol/AclManagerTest.java | 12 +++---
.../handlers/RepPolicyEntryHandlerTest.java | 38 +++++++++--------
.../jcr_root/home/users/system/asd/.content.xml | 19 +++++++++
.../jcr_root/home/users/system/asd/_rep_policy.xml | 48 ++++++++++++++++++++++
.../jcr_root/home/users/system/asd/license.txt | 14 +++++++
5 files changed, 107 insertions(+), 24 deletions(-)
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 @@ public class AclManagerTest {
@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 @@ public class AclManagerTest {
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 @@ public final class RepPolicyEntryHandlerTest {
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 @@ public final class RepPolicyEntryHandlerTest {
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 @@ public final class RepPolicyEntryHandlerTest {
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 @@ public final class RepPolicyEntryHandlerTest {
}
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 @@ public final class RepPolicyEntryHandlerTest {
}
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.