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 2022/09/13 21:15:41 UTC

[sling-org-apache-sling-clam] 02/02: SLING-11478 Update Testing PaxExam to 4.0.0

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-clam.git

commit 75ea1d8e14f845f4f7c4643f5669ae158eabb153
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Tue Sep 13 23:15:19 2022 +0200

    SLING-11478 Update Testing PaxExam to 4.0.0
    
    * use Testing PaxExam 4.0.0-SNAPSHOT
    * update test dependencies
    * use Hamcrest's assertThat
---
 pom.xml                                            | 39 ++++++----------------
 .../sling/clam/it/tests/ClamEventsServletIT.java   |  4 +--
 .../sling/clam/it/tests/ClamJcrScanServletIT.java  |  8 +++--
 .../sling/clam/it/tests/ClamTestSupport.java       | 31 +++--------------
 .../it/tests/JcrPropertyScanJobConsumerIT.java     |  5 +--
 .../it/tests/MailSendingScanResultHandlerIT.java   | 26 +++++++++------
 .../ResourcePersistingScanResultHandlerIT.java     |  9 ++---
 7 files changed, 44 insertions(+), 78 deletions(-)

diff --git a/pom.xml b/pom.xml
index c1f3327..4f0fa39 100644
--- a/pom.xml
+++ b/pom.xml
@@ -246,7 +246,7 @@
     <dependency>
       <groupId>org.apache.felix</groupId>
       <artifactId>org.apache.felix.framework</artifactId>
-      <version>7.0.3</version>
+      <version>7.0.5</version>
       <scope>test</scope>
     </dependency>
     <!-- Apache Jackrabbit -->
@@ -321,7 +321,7 @@
       <groupId>org.apache.sling</groupId>
       <artifactId>org.apache.sling.resource.presence</artifactId>
       <version>0.0.2</version>
-      <scope>provided</scope>
+      <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.sling</groupId>
@@ -360,6 +360,12 @@
       <artifactId>junit</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.servicemix.bundles</groupId>
+      <artifactId>org.apache.servicemix.bundles.hamcrest</artifactId>
+      <scope>test</scope>
+      <version>1.3_1</version>
+    </dependency>
     <dependency>
       <groupId>io.rest-assured</groupId>
       <artifactId>rest-assured</artifactId>
@@ -369,13 +375,13 @@
     <dependency>
       <groupId>org.awaitility</groupId>
       <artifactId>awaitility</artifactId>
-      <version>4.2.0</version>
+      <version>3.1.6</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.testcontainers</groupId>
       <artifactId>testcontainers</artifactId>
-      <version>1.17.1</version>
+      <version>1.17.3</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -420,31 +426,6 @@
       <version>2.6.7</version>
       <scope>test</scope>
     </dependency>
-    <!-- testing – truth and dependencies -->
-    <dependency>
-      <groupId>com.google.truth</groupId>
-      <artifactId>truth</artifactId>
-      <version>1.1.3</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>31.1-jre</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>failureaccess</artifactId>
-      <version>1.0.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.googlecode.java-diff-utils</groupId>
-      <artifactId>diffutils</artifactId>
-      <version>1.3.0</version>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
 
 </project>
diff --git a/src/test/java/org/apache/sling/clam/it/tests/ClamEventsServletIT.java b/src/test/java/org/apache/sling/clam/it/tests/ClamEventsServletIT.java
index b166078..e774ef6 100644
--- a/src/test/java/org/apache/sling/clam/it/tests/ClamEventsServletIT.java
+++ b/src/test/java/org/apache/sling/clam/it/tests/ClamEventsServletIT.java
@@ -61,7 +61,7 @@ import static org.ops4j.pax.exam.cm.ConfigurationAdminOptions.factoryConfigurati
 public class ClamEventsServletIT extends ClamTestSupport {
 
     @Inject
-    @Filter(value = "(path=/content/starter)", timeout = 300000)
+    @Filter(value = "(path=/content/starter/img/sling-logo.svg)", timeout = 300000)
     private ResourcePresence resourcePresence;
 
     @Inject
@@ -80,7 +80,7 @@ public class ClamEventsServletIT extends ClamTestSupport {
             clamdConfiguration(),
             slingResourcePresence(),
             factoryConfiguration("org.apache.sling.resource.presence.internal.ResourcePresenter")
-                .put("path", "/content/starter")
+                .put("path", "/content/starter/img/sling-logo.svg")
                 .asOption(),
             slingStarterContent(),
             // ok io/http/eventsource
diff --git a/src/test/java/org/apache/sling/clam/it/tests/ClamJcrScanServletIT.java b/src/test/java/org/apache/sling/clam/it/tests/ClamJcrScanServletIT.java
index 99377fa..6811a51 100644
--- a/src/test/java/org/apache/sling/clam/it/tests/ClamJcrScanServletIT.java
+++ b/src/test/java/org/apache/sling/clam/it/tests/ClamJcrScanServletIT.java
@@ -38,6 +38,7 @@ import org.ops4j.pax.exam.util.Filter;
 import static io.restassured.RestAssured.given;
 import static java.util.concurrent.TimeUnit.MINUTES;
 import static java.util.concurrent.TimeUnit.SECONDS;
+import static org.apache.sling.testing.paxexam.SlingOptions.slingJcrJackrabbitUsermanager;
 import static org.apache.sling.testing.paxexam.SlingOptions.slingResourcePresence;
 import static org.apache.sling.testing.paxexam.SlingOptions.slingStarterContent;
 import static org.awaitility.Awaitility.with;
@@ -49,7 +50,7 @@ import static org.ops4j.pax.exam.cm.ConfigurationAdminOptions.factoryConfigurati
 public class ClamJcrScanServletIT extends ClamTestSupport {
 
     @Inject
-    @Filter(value = "(path=/content/starter)", timeout = 300000)
+    @Filter(value = "(path=/content/starter/img/sling-logo.svg)", timeout = 300000)
     private ResourcePresence resourcePresence;
 
     private static final String URL_TEMPLATE = "http://localhost:%s/system/clam-jcr-scan";
@@ -61,9 +62,10 @@ public class ClamJcrScanServletIT extends ClamTestSupport {
             clamdConfiguration(),
             slingResourcePresence(),
             factoryConfiguration("org.apache.sling.resource.presence.internal.ResourcePresenter")
-                .put("path", "/content/starter")
+                .put("path", "/content/starter/img/sling-logo.svg")
                 .asOption(),
-            slingStarterContent()
+            slingStarterContent(),
+            slingJcrJackrabbitUsermanager()
         );
     }
 
diff --git a/src/test/java/org/apache/sling/clam/it/tests/ClamTestSupport.java b/src/test/java/org/apache/sling/clam/it/tests/ClamTestSupport.java
index 9bec34f..d3089e6 100644
--- a/src/test/java/org/apache/sling/clam/it/tests/ClamTestSupport.java
+++ b/src/test/java/org/apache/sling/clam/it/tests/ClamTestSupport.java
@@ -19,7 +19,6 @@
 package org.apache.sling.clam.it.tests;
 
 import java.util.Collections;
-import java.util.Objects;
 import java.util.regex.Pattern;
 
 import javax.inject.Inject;
@@ -33,26 +32,18 @@ import org.apache.sling.clam.jcr.NodeDescendingJcrPropertyDigger;
 import org.apache.sling.commons.clam.ClamService;
 import org.apache.sling.event.jobs.JobManager;
 import org.apache.sling.jcr.api.SlingRepository;
-import org.apache.sling.testing.paxexam.SlingOptions;
 import org.apache.sling.testing.paxexam.TestSupport;
 import org.ops4j.pax.exam.Option;
 import org.ops4j.pax.exam.options.ModifiableCompositeOption;
-import org.ops4j.pax.exam.options.OptionalCompositeOption;
-import org.ops4j.pax.exam.options.extra.VMOption;
 import org.osgi.framework.BundleContext;
 
 import static org.apache.sling.testing.paxexam.SlingOptions.awaitility;
 import static org.apache.sling.testing.paxexam.SlingOptions.restassured;
+import static org.apache.sling.testing.paxexam.SlingOptions.slingCommonsClam;
 import static org.apache.sling.testing.paxexam.SlingOptions.slingEvent;
 import static org.apache.sling.testing.paxexam.SlingOptions.slingQuickstartOakTar;
 import static org.apache.sling.testing.paxexam.SlingOptions.testcontainers;
-import static org.apache.sling.testing.paxexam.SlingVersionResolver.SLING_GROUP_ID;
 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.vmOption;
-import static org.ops4j.pax.exam.CoreOptions.when;
-import static org.ops4j.pax.exam.CoreOptions.wrappedBundle;
 import static org.ops4j.pax.exam.cm.ConfigurationAdminOptions.factoryConfiguration;
 import static org.ops4j.pax.exam.cm.ConfigurationAdminOptions.newConfiguration;
 
@@ -79,46 +70,32 @@ public abstract class ClamTestSupport extends TestSupport {
     static final String USER_PASSWORD = "foo";
 
     protected ModifiableCompositeOption baseConfiguration() {
-        SlingOptions.versionResolver.setVersionFromProject(SLING_GROUP_ID, "org.apache.sling.commons.threads");
         return composite(
-            // Truth first to prevent version issues with Guava
-            wrappedBundle(mavenBundle().groupId("com.google.truth").artifactId("truth").versionAsInProject()),
-            mavenBundle().groupId("com.google.guava").artifactId("guava").versionAsInProject(),
-            mavenBundle().groupId("com.google.guava").artifactId("failureaccess").versionAsInProject(),
-            mavenBundle().groupId("com.googlecode.java-diff-utils").artifactId("diffutils").versionAsInProject(),
             super.baseConfiguration(),
             quickstart(),
             // Sling Clam
             testBundle("bundle.filename"),
             factoryConfiguration("org.apache.sling.jcr.repoinit.RepositoryInitializer")
-                .put("scripts", new String[]{"create service user sling-clam\ncreate path (sling:Folder) /var/clam/results\nset ACL for sling-clam\nallow jcr:all on /var/clam\nend"})
+                .put("scripts", new String[]{"create service user sling-clam with path system/sling\ncreate path (sling:Folder) /var/clam/results(sling:OrderedFolder)\nset principal ACL for sling-clam\nallow jcr:read on /\nallow rep:write on /var/clam\nend"})
                 .asOption(),
             factoryConfiguration("org.apache.sling.jcr.repoinit.RepositoryInitializer")
                 .put("scripts", new String[]{"create user bob with password foo\ncreate group sling-clam-scan\nadd bob to group sling-clam-scan"})
                 .asOption(),
             factoryConfiguration("org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended")
-                .put("user.mapping", new String[]{"org.apache.sling.clam=sling-clam", "org.apache.sling.clam:result-writer=sling-clam"})
+                .put("user.mapping", new String[]{"org.apache.sling.clam=[sling-clam]", "org.apache.sling.clam:result-writer=[sling-clam]"})
                 .asOption(),
             // Sling Commons Clam
-            mavenBundle().groupId(SLING_GROUP_ID).artifactId("org.apache.sling.commons.clam").versionAsInProject(),
+            slingCommonsClam(),
             // testing
             newConfiguration("org.apache.sling.jcr.base.internal.LoginAdminWhitelist")
                 .put("whitelist.bundles.regexp", "PAXEXAM-PROBE-.*")
                 .asOption(),
-            junitBundles(),
             awaitility(),
             restassured(),
             testcontainers()
         );
     }
 
-    // remove with Testing PaxExam 4.0
-    protected OptionalCompositeOption jacoco() {
-        final String jacocoCommand = System.getProperty("jacoco.command");
-        final VMOption option = Objects.nonNull(jacocoCommand) && !jacocoCommand.trim().isEmpty() ? vmOption(jacocoCommand) : null;
-        return when(Objects.nonNull(option)).useOptions(option);
-    }
-
     protected Option quickstart() {
         final int httpPort = findFreePort();
         final String workingDirectory = workingDirectory();
diff --git a/src/test/java/org/apache/sling/clam/it/tests/JcrPropertyScanJobConsumerIT.java b/src/test/java/org/apache/sling/clam/it/tests/JcrPropertyScanJobConsumerIT.java
index 9028683..381edbe 100644
--- a/src/test/java/org/apache/sling/clam/it/tests/JcrPropertyScanJobConsumerIT.java
+++ b/src/test/java/org/apache/sling/clam/it/tests/JcrPropertyScanJobConsumerIT.java
@@ -30,7 +30,8 @@ import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
 import org.ops4j.pax.exam.spi.reactors.PerClass;
 import org.ops4j.pax.exam.util.Filter;
 
-import static com.google.common.truth.Truth.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.notNullValue;
 import static org.ops4j.pax.exam.CoreOptions.options;
 
 @RunWith(PaxExam.class)
@@ -50,7 +51,7 @@ public class JcrPropertyScanJobConsumerIT extends ClamTestSupport {
 
     @Test
     public void testJobConsumer() {
-        assertThat(jobConsumer).isNotNull();
+        assertThat(jobConsumer, notNullValue());
     }
 
 }
diff --git a/src/test/java/org/apache/sling/clam/it/tests/MailSendingScanResultHandlerIT.java b/src/test/java/org/apache/sling/clam/it/tests/MailSendingScanResultHandlerIT.java
index 72fcfcb..c28d162 100644
--- a/src/test/java/org/apache/sling/clam/it/tests/MailSendingScanResultHandlerIT.java
+++ b/src/test/java/org/apache/sling/clam/it/tests/MailSendingScanResultHandlerIT.java
@@ -44,12 +44,16 @@ import org.ops4j.pax.exam.spi.reactors.PerClass;
 import org.ops4j.pax.exam.util.Filter;
 import org.ops4j.pax.exam.util.PathUtils;
 
-import static com.google.common.truth.Truth.assertThat;
 import static org.apache.sling.testing.paxexam.SlingOptions.greenmail;
 import static org.apache.sling.testing.paxexam.SlingOptions.slingCommonsMessagingMail;
 import static org.apache.sling.testing.paxexam.SlingOptions.slingResourcePresence;
 import static org.apache.sling.testing.paxexam.SlingOptions.slingStarterContent;
 import static org.apache.sling.testing.paxexam.SlingOptions.thymeleaf;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+import static org.hamcrest.Matchers.startsWith;
 import static org.ops4j.pax.exam.CoreOptions.options;
 import static org.ops4j.pax.exam.cm.ConfigurationAdminOptions.factoryConfiguration;
 import static org.ops4j.pax.exam.cm.ConfigurationAdminOptions.newConfiguration;
@@ -63,7 +67,7 @@ public class MailSendingScanResultHandlerIT extends ClamTestSupport {
     private JcrPropertyScanResultHandler jcrPropertyScanResultHandler;
 
     @Inject
-    @Filter(value = "(path=/content/starter)", timeout = 300000)
+    @Filter(value = "(path=/content/starter/img/sling-logo.svg)", timeout = 300000)
     private ResourcePresence resourcePresence;
 
     @Inject
@@ -80,7 +84,7 @@ public class MailSendingScanResultHandlerIT extends ClamTestSupport {
             clamdConfiguration(),
             slingResourcePresence(),
             factoryConfiguration("org.apache.sling.resource.presence.internal.ResourcePresenter")
-                .put("path", "/content/starter")
+                .put("path", "/content/starter/img/sling-logo.svg")
                 .asOption(),
             newConfiguration("org.apache.sling.clam.result.internal.MailSendingScanResultHandler")
                 .put("mail.from", "from@example.org")
@@ -144,7 +148,7 @@ public class MailSendingScanResultHandlerIT extends ClamTestSupport {
 
     @Test
     public void testJcrPropertyScanResultHandler() {
-        assertThat(jcrPropertyScanResultHandler).isNotNull();
+        assertThat(jcrPropertyScanResultHandler, notNullValue());
     }
 
     @Test
@@ -152,16 +156,16 @@ public class MailSendingScanResultHandlerIT extends ClamTestSupport {
         digBinaries(nodeDescendingJcrPropertyDigger, "/content/starter");
         greenMail.waitForIncomingEmail(60000, 8);
         final MimeMessage[] messages = greenMail.getReceivedMessages();
-        assertThat(messages.length).isEqualTo(8);
+        assertThat(messages.length, is(8));
         for (final MimeMessage message : messages) {
-            assertThat(message.getSubject()).startsWith("Clam scan result: OK for /content/starter/");
+            assertThat(message.getSubject(), startsWith("Clam scan result: OK for /content/starter/"));
             final MimeMessageParser parser = new MimeMessageParser(message).parse();
             final String text = parser.getPlainContent();
-            assertThat(text).contains("status: OK");
-            assertThat(text).contains("message: ");
-            assertThat(text).contains("path: /content/starter/");
-            assertThat(text).contains("started: ");
-            assertThat(text).contains("timestamp: ");
+            assertThat(text, containsString("status: OK"));
+            assertThat(text, containsString("message: "));
+            assertThat(text, containsString("path: /content/starter/"));
+            assertThat(text, containsString("started: "));
+            assertThat(text, containsString("timestamp: "));
         }
     }
 
diff --git a/src/test/java/org/apache/sling/clam/it/tests/ResourcePersistingScanResultHandlerIT.java b/src/test/java/org/apache/sling/clam/it/tests/ResourcePersistingScanResultHandlerIT.java
index d5769ca..d161532 100644
--- a/src/test/java/org/apache/sling/clam/it/tests/ResourcePersistingScanResultHandlerIT.java
+++ b/src/test/java/org/apache/sling/clam/it/tests/ResourcePersistingScanResultHandlerIT.java
@@ -36,12 +36,13 @@ import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
 import org.ops4j.pax.exam.spi.reactors.PerClass;
 import org.ops4j.pax.exam.util.Filter;
 
-import static com.google.common.truth.Truth.assertThat;
 import static java.util.concurrent.TimeUnit.MINUTES;
 import static java.util.concurrent.TimeUnit.SECONDS;
 import static org.apache.sling.testing.paxexam.SlingOptions.slingResourcePresence;
 import static org.apache.sling.testing.paxexam.SlingOptions.slingStarterContent;
 import static org.awaitility.Awaitility.with;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.notNullValue;
 import static org.ops4j.pax.exam.CoreOptions.options;
 import static org.ops4j.pax.exam.cm.ConfigurationAdminOptions.factoryConfiguration;
 import static org.ops4j.pax.exam.cm.ConfigurationAdminOptions.newConfiguration;
@@ -55,7 +56,7 @@ public class ResourcePersistingScanResultHandlerIT extends ClamTestSupport {
     private JcrPropertyScanResultHandler jcrPropertyScanResultHandler;
 
     @Inject
-    @Filter(value = "(path=/content/starter)", timeout = 300000)
+    @Filter(value = "(path=/content/starter/img/sling-logo.svg)", timeout = 300000)
     private ResourcePresence resourcePresence;
 
     @Inject
@@ -68,7 +69,7 @@ public class ResourcePersistingScanResultHandlerIT extends ClamTestSupport {
             clamdConfiguration(),
             slingResourcePresence(),
             factoryConfiguration("org.apache.sling.resource.presence.internal.ResourcePresenter")
-                .put("path", "/content/starter")
+                .put("path", "/content/starter/img/sling-logo.svg")
                 .asOption(),
             newConfiguration("org.apache.sling.clam.result.internal.ResourcePersistingScanResultHandler")
                 .put("result.status.ok.persist", true)
@@ -80,7 +81,7 @@ public class ResourcePersistingScanResultHandlerIT extends ClamTestSupport {
 
     @Test
     public void testJcrPropertyScanResultHandler() {
-        assertThat(jcrPropertyScanResultHandler).isNotNull();
+        assertThat(jcrPropertyScanResultHandler, notNullValue());
     }
 
     @Test