You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ol...@apache.org on 2023/02/27 22:00:16 UTC

[sling-org-apache-sling-testing-paxexam] 04/04: SLING-11791 Provide Commons Permissions Sling Option

This is an automated email from the ASF dual-hosted git repository.

olli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-paxexam.git

commit 3622e78114851b8bb4a2183d15e522727df3655a
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Mon Feb 27 22:41:15 2023 +0100

    SLING-11791 Provide Commons Permissions Sling Option
---
 .../apache/sling/testing/paxexam/SlingOptions.java | 16 +++++++
 .../testing/paxexam/SlingVersionResolver.java      |  1 +
 ...SlingOptionsSlingCommonsPermissionsSlingIT.java | 49 ++++++++++++++++++++++
 3 files changed, 66 insertions(+)

diff --git a/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java b/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java
index ee087cc..304b46a 100644
--- a/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java
+++ b/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java
@@ -431,6 +431,22 @@ public class SlingOptions {
         );
     }
 
+    public static ModifiableCompositeOption slingCommonsPermissionsSling() {
+        return composite(
+            scr(),
+            slingCommonsPermissions(),
+            slingJcr(),
+            mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.commons.permissions.sling").version(versionResolver),
+            factoryConfiguration("org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment")
+                .put("whitelist.bundles", new String[]{"org.apache.sling.commons.permissions.sling"})
+                .put("whitelist.name", "sling-commons-permissions-sling")
+                .asOption(),
+            factoryConfiguration("org.apache.sling.jcr.repoinit.RepositoryInitializer")
+                .put("scripts", new String[]{"create path (sling:Folder) /libs/sling/permissions(sling:OrderedFolder)"})
+                .asOption()
+        );
+    }
+
     public static ModifiableCompositeOption slingCommonsScheduler() {
         return composite(
             scr(),
diff --git a/src/main/java/org/apache/sling/testing/paxexam/SlingVersionResolver.java b/src/main/java/org/apache/sling/testing/paxexam/SlingVersionResolver.java
index ea7738c..2695bb7 100644
--- a/src/main/java/org/apache/sling/testing/paxexam/SlingVersionResolver.java
+++ b/src/main/java/org/apache/sling/testing/paxexam/SlingVersionResolver.java
@@ -205,6 +205,7 @@ public class SlingVersionResolver implements VersionResolver {
         versions.put("org.apache.sling:org.apache.sling.commons.mime", "2.2.2");
         versions.put("org.apache.sling:org.apache.sling.commons.osgi", "2.4.2");
         versions.put("org.apache.sling:org.apache.sling.commons.permissions", "1.0.0-SNAPSHOT");
+        versions.put("org.apache.sling:org.apache.sling.commons.permissions.sling", "1.0.0-SNAPSHOT");
         versions.put("org.apache.sling:org.apache.sling.commons.scheduler", "2.7.12");
         versions.put("org.apache.sling:org.apache.sling.commons.threads", "3.2.22");
         versions.put("org.apache.sling:org.apache.sling.discovery.api", "1.0.4");
diff --git a/src/test/java/org/apache/sling/testing/paxexam/it/tests/SlingOptionsSlingCommonsPermissionsSlingIT.java b/src/test/java/org/apache/sling/testing/paxexam/it/tests/SlingOptionsSlingCommonsPermissionsSlingIT.java
new file mode 100644
index 0000000..51716b9
--- /dev/null
+++ b/src/test/java/org/apache/sling/testing/paxexam/it/tests/SlingOptionsSlingCommonsPermissionsSlingIT.java
@@ -0,0 +1,49 @@
+/*
+ * 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.
+ */
+package org.apache.sling.testing.paxexam.it.tests;
+
+import org.apache.sling.testing.paxexam.it.SlingOptionsTestSupport;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.Configuration;
+import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.junit.PaxExam;
+import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
+import org.ops4j.pax.exam.spi.reactors.PerClass;
+
+import static org.apache.sling.testing.paxexam.SlingOptions.slingCommonsPermissionsSling;
+import static org.ops4j.pax.exam.CoreOptions.options;
+
+@RunWith(PaxExam.class)
+@ExamReactorStrategy(PerClass.class)
+public class SlingOptionsSlingCommonsPermissionsSlingIT extends SlingOptionsTestSupport {
+
+    @Configuration
+    public Option[] configuration() {
+        return options(
+            baseConfiguration(),
+            slingCommonsPermissionsSling()
+        );
+    }
+
+    @Test
+    public void test() {
+    }
+
+}