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 2020/02/22 20:12:41 UTC

[sling-org-apache-sling-scripting-core] branch master updated: SLING-9106 Update Pax Exam to 4.13.2

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-scripting-core.git


The following commit(s) were added to refs/heads/master by this push:
     new f6e7036  SLING-9106 Update Pax Exam to 4.13.2
f6e7036 is described below

commit f6e70362859bc2f923c7204df40ac7c692553494
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Sat Feb 22 19:44:23 2020 +0100

    SLING-9106 Update Pax Exam to 4.13.2
    
    Update Pax Exam and clean up configurations
---
 pom.xml                                            |  4 +-
 .../sling/scripting/core/it/HtmlScriptingIT.java   | 45 +++++++++----------
 .../core/it/ScriptingCoreTestSupport.java          | 52 ++++------------------
 3 files changed, 30 insertions(+), 71 deletions(-)

diff --git a/pom.xml b/pom.xml
index 98d4498..971b079 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,7 +36,7 @@
     </description>
 
     <properties>
-        <org.ops4j.pax.exam.version>4.13.1</org.ops4j.pax.exam.version>
+        <org.ops4j.pax.exam.version>4.13.2</org.ops4j.pax.exam.version>
     </properties>
 
     <scm>
@@ -113,7 +113,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.api</artifactId>
-            <version>2.22.0-SNAPSHOT</version>
+            <version>2.22.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/src/test/java/org/apache/sling/scripting/core/it/HtmlScriptingIT.java b/src/test/java/org/apache/sling/scripting/core/it/HtmlScriptingIT.java
index 5f7f4e3..94794d9 100644
--- a/src/test/java/org/apache/sling/scripting/core/it/HtmlScriptingIT.java
+++ b/src/test/java/org/apache/sling/scripting/core/it/HtmlScriptingIT.java
@@ -28,7 +28,6 @@ import org.apache.sling.api.servlets.ServletResolver;
 import org.apache.sling.resource.presence.ResourcePresence;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Configuration;
@@ -44,10 +43,9 @@ import org.osgi.service.http.HttpService;
 import static org.apache.sling.testing.paxexam.SlingOptions.slingQuickstartOakTar;
 import static org.apache.sling.testing.paxexam.SlingOptions.slingScriptingSightly;
 import static org.apache.sling.testing.paxexam.SlingOptions.slingScriptingThymeleaf;
-import static org.apache.sling.testing.paxexam.SlingOptions.versionResolver;
 import static org.hamcrest.Matchers.is;
 import static org.junit.Assert.assertThat;
-import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
+import static org.ops4j.pax.exam.CoreOptions.composite;
 import static org.ops4j.pax.exam.CoreOptions.options;
 import static org.ops4j.pax.exam.cm.ConfigurationAdminOptions.factoryConfiguration;
 
@@ -86,31 +84,28 @@ public class HtmlScriptingIT extends ScriptingCoreTestSupport {
     @Filter(value = "(path=/content/scripting)")
     private ResourcePresence scripting;
 
-    private Option slingResourceResolver =
-            mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.resourceresolver").version(versionResolver);
-    private Option slingServletsResolver =
-            mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.servlets.resolver").version(versionResolver);
-
     @Configuration
     public Option[] configuration() {
         final String workingDirectory = workingDirectory();
-        return remove(options(
-            super.baseConfiguration(),
-            slingScriptingSightly(),
-            slingScriptingThymeleaf(),
-            slingQuickstartOakTar(workingDirectory, httpPort),
-            factoryConfiguration("org.apache.sling.resource.presence.internal.ResourcePresenter")
-                .put("path", "/apps/htl")
-                .asOption(),
-            factoryConfiguration("org.apache.sling.resource.presence.internal.ResourcePresenter")
-                .put("path", "/apps/thymeleaf")
-                .asOption(),
-            factoryConfiguration("org.apache.sling.resource.presence.internal.ResourcePresenter")
-                .put("path", "/content/scripting")
-                .asOption(),
-            mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.resourceresolver").versionAsInProject(),
-            mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.servlets.resolver").versionAsInProject()
-        ), scriptingCore, slingApi, slingResourceResolver, slingServletsResolver);
+        return options(
+            composite(
+                super.baseConfiguration(),
+                slingScriptingSightly(),
+                slingScriptingThymeleaf(),
+                slingQuickstartOakTar(workingDirectory, httpPort),
+                factoryConfiguration("org.apache.sling.resource.presence.internal.ResourcePresenter")
+                    .put("path", "/apps/htl")
+                    .asOption(),
+                factoryConfiguration("org.apache.sling.resource.presence.internal.ResourcePresenter")
+                    .put("path", "/apps/thymeleaf")
+                    .asOption(),
+                factoryConfiguration("org.apache.sling.resource.presence.internal.ResourcePresenter")
+                    .put("path", "/content/scripting")
+                    .asOption()
+            ).remove(
+                scriptingCore
+            )
+        );
     }
 
     @ProbeBuilder
diff --git a/src/test/java/org/apache/sling/scripting/core/it/ScriptingCoreTestSupport.java b/src/test/java/org/apache/sling/scripting/core/it/ScriptingCoreTestSupport.java
index dca83e4..43891fc 100644
--- a/src/test/java/org/apache/sling/scripting/core/it/ScriptingCoreTestSupport.java
+++ b/src/test/java/org/apache/sling/scripting/core/it/ScriptingCoreTestSupport.java
@@ -18,14 +18,8 @@
  */
 package org.apache.sling.scripting.core.it;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
 import org.apache.sling.testing.paxexam.TestSupport;
 import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.options.CompositeOption;
 import org.ops4j.pax.exam.options.ModifiableCompositeOption;
 
 import static org.apache.sling.testing.paxexam.SlingOptions.awaitility;
@@ -42,19 +36,15 @@ public class ScriptingCoreTestSupport extends TestSupport {
     final int httpPort = findFreePort();
 
     final Option scriptingCore = mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.scripting.core").version(versionResolver);
-    final Option slingApi = mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.api").version(versionResolver);
-    final Option osgiConverter = mavenBundle().groupId("org.osgi").artifactId("org.osgi.util.converter").version("1.0.0");
-
-
 
     public ModifiableCompositeOption baseConfiguration() {
-        final Option slingScripting = slingScripting().remove(scriptingCore);
+        versionResolver.setVersionFromProject("org.apache.sling", "org.apache.sling.api");
+        versionResolver.setVersionFromProject("org.apache.sling", "org.apache.sling.resourceresolver");
+        versionResolver.setVersionFromProject("org.apache.sling", "org.apache.sling.servlets.resolver");
         return composite(
             super.baseConfiguration(),
             // Sling Scripting
-            composite(remove(new Option[] {slingScripting}, slingApi)),
-            mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.api").versionAsInProject(),
-            osgiConverter,
+            slingScripting(),
             newConfiguration("org.apache.felix.http")
                 .put("org.osgi.service.http.port", httpPort)
                 .asOption(),
@@ -69,37 +59,11 @@ public class ScriptingCoreTestSupport extends TestSupport {
             mavenBundle().groupId("org.apache.servicemix.bundles").artifactId("org.apache.servicemix.bundles.hamcrest").versionAsInProject(),
             junitBundles(),
             awaitility()
+        ).add(
+            mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.converter").version("1.0.12") // new Sling API dependency
+        ).remove(
+            scriptingCore
         );
     }
 
-    // move below helpers for deep removal to Pax Exam
-
-    private static List<Option> expand(final Option[] options) {
-        final List<Option> expanded = new ArrayList<>();
-        if (options != null) {
-            for (final Option option : options) {
-                if (option != null) {
-                    if (option instanceof CompositeOption) {
-                        expanded.addAll(Arrays.asList(((CompositeOption) option).getOptions()));
-                    } else {
-                        expanded.add(option);
-                    }
-                }
-            }
-        }
-        return expanded;
-    }
-
-    static Option[] remove(final Option[] options, final Option ... toRemove) {
-        final List<Option> expanded = expand(options);
-        for (Option toRemoveOption : toRemove) {
-            if (toRemoveOption instanceof CompositeOption) {
-                expanded.removeAll(Arrays.asList(((CompositeOption) toRemoveOption).getOptions()));
-            } else {
-                expanded.removeAll(Collections.singleton(toRemoveOption));
-            }
-        }
-        return expanded.toArray(new Option[0]);
-    }
-
 }