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 <[email protected]> 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", "[email protected]") @@ -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
