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 2019/07/26 12:29:40 UTC

[sling-org-apache-sling-testing-paxexam] branch master updated (e4bb9dc -> cc95573)

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

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


    from e4bb9dc  SLING-8589 Provide Awaitility Option
     new 81e30b1  SLING-8589 Provide Awaitility Option
     new fc3dceb  SLING-8547 Provide Testcontainers Option
     new cc95573  SLING-8590 Provide REST Assured Option

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/sling/testing/paxexam/SlingOptions.java | 25 ++++++++++++++++++++--
 .../testing/paxexam/SlingVersionResolver.java      | 15 +++++++++++--
 src/main/resources/templates/SlingOptions.hbs      | 25 ++++++++++++++++++++--
 .../resources/templates/SlingVersionResolver.hbs   | 17 ++++++++++++---
 ...odelsIT.java => SlingOptionsRestassuredIT.java} |  6 +++---
 5 files changed, 76 insertions(+), 12 deletions(-)
 copy src/test/java/org/apache/sling/testing/paxexam/it/tests/{SlingOptionsSlingModelsIT.java => SlingOptionsRestassuredIT.java} (90%)


[sling-org-apache-sling-testing-paxexam] 03/03: SLING-8590 Provide REST Assured Option

Posted by ol...@apache.org.
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 cc95573aa4ef259ea5725572a312164b4ccae0b2
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Sun Jul 21 22:07:42 2019 +0200

    SLING-8590 Provide REST Assured Option
---
 .../apache/sling/testing/paxexam/SlingOptions.java | 18 ++++++++
 .../testing/paxexam/SlingVersionResolver.java      | 11 +++++
 src/main/resources/templates/SlingOptions.hbs      | 18 ++++++++
 .../resources/templates/SlingVersionResolver.hbs   | 13 +++++-
 .../it/tests/SlingOptionsRestassuredIT.java        | 49 ++++++++++++++++++++++
 5 files changed, 108 insertions(+), 1 deletion(-)

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 ae96a79..a72c4d6 100644
--- a/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java
+++ b/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java
@@ -176,6 +176,24 @@ public class SlingOptions {
         );
     }
 
+    public static ModifiableCompositeOption restassured() {
+        return composite(
+            backing(),
+            mavenBundle().groupId("io.rest-assured").artifactId("rest-assured").version(versionResolver),
+            mavenBundle().groupId("io.rest-assured").artifactId("rest-assured-common").version(versionResolver),
+            mavenBundle().groupId("io.rest-assured").artifactId("json-path").version(versionResolver),
+            mavenBundle().groupId("io.rest-assured").artifactId("xml-path").version(versionResolver),
+            mavenBundle().groupId("org.apache.commons").artifactId("commons-lang3").version(versionResolver),
+            mavenBundle().groupId("org.codehaus.groovy").artifactId("groovy").version(versionResolver),
+            mavenBundle().groupId("org.codehaus.groovy").artifactId("groovy-json").version(versionResolver),
+            mavenBundle().groupId("org.codehaus.groovy").artifactId("groovy-xml").version(versionResolver),
+            mavenBundle().groupId("org.apache.servicemix.bundles").artifactId("org.apache.servicemix.bundles.tagsoup").version(versionResolver),
+            mavenBundle().groupId("org.apache.httpcomponents").artifactId("httpcore-osgi").version(versionResolver),
+            mavenBundle().groupId("org.apache.httpcomponents").artifactId("httpclient-osgi").version(versionResolver),
+            mavenBundle().groupId("org.hamcrest").artifactId("hamcrest").version(versionResolver)
+        );
+    }
+
     public static ModifiableCompositeOption testcontainers() {
         return composite(
             junitBundles(),
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 a5092db..a539402 100644
--- a/src/main/java/org/apache/sling/testing/paxexam/SlingVersionResolver.java
+++ b/src/main/java/org/apache/sling/testing/paxexam/SlingVersionResolver.java
@@ -34,11 +34,15 @@ public class SlingVersionResolver implements VersionResolver {
     public static final String SLING_GROUP_ID = "org.apache.sling";
 
     public SlingVersionResolver() {
+        versions.put("org.apache.commons:commons-lang3", "3.9");
+        versions.put("org.apache.httpcomponents:httpclient-osgi", "4.5.8");
+        versions.put("org.apache.httpcomponents:httpcore-osgi", "4.4.11");
         versions.put("org.apache.servicemix.specs:org.apache.servicemix.specs.annotation-api-1.3", "1.3_1");
         versions.put("org.apache.servicemix.specs:org.apache.servicemix.specs.activation-api-1.1", "2.9.0");
         versions.put("org.apache.servicemix.specs:org.apache.servicemix.specs.stax-api-1.2", "1.2_1");
         versions.put("org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.2", "2.9.0");
         versions.put("org.apache.servicemix.bundles:org.apache.servicemix.bundles.jaxb-impl", "2.2.11_1");
+        versions.put("org.apache.servicemix.bundles:org.apache.servicemix.bundles.tagsoup", "1.2.1_1");
         versions.put("org.apache.sling:org.apache.sling.scripting.jsp-api", "1.0.0");
         versions.put("org.apache.sling:org.apache.sling.scripting.el-api", "1.0.0");
         versions.put("org.apache.felix:org.apache.felix.configadmin", "1.9.14");
@@ -57,6 +61,9 @@ public class SlingVersionResolver implements VersionResolver {
         versions.put("org.apache.felix:org.apache.felix.scr", "2.1.16");
         versions.put("org.apache.felix:org.apache.felix.webconsole", "4.3.12");
         versions.put("org.awaitility:awaitility", "4.0.0-rc1");
+        versions.put("org.codehaus.groovy:groovy", "2.5.0");
+        versions.put("org.codehaus.groovy:groovy-json", "2.5.0");
+        versions.put("org.codehaus.groovy:groovy-xml", "2.5.0");
         versions.put("org.hamcrest:hamcrest", "2.1");
         versions.put("org.ops4j.base:ops4j-base-lang", "1.5.0");
         versions.put("org.ops4j.base:ops4j-base-util-property", "1.5.0");
@@ -77,6 +84,10 @@ public class SlingVersionResolver implements VersionResolver {
         versions.put("ch.qos.logback:logback-classic", "1.2.3");
         versions.put("biz.aQute.bnd:biz.aQute.bndlib", "3.5.0");
         versions.put("biz.aQute.bnd:bndlib", "2.4.0");
+        versions.put("io.rest-assured:json-path", "4.0.0");
+        versions.put("io.rest-assured:rest-assured", "4.0.0");
+        versions.put("io.rest-assured:rest-assured-common", "4.0.0");
+        versions.put("io.rest-assured:xml-path", "4.0.0");
         versions.put("com.composum.sling.core:composum-sling-core-commons", "1.9.4");
         versions.put("com.composum.sling.core:composum-sling-core-config", "1.9.4");
         versions.put("com.composum.sling.core:composum-sling-core-console", "1.9.4");
diff --git a/src/main/resources/templates/SlingOptions.hbs b/src/main/resources/templates/SlingOptions.hbs
index 358ac68..e27a730 100644
--- a/src/main/resources/templates/SlingOptions.hbs
+++ b/src/main/resources/templates/SlingOptions.hbs
@@ -174,6 +174,24 @@ public class SlingOptions {
         );
     }
 
+    public static ModifiableCompositeOption restassured() {
+        return composite(
+            backing(),
+            mavenBundle().groupId("io.rest-assured").artifactId("rest-assured").version(versionResolver),
+            mavenBundle().groupId("io.rest-assured").artifactId("rest-assured-common").version(versionResolver),
+            mavenBundle().groupId("io.rest-assured").artifactId("json-path").version(versionResolver),
+            mavenBundle().groupId("io.rest-assured").artifactId("xml-path").version(versionResolver),
+            mavenBundle().groupId("org.apache.commons").artifactId("commons-lang3").version(versionResolver),
+            mavenBundle().groupId("org.codehaus.groovy").artifactId("groovy").version(versionResolver),
+            mavenBundle().groupId("org.codehaus.groovy").artifactId("groovy-json").version(versionResolver),
+            mavenBundle().groupId("org.codehaus.groovy").artifactId("groovy-xml").version(versionResolver),
+            mavenBundle().groupId("org.apache.servicemix.bundles").artifactId("org.apache.servicemix.bundles.tagsoup").version(versionResolver),
+            mavenBundle().groupId("org.apache.httpcomponents").artifactId("httpcore-osgi").version(versionResolver),
+            mavenBundle().groupId("org.apache.httpcomponents").artifactId("httpclient-osgi").version(versionResolver),
+            mavenBundle().groupId("org.hamcrest").artifactId("hamcrest").version(versionResolver)
+        );
+    }
+
     public static ModifiableCompositeOption testcontainers() {
         return composite(
             junitBundles(),
diff --git a/src/main/resources/templates/SlingVersionResolver.hbs b/src/main/resources/templates/SlingVersionResolver.hbs
index d2dd5fa..db793ef 100644
--- a/src/main/resources/templates/SlingVersionResolver.hbs
+++ b/src/main/resources/templates/SlingVersionResolver.hbs
@@ -34,11 +34,15 @@ public class SlingVersionResolver implements VersionResolver {
     public static final String SLING_GROUP_ID = "org.apache.sling";
 
     public SlingVersionResolver() {
+        versions.put("org.apache.commons:commons-lang3", "3.9");
+        versions.put("org.apache.httpcomponents:httpclient-osgi", "4.5.8");
+        versions.put("org.apache.httpcomponents:httpcore-osgi", "4.4.11");
         versions.put("org.apache.servicemix.specs:org.apache.servicemix.specs.annotation-api-1.3", "1.3_1");
         versions.put("org.apache.servicemix.specs:org.apache.servicemix.specs.activation-api-1.1", "2.9.0");
         versions.put("org.apache.servicemix.specs:org.apache.servicemix.specs.stax-api-1.2", "1.2_1");
         versions.put("org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.2", "2.9.0");
         versions.put("org.apache.servicemix.bundles:org.apache.servicemix.bundles.jaxb-impl", "2.2.11_1");
+        versions.put("org.apache.servicemix.bundles:org.apache.servicemix.bundles.tagsoup", "1.2.1_1");
         versions.put("org.apache.sling:org.apache.sling.scripting.jsp-api", "1.0.0");
         versions.put("org.apache.sling:org.apache.sling.scripting.el-api", "1.0.0");
         versions.put("org.apache.felix:org.apache.felix.configadmin", "1.9.14");
@@ -57,6 +61,9 @@ public class SlingVersionResolver implements VersionResolver {
         versions.put("org.apache.felix:org.apache.felix.scr", "2.1.16");
         versions.put("org.apache.felix:org.apache.felix.webconsole", "4.3.12");
         versions.put("org.awaitility:awaitility", "4.0.0-rc1");
+        versions.put("org.codehaus.groovy:groovy", "2.5.0");
+        versions.put("org.codehaus.groovy:groovy-json", "2.5.0");
+        versions.put("org.codehaus.groovy:groovy-xml", "2.5.0");
         versions.put("org.hamcrest:hamcrest", "2.1");
         versions.put("org.ops4j.base:ops4j-base-lang", "1.5.0");
         versions.put("org.ops4j.base:ops4j-base-util-property", "1.5.0");
@@ -76,7 +83,11 @@ public class SlingVersionResolver implements VersionResolver {
         versions.put("ch.qos.logback:logback-core", "1.2.3");
         versions.put("ch.qos.logback:logback-classic", "1.2.3");
         versions.put("biz.aQute.bnd:biz.aQute.bndlib", "3.5.0");
-        versions.put("biz.aQute.bnd:bndlib", "2.4.0");{{#each bundles}}
+        versions.put("biz.aQute.bnd:bndlib", "2.4.0");
+        versions.put("io.rest-assured:json-path", "4.0.0");
+        versions.put("io.rest-assured:rest-assured", "4.0.0");
+        versions.put("io.rest-assured:rest-assured-common", "4.0.0");
+        versions.put("io.rest-assured:xml-path", "4.0.0");{{#each bundles}}
         versions.put("{{groupId}}:{{artifactId}}", "{{version}}");{{/each}}
     }
 
diff --git a/src/test/java/org/apache/sling/testing/paxexam/it/tests/SlingOptionsRestassuredIT.java b/src/test/java/org/apache/sling/testing/paxexam/it/tests/SlingOptionsRestassuredIT.java
new file mode 100644
index 0000000..fbaf637
--- /dev/null
+++ b/src/test/java/org/apache/sling/testing/paxexam/it/tests/SlingOptionsRestassuredIT.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.restassured;
+import static org.ops4j.pax.exam.CoreOptions.options;
+
+@RunWith(PaxExam.class)
+@ExamReactorStrategy(PerClass.class)
+public class SlingOptionsRestassuredIT extends SlingOptionsTestSupport {
+
+    @Configuration
+    public Option[] configuration() {
+        return options(
+            baseConfiguration(),
+            restassured()
+        );
+    }
+
+    @Test
+    public void test() {
+    }
+
+}


[sling-org-apache-sling-testing-paxexam] 01/03: SLING-8589 Provide Awaitility Option

Posted by ol...@apache.org.
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 81e30b1586d539daec363c4bd285d30370683829
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Sun Jul 21 20:25:32 2019 +0200

    SLING-8589 Provide Awaitility Option
    
    Use Awaitility 4.0.0-rc1 and Hamcrest 2.1
---
 src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java      | 2 +-
 .../java/org/apache/sling/testing/paxexam/SlingVersionResolver.java   | 4 ++--
 src/main/resources/templates/SlingOptions.hbs                         | 2 +-
 src/main/resources/templates/SlingVersionResolver.hbs                 | 4 ++--
 4 files changed, 6 insertions(+), 6 deletions(-)

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 e850700..94ff421 100644
--- a/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java
+++ b/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java
@@ -40,7 +40,7 @@ public class SlingOptions {
     public static ModifiableCompositeOption awaitility() {
         return composite(
             mavenBundle().groupId("org.awaitility").artifactId("awaitility").version(versionResolver),
-            mavenBundle().groupId("org.apache.servicemix.bundles").artifactId("org.apache.servicemix.bundles.hamcrest").version(versionResolver)
+            mavenBundle().groupId("org.hamcrest").artifactId("hamcrest").version(versionResolver)
         );
     }
 
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 eaeadac..a5092db 100644
--- a/src/main/java/org/apache/sling/testing/paxexam/SlingVersionResolver.java
+++ b/src/main/java/org/apache/sling/testing/paxexam/SlingVersionResolver.java
@@ -38,7 +38,6 @@ public class SlingVersionResolver implements VersionResolver {
         versions.put("org.apache.servicemix.specs:org.apache.servicemix.specs.activation-api-1.1", "2.9.0");
         versions.put("org.apache.servicemix.specs:org.apache.servicemix.specs.stax-api-1.2", "1.2_1");
         versions.put("org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.2", "2.9.0");
-        versions.put("org.apache.servicemix.bundles:org.apache.servicemix.bundles.hamcrest", "1.3_1");
         versions.put("org.apache.servicemix.bundles:org.apache.servicemix.bundles.jaxb-impl", "2.2.11_1");
         versions.put("org.apache.sling:org.apache.sling.scripting.jsp-api", "1.0.0");
         versions.put("org.apache.sling:org.apache.sling.scripting.el-api", "1.0.0");
@@ -57,7 +56,8 @@ public class SlingVersionResolver implements VersionResolver {
         versions.put("org.apache.felix:org.apache.felix.metatype", "1.2.2");
         versions.put("org.apache.felix:org.apache.felix.scr", "2.1.16");
         versions.put("org.apache.felix:org.apache.felix.webconsole", "4.3.12");
-        versions.put("org.awaitility:awaitility", "3.1.6");
+        versions.put("org.awaitility:awaitility", "4.0.0-rc1");
+        versions.put("org.hamcrest:hamcrest", "2.1");
         versions.put("org.ops4j.base:ops4j-base-lang", "1.5.0");
         versions.put("org.ops4j.base:ops4j-base-util-property", "1.5.0");
         versions.put("org.ops4j.pax.swissbox:pax-swissbox-bnd", "1.8.3");
diff --git a/src/main/resources/templates/SlingOptions.hbs b/src/main/resources/templates/SlingOptions.hbs
index fea1956..7537697 100644
--- a/src/main/resources/templates/SlingOptions.hbs
+++ b/src/main/resources/templates/SlingOptions.hbs
@@ -40,7 +40,7 @@ public class SlingOptions {
     public static ModifiableCompositeOption awaitility() {
         return composite(
             mavenBundle().groupId("org.awaitility").artifactId("awaitility").version(versionResolver),
-            mavenBundle().groupId("org.apache.servicemix.bundles").artifactId("org.apache.servicemix.bundles.hamcrest").version(versionResolver)
+            mavenBundle().groupId("org.hamcrest").artifactId("hamcrest").version(versionResolver)
         );
     }
 
diff --git a/src/main/resources/templates/SlingVersionResolver.hbs b/src/main/resources/templates/SlingVersionResolver.hbs
index 030be6a..d2dd5fa 100644
--- a/src/main/resources/templates/SlingVersionResolver.hbs
+++ b/src/main/resources/templates/SlingVersionResolver.hbs
@@ -38,7 +38,6 @@ public class SlingVersionResolver implements VersionResolver {
         versions.put("org.apache.servicemix.specs:org.apache.servicemix.specs.activation-api-1.1", "2.9.0");
         versions.put("org.apache.servicemix.specs:org.apache.servicemix.specs.stax-api-1.2", "1.2_1");
         versions.put("org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.2", "2.9.0");
-        versions.put("org.apache.servicemix.bundles:org.apache.servicemix.bundles.hamcrest", "1.3_1");
         versions.put("org.apache.servicemix.bundles:org.apache.servicemix.bundles.jaxb-impl", "2.2.11_1");
         versions.put("org.apache.sling:org.apache.sling.scripting.jsp-api", "1.0.0");
         versions.put("org.apache.sling:org.apache.sling.scripting.el-api", "1.0.0");
@@ -57,7 +56,8 @@ public class SlingVersionResolver implements VersionResolver {
         versions.put("org.apache.felix:org.apache.felix.metatype", "1.2.2");
         versions.put("org.apache.felix:org.apache.felix.scr", "2.1.16");
         versions.put("org.apache.felix:org.apache.felix.webconsole", "4.3.12");
-        versions.put("org.awaitility:awaitility", "3.1.6");
+        versions.put("org.awaitility:awaitility", "4.0.0-rc1");
+        versions.put("org.hamcrest:hamcrest", "2.1");
         versions.put("org.ops4j.base:ops4j-base-lang", "1.5.0");
         versions.put("org.ops4j.base:ops4j-base-util-property", "1.5.0");
         versions.put("org.ops4j.pax.swissbox:pax-swissbox-bnd", "1.8.3");


[sling-org-apache-sling-testing-paxexam] 02/03: SLING-8547 Provide Testcontainers Option

Posted by ol...@apache.org.
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 fc3dceb8949f9d039d39fcd24823ef11611b6c7d
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Sun Jul 21 20:29:16 2019 +0200

    SLING-8547 Provide Testcontainers Option
    
    Adjust Testcontainers bundle (fixes classloading issue with Junit/Hamcrest)
---
 src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java | 5 ++++-
 src/main/resources/templates/SlingOptions.hbs                    | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

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 94ff421..ae96a79 100644
--- a/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java
+++ b/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java
@@ -19,9 +19,11 @@
 package org.apache.sling.testing.paxexam;
 
 import org.ops4j.pax.exam.options.ModifiableCompositeOption;
+import org.ops4j.pax.exam.options.WrappedUrlProvisionOption;
 import org.ops4j.pax.exam.util.PathUtils;
 
 import static org.ops4j.pax.exam.CoreOptions.composite;
+import static org.ops4j.pax.exam.CoreOptions.junitBundles;
 import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
 import static org.ops4j.pax.exam.CoreOptions.systemPackages;
 import static org.ops4j.pax.exam.CoreOptions.systemProperty;
@@ -176,9 +178,10 @@ public class SlingOptions {
 
     public static ModifiableCompositeOption testcontainers() {
         return composite(
+            junitBundles(),
             paxUrlWrap(),
             wrappedBundle(mavenBundle().groupId("org.rnorth.duct-tape").artifactId("duct-tape").version(versionResolver)),
-            wrappedBundle(mavenBundle().groupId("org.testcontainers").artifactId("testcontainers").version(versionResolver))
+            wrappedBundle(mavenBundle().groupId("org.testcontainers").artifactId("testcontainers").version(versionResolver)).imports("org.junit.rules").overwriteManifest(WrappedUrlProvisionOption.OverwriteMode.MERGE)
         );
     }
 
diff --git a/src/main/resources/templates/SlingOptions.hbs b/src/main/resources/templates/SlingOptions.hbs
index 7537697..358ac68 100644
--- a/src/main/resources/templates/SlingOptions.hbs
+++ b/src/main/resources/templates/SlingOptions.hbs
@@ -19,9 +19,11 @@
 package org.apache.sling.testing.paxexam;
 
 import org.ops4j.pax.exam.options.ModifiableCompositeOption;
+import org.ops4j.pax.exam.options.WrappedUrlProvisionOption;
 import org.ops4j.pax.exam.util.PathUtils;
 
 import static org.ops4j.pax.exam.CoreOptions.composite;
+import static org.ops4j.pax.exam.CoreOptions.junitBundles;
 import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
 import static org.ops4j.pax.exam.CoreOptions.systemPackages;
 import static org.ops4j.pax.exam.CoreOptions.systemProperty;
@@ -174,9 +176,10 @@ public class SlingOptions {
 
     public static ModifiableCompositeOption testcontainers() {
         return composite(
+            junitBundles(),
             paxUrlWrap(),
             wrappedBundle(mavenBundle().groupId("org.rnorth.duct-tape").artifactId("duct-tape").version(versionResolver)),
-            wrappedBundle(mavenBundle().groupId("org.testcontainers").artifactId("testcontainers").version(versionResolver))
+            wrappedBundle(mavenBundle().groupId("org.testcontainers").artifactId("testcontainers").version(versionResolver)).imports("org.junit.rules").overwriteManifest(WrappedUrlProvisionOption.OverwriteMode.MERGE)
         );
     }
 {{#each features}}