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

tallison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git


The following commit(s) were added to refs/heads/main by this push:
     new e2db6ce12 TIKA-3870 -- migrate to junit 5 in testcontainers tests
e2db6ce12 is described below

commit e2db6ce12c692302fa9fb24ac49624758ce2bdc2
Author: tallison <[email protected]>
AuthorDate: Tue Oct 4 09:49:36 2022 -0400

    TIKA-3870 -- migrate to junit 5 in testcontainers tests
---
 .../tika-pipes-kafka-integration-tests/pom.xml     |  6 +-
 .../tika/pipes/kafka/tests/TikaPipesKafkaTest.java | 27 ++++----
 .../pom.xml                                        |  6 +-
 .../tika/pipes/es/tests/TikaPipesES7Test.java      | 16 +++--
 .../tests/TikaPipesOpenSearch1xTest.java           | 13 ++--
 .../opensearch/tests/TikaPipesOpenSearchTest.java  | 13 ++--
 .../pipes/xsearch/tests/TikaPipesXSearchBase.java  | 74 +++++++++++-----------
 .../tika/pipes/s3/tests/PipeIntegrationTests.java  |  6 +-
 .../tika-pipes-solr-integration-tests/pom.xml      |  6 ++
 .../tika/pipes/solr/tests/TikaPipesSolr6Test.java  |  3 +
 .../pipes/solr/tests/TikaPipesSolr6ZkTest.java     |  6 +-
 .../tika/pipes/solr/tests/TikaPipesSolr7Test.java  |  3 +
 .../pipes/solr/tests/TikaPipesSolr7ZkTest.java     |  6 +-
 .../tika/pipes/solr/tests/TikaPipesSolr8Test.java  |  5 +-
 .../pipes/solr/tests/TikaPipesSolr8ZkTest.java     |  6 +-
 .../tika/pipes/solr/tests/TikaPipesSolr9Test.java  |  3 +
 .../pipes/solr/tests/TikaPipesSolr9ZkTest.java     |  9 +--
 .../pipes/solr/tests/TikaPipesSolrTestBase.java    | 44 +++++++++----
 tika-parent/pom.xml                                | 27 +++++++-
 19 files changed, 181 insertions(+), 98 deletions(-)

diff --git a/tika-integration-tests/tika-pipes-kafka-integration-tests/pom.xml 
b/tika-integration-tests/tika-pipes-kafka-integration-tests/pom.xml
index 5a703b221..63ec978fc 100644
--- a/tika-integration-tests/tika-pipes-kafka-integration-tests/pom.xml
+++ b/tika-integration-tests/tika-pipes-kafka-integration-tests/pom.xml
@@ -32,7 +32,6 @@
     <dependency>
       <groupId>org.testcontainers</groupId>
       <artifactId>testcontainers</artifactId>
-      <version>${test.containers.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -41,6 +40,11 @@
       <version>${test.containers.version}</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.testcontainers</groupId>
+      <artifactId>junit-jupiter</artifactId>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>tika-core</artifactId>
diff --git 
a/tika-integration-tests/tika-pipes-kafka-integration-tests/src/test/java/org/apache/tika/pipes/kafka/tests/TikaPipesKafkaTest.java
 
b/tika-integration-tests/tika-pipes-kafka-integration-tests/src/test/java/org/apache/tika/pipes/kafka/tests/TikaPipesKafkaTest.java
index 18a3cbf45..6be1eb24f 100644
--- 
a/tika-integration-tests/tika-pipes-kafka-integration-tests/src/test/java/org/apache/tika/pipes/kafka/tests/TikaPipesKafkaTest.java
+++ 
b/tika-integration-tests/tika-pipes-kafka-integration-tests/src/test/java/org/apache/tika/pipes/kafka/tests/TikaPipesKafkaTest.java
@@ -16,6 +16,9 @@
  */
 package org.apache.tika.pipes.kafka.tests;
 
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
 import java.io.File;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
@@ -48,13 +51,13 @@ import 
org.apache.kafka.common.serialization.StringSerializer;
 import org.apache.tika.cli.TikaCLI;
 import org.apache.tika.pipes.HandlerConfig;
 import org.jetbrains.annotations.NotNull;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.testcontainers.containers.KafkaContainer;
+import org.testcontainers.junit.jupiter.Testcontainers;
 import org.testcontainers.shaded.org.apache.commons.io.FileUtils;
 import org.testcontainers.utility.DockerImageName;
 
@@ -64,6 +67,7 @@ import org.testcontainers.utility.DockerImageName;
  * the kafka emitter will send the now-parsed output to the "emitter_topic".
  * Will then wait for the messages to come from the emitter and assert they 
are correct.
  */
+@Testcontainers(disabledWithoutDocker = true)
 public class TikaPipesKafkaTest {
     private static final Logger LOG = 
LoggerFactory.getLogger(TikaPipesKafkaTest.class);
 
@@ -96,12 +100,12 @@ public class TikaPipesKafkaTest {
 
     KafkaContainer kafka = new 
KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:6.2.1"));
 
-    @Before
+    @BeforeEach
     public void before() {
         kafka.start();
     }
 
-    @After
+    @AfterEach
     public void after() {
         kafka.close();
     }
@@ -180,17 +184,18 @@ public class TikaPipesKafkaTest {
 
         Stopwatch stopwatch = Stopwatch.createStarted();
         while (!waitingFor.isEmpty()) {
-            Assert.assertFalse("Timed out after " + 
WAIT_FOR_EMITTED_DOCS_TIMEOUT_MINUTES + " minutes waiting for the emitted docs",
-                    stopwatch.elapsed(TimeUnit.MINUTES) > 
WAIT_FOR_EMITTED_DOCS_TIMEOUT_MINUTES);
+            assertFalse(
+                    stopwatch.elapsed(TimeUnit.MINUTES) > 
WAIT_FOR_EMITTED_DOCS_TIMEOUT_MINUTES,
+                    "Timed out after " + WAIT_FOR_EMITTED_DOCS_TIMEOUT_MINUTES 
+ " minutes waiting for the emitted docs");
             try {
                 ConsumerRecords<String, String> records = 
consumer.poll(Duration.ofSeconds(1));
                 for (ConsumerRecord<String, String> record : records) {
                     String val = record.value();
                     Map<String, Object> valMap = objectMapper.readValue(val, 
new TypeReference<Map<String, Object>>() {});
                     waitingFor.remove(FilenameUtils.getName(record.key()));
-                    Assert.assertNotNull(valMap.get("content_s"));
-                    Assert.assertNotNull(valMap.get("mime_s"));
-                    Assert.assertNotNull(valMap.get("length_i"));
+                    assertNotNull(valMap.get("content_s"));
+                    assertNotNull(valMap.get("mime_s"));
+                    assertNotNull(valMap.get("length_i"));
                     LOG.info("Received message key={}, offset={}", 
record.key(), record.offset());
                 }
             } catch (Exception e) {
diff --git 
a/tika-integration-tests/tika-pipes-opensearch-integration-tests/pom.xml 
b/tika-integration-tests/tika-pipes-opensearch-integration-tests/pom.xml
index a47b02f8c..3f904521a 100644
--- a/tika-integration-tests/tika-pipes-opensearch-integration-tests/pom.xml
+++ b/tika-integration-tests/tika-pipes-opensearch-integration-tests/pom.xml
@@ -32,7 +32,6 @@
     <dependency>
       <groupId>org.testcontainers</groupId>
       <artifactId>testcontainers</artifactId>
-      <version>${test.containers.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -66,6 +65,11 @@
       <type>test-jar</type>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.testcontainers</groupId>
+      <artifactId>junit-jupiter</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
diff --git 
a/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/es/tests/TikaPipesES7Test.java
 
b/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/es/tests/TikaPipesES7Test.java
index 0ebb03922..6b8b9de0b 100644
--- 
a/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/es/tests/TikaPipesES7Test.java
+++ 
b/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/es/tests/TikaPipesES7Test.java
@@ -19,10 +19,11 @@ package org.apache.tika.pipes.es.tests;
 import java.time.Duration;
 import java.time.temporal.ChronoUnit;
 
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Ignore;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
 import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
 import org.testcontainers.utility.DockerImageName;
 
 import org.apache.tika.pipes.xsearch.tests.TikaPipesXSearchBase;
@@ -32,7 +33,8 @@ import 
org.apache.tika.pipes.xsearch.tests.TikaPipesXSearchBase;
  * emitter no longer works with elasticsearch.  We should not use
  * &gt; 7.10.x in our unit tests because those versions are not ASL 2.0
  */
-@Ignore
+@Disabled
+@Testcontainers(disabledWithoutDocker = true)
 public class TikaPipesES7Test extends TikaPipesXSearchBase {
 
     // versions > 7.10.x are no longer ASL 2.0. We should not
@@ -40,15 +42,15 @@ public class TikaPipesES7Test extends TikaPipesXSearchBase {
     private static final String DOCKER_IMAGE_NAME = "docker.elastic" +
             ".co/elasticsearch/elasticsearch:7.10.2";
 
-    @ClassRule
+    @Container
     public static GenericContainer<?> ELASTIC_SEARCH_CONTAINER =
             new GenericContainer<>(DockerImageName.parse(DOCKER_IMAGE_NAME))
                     .withExposedPorts(9200)
                     .withStartupTimeout(Duration.of(180, ChronoUnit.SECONDS))
                     .withEnv("discovery.type", "single-node");
 
-    @BeforeClass
-    public static void setupTest() throws Exception {
+    @BeforeEach
+    public void setupTest() throws Exception {
         setupXSearch(ELASTIC_SEARCH_CONTAINER, "http://";);
     }
 }
diff --git 
a/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/opensearch/tests/TikaPipesOpenSearch1xTest.java
 
b/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/opensearch/tests/TikaPipesOpenSearch1xTest.java
index e99c83083..fdc389246 100644
--- 
a/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/opensearch/tests/TikaPipesOpenSearch1xTest.java
+++ 
b/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/opensearch/tests/TikaPipesOpenSearch1xTest.java
@@ -19,18 +19,19 @@ package org.apache.tika.pipes.opensearch.tests;
 import java.time.Duration;
 import java.time.temporal.ChronoUnit;
 
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
+import org.junit.jupiter.api.BeforeEach;
 import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
 import org.testcontainers.utility.DockerImageName;
 
 import org.apache.tika.pipes.xsearch.tests.TikaPipesXSearchBase;
-
+@Testcontainers(disabledWithoutDocker = true)
 public class TikaPipesOpenSearch1xTest extends TikaPipesXSearchBase {
 
     private static final String DOCKER_IMAGE_NAME = 
"opensearchproject/opensearch:1.3.2";
 
-    @ClassRule
+    @Container
     public static GenericContainer<?> OPEN_SEARCH_CONTAINER =
             new GenericContainer<>(DockerImageName.parse(DOCKER_IMAGE_NAME))
                     .withExposedPorts(9200)
@@ -38,8 +39,8 @@ public class TikaPipesOpenSearch1xTest extends 
TikaPipesXSearchBase {
                     .withEnv("discovery.type", "single-node");
 
 
-    @BeforeClass
-    public static void setupTest() throws Exception {
+    @BeforeEach
+    public void setupTest() throws Exception {
         setupXSearch(OPEN_SEARCH_CONTAINER, "https://";);
     }
 }
diff --git 
a/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/opensearch/tests/TikaPipesOpenSearchTest.java
 
b/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/opensearch/tests/TikaPipesOpenSearchTest.java
index cb2646ba8..6c36c11c7 100644
--- 
a/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/opensearch/tests/TikaPipesOpenSearchTest.java
+++ 
b/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/opensearch/tests/TikaPipesOpenSearchTest.java
@@ -20,18 +20,21 @@ package org.apache.tika.pipes.opensearch.tests;
 import java.time.Duration;
 import java.time.temporal.ChronoUnit;
 
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
 import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
 import org.testcontainers.utility.DockerImageName;
 
 import org.apache.tika.pipes.xsearch.tests.TikaPipesXSearchBase;
 
+@Testcontainers(disabledWithoutDocker = true)
 public class TikaPipesOpenSearchTest extends TikaPipesXSearchBase {
 
     private static final String DOCKER_IMAGE_NAME = 
"opensearchproject/opensearch:2.3.0";
 
-    @ClassRule
+    @Container
     public static GenericContainer<?> OPEN_SEARCH_CONTAINER =
             new GenericContainer<>(DockerImageName.parse(DOCKER_IMAGE_NAME))
                     .withExposedPorts(9200)
@@ -39,8 +42,8 @@ public class TikaPipesOpenSearchTest extends 
TikaPipesXSearchBase {
                     .withEnv("discovery.type", "single-node");
 
 
-    @BeforeClass
-    public static void setupTest() throws Exception {
+    @BeforeEach
+    public void setupTest() throws Exception {
         setupXSearch(OPEN_SEARCH_CONTAINER, "https://";);
     }
 }
diff --git 
a/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/xsearch/tests/TikaPipesXSearchBase.java
 
b/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/xsearch/tests/TikaPipesXSearchBase.java
index 7f8321431..7e5873b14 100644
--- 
a/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/xsearch/tests/TikaPipesXSearchBase.java
+++ 
b/tika-integration-tests/tika-pipes-opensearch-integration-tests/src/test/java/org/apache/tika/pipes/xsearch/tests/TikaPipesXSearchBase.java
@@ -16,9 +16,9 @@
  */
 package org.apache.tika.pipes.xsearch.tests;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.File;
 import java.io.IOException;
@@ -36,10 +36,10 @@ import java.util.regex.Pattern;
 import com.fasterxml.jackson.databind.JsonNode;
 import org.apache.commons.io.IOUtils;
 import org.jetbrains.annotations.NotNull;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.testcontainers.containers.GenericContainer;
 import org.testcontainers.shaded.org.apache.commons.io.FileUtils;
 
@@ -65,20 +65,20 @@ public abstract class TikaPipesXSearchBase {
     private static int OPEN_SEARCH_PORT;
     //this includes only the base, not the collection, e.g. 
https://localhost:49213
     protected static String OPEN_SEARCH_ENDPOINT_BASE;
-    private static XSearchTestClient client;
+    private static XSearchTestClient CLIENT;
 
 
-    @Before
+    @BeforeEach
     public void setUp() throws IOException {
         pipesDirectory = 
Files.createTempDirectory("tika-opensearch-integration-");
         testDocDirectory = pipesDirectory.resolve("docs");
     }
-    @After
+    @AfterEach
     public void tearDown() throws Exception {
         //we shouldn't have to do this because of @TempDir
         //there are some timing/order issues because of the joint junit 4 and 5
         FileUtils.deleteDirectory(pipesDirectory.toFile());
-        JsonResponse response = client.deleteIndex(OPEN_SEARCH_ENDPOINT_BASE + 
TEST_INDEX);
+        JsonResponse response = CLIENT.deleteIndex(OPEN_SEARCH_ENDPOINT_BASE + 
TEST_INDEX);
         assertEquals(200, response.getStatus());
         assertTrue(response.getJson().get("acknowledged").asBoolean());
     }
@@ -98,7 +98,7 @@ public abstract class TikaPipesXSearchBase {
         String query = "{ \"track_total_hits\": true, \"query\": { \"match\": 
{ \"content\": { " +
                 "\"query\": \"happiness\" } } } }";
 
-        JsonResponse results = client.postJson(endpoint + "/_search", query);
+        JsonResponse results = CLIENT.postJson(endpoint + "/_search", query);
         assertEquals(200, results.getStatus());
         assertEquals(numHtmlDocs + 1,
                 
results.getJson().get("hits").get("total").get("value").asInt());
@@ -106,7 +106,7 @@ public abstract class TikaPipesXSearchBase {
         //now try match all
         query = "{ \"track_total_hits\": true, \"query\": { \"match_all\": {} 
}, " +
                 "\"from\": 0, \"size\": 1000 }";
-        results = client.postJson(endpoint + "/_search", query);
+        results = CLIENT.postJson(endpoint + "/_search", query);
         assertEquals(200, results.getStatus());
         assertEquals(numHtmlDocs + numTestDocs,
                 
results.getJson().get("hits").get("total").get("value").asInt());
@@ -147,7 +147,7 @@ public abstract class TikaPipesXSearchBase {
         String query = "{ \"track_total_hits\": true, \"query\": { \"match\": 
{ \"content\": { " +
                 "\"query\": \"happiness\" } } } }";
 
-        JsonResponse results = client.postJson(endpoint + "/_search", query);
+        JsonResponse results = CLIENT.postJson(endpoint + "/_search", query);
         assertEquals(200, results.getStatus());
         assertEquals(numHtmlDocs + 1,
               results.getJson().get("hits").get("total").get("value").asInt());
@@ -157,7 +157,7 @@ public abstract class TikaPipesXSearchBase {
                 //"\"from\":0, \"size\":1000," +
                 "\"track_total_hits\": true, \"query\": { " +
                 "\"match_all\": {} } }";
-        results = client.postJson(endpoint + "/_search", query);
+        results = CLIENT.postJson(endpoint + "/_search", query);
         assertEquals(200, results.getStatus());
         assertEquals(numHtmlDocs + 3 + 12, // 3 mock files and...
                 // the .docx file has 11 embedded files, plus itself
@@ -167,7 +167,7 @@ public abstract class TikaPipesXSearchBase {
         query = "{ \"track_total_hits\": true, \"query\": { \"query_string\": 
{ " +
                 "\"default_field\": \"content\",  " +
                 "\"query\": \"embed4 zip\" , \"minimum_should_match\":2 } } } 
";
-        results = client.postJson(endpoint + "/_search", query);
+        results = CLIENT.postJson(endpoint + "/_search", query);
         assertEquals(200, results.getStatus());
         assertEquals(1,
                 
results.getJson().get("hits").get("total").get("value").asInt());
@@ -178,7 +178,7 @@ public abstract class TikaPipesXSearchBase {
                 "[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\Z").matcher(
                 
results.getJson().get("hits").get("hits").get(0).get("_id").asText()
         );
-        assertTrue("test_recursive_embedded.docx_$guid", m.find());
+        assertTrue(m.find(), "test_recursive_embedded.docx_$guid");
         assertEquals("test_recursive_embedded.docx",
                 
results.getJson().get("hits").get("hits").get(0).get("_routing").asText());
         assertEquals("test_recursive_embedded.docx",
@@ -192,7 +192,7 @@ public abstract class TikaPipesXSearchBase {
         query = "{ \"track_total_hits\": true, \"query\": { \"parent_id\": { " 
+
                 "\"type\": \"embedded\",  " +
                 "\"id\": \"test_recursive_embedded.docx\" } } } ";
-        results = client.postJson(endpoint + "/_search", query);
+        results = CLIENT.postJson(endpoint + "/_search", query);
         assertEquals(11,
                 
results.getJson().get("hits").get("total").get("value").asInt());
     }
@@ -212,7 +212,7 @@ public abstract class TikaPipesXSearchBase {
         String query = "{ \"track_total_hits\": true, \"query\": { \"match\": 
{ \"content\": { " +
                 "\"query\": \"happiness\" } } } }";
 
-        JsonResponse results = client.postJson(endpoint + "/_search", query);
+        JsonResponse results = CLIENT.postJson(endpoint + "/_search", query);
         assertEquals(200, results.getStatus());
         assertEquals(numHtmlDocs + 1,
                 
results.getJson().get("hits").get("total").get("value").asInt());
@@ -222,7 +222,7 @@ public abstract class TikaPipesXSearchBase {
                 //"\"from\":0, \"size\":1000," +
                 "\"track_total_hits\": true, \"query\": { " +
                 "\"match_all\": {} } }";
-        results = client.postJson(endpoint + "/_search", query);
+        results = CLIENT.postJson(endpoint + "/_search", query);
         assertEquals(200, results.getStatus());
         assertEquals(numHtmlDocs + 3 + 12, //3 for the mock docs,
                 // and the .docx file has 11 embedded files, plus itself
@@ -232,7 +232,7 @@ public abstract class TikaPipesXSearchBase {
         query = "{ \"track_total_hits\": true, \"query\": { \"query_string\": 
{ " +
                 "\"default_field\": \"content\",  " +
                 "\"query\": \"embed4 zip\" , \"minimum_should_match\":2 } } } 
";
-        results = client.postJson(endpoint + "/_search", query);
+        results = CLIENT.postJson(endpoint + "/_search", query);
         assertEquals(200, results.getStatus());
         assertEquals(1,
                 
results.getJson().get("hits").get("total").get("value").asInt());
@@ -243,12 +243,11 @@ public abstract class TikaPipesXSearchBase {
                 "[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\Z").matcher(
                 
results.getJson().get("hits").get("hits").get(0).get("_id").asText()
         );
-        assertTrue("test_recursive_embedded.docx-$guid", m.find());
+        assertTrue(m.find(), "test_recursive_embedded.docx-$guid");
 
-        assertNull("test_recursive_embedded.docx",
-                
results.getJson().get("hits").get("hits").get(0).get("_routing"));
-        assertNull("test_recursive_embedded.docx",
-                source.get("relation_type"));
+        
assertNull(results.getJson().get("hits").get("hits").get(0).get("_routing"),
+                "test_recursive_embedded.docx");
+        assertNull(source.get("relation_type"), 
"test_recursive_embedded.docx");
 
         assertEquals("application/zip", source.get("mime").asText());
 
@@ -257,7 +256,7 @@ public abstract class TikaPipesXSearchBase {
         query = "{ \"track_total_hits\": true, \"query\": { \"parent_id\": { " 
+
                 "\"type\": \"embedded\",  " +
                 "\"id\": \"test_recursive_embedded.docx\" } } } ";
-        results = client.postJson(endpoint + "/_search", query);
+        results = CLIENT.postJson(endpoint + "/_search", query);
         assertEquals(400, results.getStatus());
     }
 
@@ -274,26 +273,26 @@ public abstract class TikaPipesXSearchBase {
         metadata.set("mime", "mimeA");
         metadata.set("title", "titleA");
         emitter.emit("1", Collections.singletonList(metadata));
-        JsonResponse refresh = client.getJson(endpoint + "/_refresh");
+        JsonResponse refresh = CLIENT.getJson(endpoint + "/_refresh");
         metadata.set("title", "titleB");
         emitter.emit("1", Collections.singletonList(metadata));
-        refresh = client.getJson(endpoint + "/_refresh");
+        refresh = CLIENT.getJson(endpoint + "/_refresh");
 
         Metadata metadata2 = new Metadata();
         metadata2.set("content", "the quick brown fox");
         emitter.emit("1", Collections.singletonList(metadata2));
-        refresh = client.getJson(endpoint + "/_refresh");
+        refresh = CLIENT.getJson(endpoint + "/_refresh");
 
         String query = "{ " +
                 //"\"from\":0, \"size\":1000," +
                 "\"track_total_hits\": true, \"query\": { " +
                 "\"match_all\": {} } }";
-        JsonResponse response = client.postJson(endpoint + "/_search", query);
+        JsonResponse response = CLIENT.postJson(endpoint + "/_search", query);
         JsonNode doc1 = response.getJson().get("hits").get("hits").get(0).get(
                 "_source");
-        Assertions.assertEquals("mimeA", doc1.get("mime").asText());
-        Assertions.assertEquals("titleB", doc1.get("title").asText());
-        Assertions.assertEquals("the quick brown fox", 
doc1.get("content").asText());
+        assertEquals("mimeA", doc1.get("mime").asText());
+        assertEquals("titleB", doc1.get("title").asText());
+        assertEquals("the quick brown fox", doc1.get("content").asText());
     }
 
     protected void sendMappings(String endpoint, String index, String 
mappingsFile) throws Exception {
@@ -305,7 +304,7 @@ public abstract class TikaPipesXSearchBase {
         JsonResponse response = null;
         //need to wait a bit sometimes before OpenSearch is up
         while (status != 200 && tries++ < 20) {
-            response = client.putJson(endpoint, mappings);
+            response = CLIENT.putJson(endpoint, mappings);
             if (status != 200) {
                 Thread.sleep(1000);
             }
@@ -330,7 +329,7 @@ public abstract class TikaPipesXSearchBase {
         TikaCLI.main(new String[]{"-a", "--config=" + 
tikaConfigFile.toAbsolutePath().toString()});
 
         //refresh to make sure the content is searchable
-        JsonResponse refresh = client.getJson(endpoint + "/_refresh");
+        JsonResponse refresh = CLIENT.getJson(endpoint + "/_refresh");
 
     }
 
@@ -385,15 +384,16 @@ public abstract class TikaPipesXSearchBase {
 
     }
 
-    public static void setupXSearch(GenericContainer<?> openSearchContainer, 
String protocol) throws Exception {
+    public void setupXSearch(GenericContainer<?> openSearchContainer, String 
protocol) throws Exception {
         OPEN_SEARCH_HOST = openSearchContainer.getHost();
         OPEN_SEARCH_PORT = openSearchContainer.getMappedPort(9200);
         OPEN_SEARCH_ENDPOINT_BASE = protocol + OPEN_SEARCH_HOST + ":" + 
OPEN_SEARCH_PORT + "/";
         HttpClientFactory httpClientFactory = new HttpClientFactory();
         httpClientFactory.setUserName("admin");
         httpClientFactory.setPassword("admin");
+
         //attachment strategy is not used here...TODO clean this up
-        client = new XSearchTestClient(OPEN_SEARCH_ENDPOINT_BASE,
+        CLIENT = new XSearchTestClient(OPEN_SEARCH_ENDPOINT_BASE,
                 httpClientFactory.build(),
                 OpenSearchEmitter.AttachmentStrategy.SEPARATE_DOCUMENTS,
                 OpenSearchEmitter.UpdateStrategy.OVERWRITE,
diff --git 
a/tika-integration-tests/tika-pipes-s3-integration-tests/src/test/java/org/apache/tika/pipes/s3/tests/PipeIntegrationTests.java
 
b/tika-integration-tests/tika-pipes-s3-integration-tests/src/test/java/org/apache/tika/pipes/s3/tests/PipeIntegrationTests.java
index 6ac8ddf5e..495bcec17 100644
--- 
a/tika-integration-tests/tika-pipes-s3-integration-tests/src/test/java/org/apache/tika/pipes/s3/tests/PipeIntegrationTests.java
+++ 
b/tika-integration-tests/tika-pipes-s3-integration-tests/src/test/java/org/apache/tika/pipes/s3/tests/PipeIntegrationTests.java
@@ -38,8 +38,8 @@ import com.amazonaws.services.s3.AmazonS3ClientBuilder;
 import com.amazonaws.services.s3.iterable.S3Objects;
 import com.amazonaws.services.s3.model.S3Object;
 import com.amazonaws.services.s3.model.S3ObjectSummary;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
 import org.apache.tika.exception.TikaException;
 import org.apache.tika.metadata.Metadata;
@@ -52,7 +52,7 @@ import org.apache.tika.pipes.fetcher.FetcherManager;
 import org.apache.tika.pipes.pipesiterator.CallablePipesIterator;
 import org.apache.tika.pipes.pipesiterator.PipesIterator;
 
-@Ignore("turn these into actual tests with mock s3")
+@Disabled("turn these into actual tests with mock s3")
 public class PipeIntegrationTests {
 
     private static final Path OUTDIR = Paths.get("");
diff --git a/tika-integration-tests/tika-pipes-solr-integration-tests/pom.xml 
b/tika-integration-tests/tika-pipes-solr-integration-tests/pom.xml
index 019e99ddd..fb15b8a61 100644
--- a/tika-integration-tests/tika-pipes-solr-integration-tests/pom.xml
+++ b/tika-integration-tests/tika-pipes-solr-integration-tests/pom.xml
@@ -35,6 +35,11 @@
       <version>${test.containers.version}</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.testcontainers</groupId>
+      <artifactId>junit-jupiter</artifactId>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>tika-pipes-iterator-solr</artifactId>
@@ -60,6 +65,7 @@
       <scope>test</scope>
     </dependency>
 
+
   </dependencies>
 
   <scm>
diff --git 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr6Test.java
 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr6Test.java
index b14618841..3e3d392aa 100644
--- 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr6Test.java
+++ 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr6Test.java
@@ -16,6 +16,9 @@
  */
 package org.apache.tika.pipes.solr.tests;
 
+import org.testcontainers.junit.jupiter.Testcontainers;
+
+@Testcontainers(disabledWithoutDocker = true)
 public class TikaPipesSolr6Test extends TikaPipesSolrTestBase {
 
     @Override
diff --git 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr6ZkTest.java
 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr6ZkTest.java
index 682d3df7b..91cb6cd2d 100644
--- 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr6ZkTest.java
+++ 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr6ZkTest.java
@@ -18,13 +18,15 @@ package org.apache.tika.pipes.solr.tests;
 
 import static org.junit.Assume.assumeTrue;
 
-import org.junit.BeforeClass;
+import org.junit.jupiter.api.BeforeAll;
+import org.testcontainers.junit.jupiter.Testcontainers;
 
 import org.apache.tika.utils.SystemUtils;
 
+@Testcontainers(disabledWithoutDocker = true)
 public class TikaPipesSolr6ZkTest extends TikaPipesSolr6Test {
 
-    @BeforeClass
+    @BeforeAll
     public static void setUp() {
         assumeTrue("zk test only works on linux (and not mac os x)",
                 SystemUtils.IS_OS_UNIX && ! SystemUtils.IS_OS_MAC_OSX);
diff --git 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr7Test.java
 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr7Test.java
index ae1064c33..efefedf44 100644
--- 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr7Test.java
+++ 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr7Test.java
@@ -16,6 +16,9 @@
  */
 package org.apache.tika.pipes.solr.tests;
 
+import org.testcontainers.junit.jupiter.Testcontainers;
+
+@Testcontainers(disabledWithoutDocker = true)
 public class TikaPipesSolr7Test extends TikaPipesSolrTestBase {
 
     @Override
diff --git 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr7ZkTest.java
 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr7ZkTest.java
index c641d53b0..2ffea2221 100644
--- 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr7ZkTest.java
+++ 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr7ZkTest.java
@@ -18,13 +18,15 @@ package org.apache.tika.pipes.solr.tests;
 
 import static org.junit.Assume.assumeTrue;
 
-import org.junit.BeforeClass;
+import org.junit.jupiter.api.BeforeAll;
+import org.testcontainers.junit.jupiter.Testcontainers;
 
 import org.apache.tika.utils.SystemUtils;
 
+@Testcontainers(disabledWithoutDocker = true)
 public class TikaPipesSolr7ZkTest extends TikaPipesSolr7Test {
 
-    @BeforeClass
+    @BeforeAll
     public static void setUp() {
         assumeTrue("zk test only works on linux (and not mac os x)",
                 SystemUtils.IS_OS_UNIX && ! SystemUtils.IS_OS_MAC_OSX);
diff --git 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr8Test.java
 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr8Test.java
index 3097f757b..e04dc59fb 100644
--- 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr8Test.java
+++ 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr8Test.java
@@ -16,11 +16,14 @@
  */
 package org.apache.tika.pipes.solr.tests;
 
+import org.testcontainers.junit.jupiter.Testcontainers;
+
+@Testcontainers(disabledWithoutDocker = true)
 public class TikaPipesSolr8Test extends TikaPipesSolrTestBase {
 
     @Override
     public String getSolrImageName() {
-        return "solr:8.11.1";
+        return "solr:8.11.2";
     }
 
     @Override
diff --git 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr8ZkTest.java
 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr8ZkTest.java
index 7f160e4b0..f689fbb2e 100644
--- 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr8ZkTest.java
+++ 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr8ZkTest.java
@@ -18,13 +18,15 @@ package org.apache.tika.pipes.solr.tests;
 
 import static org.junit.Assume.assumeTrue;
 
-import org.junit.BeforeClass;
+import org.junit.jupiter.api.BeforeAll;
+import org.testcontainers.junit.jupiter.Testcontainers;
 
 import org.apache.tika.utils.SystemUtils;
 
+@Testcontainers(disabledWithoutDocker = true)
 public class TikaPipesSolr8ZkTest extends TikaPipesSolr8Test {
 
-    @BeforeClass
+    @BeforeAll
     public static void setUp() {
         assumeTrue("zk test only works on linux (and not mac os x)",
                 SystemUtils.IS_OS_UNIX && ! SystemUtils.IS_OS_MAC_OSX);
diff --git 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr9Test.java
 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr9Test.java
index 4ea8ca7b2..cdba9f0e5 100644
--- 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr9Test.java
+++ 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr9Test.java
@@ -16,6 +16,9 @@
  */
 package org.apache.tika.pipes.solr.tests;
 
+import org.testcontainers.junit.jupiter.Testcontainers;
+
+@Testcontainers(disabledWithoutDocker = true)
 public class TikaPipesSolr9Test extends TikaPipesSolrTestBase {
 
     @Override
diff --git 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr9ZkTest.java
 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr9ZkTest.java
index 7ac937391..402a13e01 100644
--- 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr9ZkTest.java
+++ 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolr9ZkTest.java
@@ -18,16 +18,17 @@ package org.apache.tika.pipes.solr.tests;
 
 import static org.junit.Assume.assumeTrue;
 
-import org.junit.BeforeClass;
-import org.junit.Ignore;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Disabled;
+import org.testcontainers.junit.jupiter.Testcontainers;
 
 import org.apache.tika.utils.SystemUtils;
 
-@Ignore("until we can fix SessionExpiredException")
+@Disabled("until we can fix SessionExpiredException")
+@Testcontainers(disabledWithoutDocker = true)
 public class TikaPipesSolr9ZkTest extends TikaPipesSolr9Test {
 
-    @BeforeClass
+    @BeforeAll
     public static void setUp() {
         assumeTrue("zk test only works on linux (and not mac os x)",
                 SystemUtils.IS_OS_UNIX && ! SystemUtils.IS_OS_MAC_OSX);
diff --git 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolrTestBase.java
 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolrTestBase.java
index 34e446773..c4c8be31d 100644
--- 
a/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolrTestBase.java
+++ 
b/tika-integration-tests/tika-pipes-solr-integration-tests/src/test/java/org/apache/tika/pipes/solr/tests/TikaPipesSolrTestBase.java
@@ -16,6 +16,8 @@
  */
 package org.apache.tika.pipes.solr.tests;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
@@ -36,12 +38,12 @@ import org.apache.tika.pipes.emitter.solr.SolrEmitter;
 import org.apache.tika.utils.SystemUtils;
 import org.jetbrains.annotations.NotNull;
 
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.testcontainers.containers.FixedHostPortGenericContainer;
 import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.junit.jupiter.Container;
 import org.testcontainers.shaded.org.apache.commons.io.FileUtils;
 import org.testcontainers.utility.DockerImageName;
 
@@ -51,6 +53,8 @@ public abstract class TikaPipesSolrTestBase {
     private final String collection = "testcol";
     private final int numDocs = 42;
     private final File testFileFolder = new File("target", "test-files");
+
+    @Container
     protected GenericContainer<?> solr;
     private String solrHost;
     private int solrPort;
@@ -66,8 +70,15 @@ public abstract class TikaPipesSolrTestBase {
         return true;
     }
 
-    @Before
-    public void setupTest() throws Exception {
+    public TikaPipesSolrTestBase() {
+        try {
+            init();
+        } catch (InterruptedException e) {
+
+        }
+    }
+
+    private void init() throws InterruptedException {
         if (SystemUtils.IS_OS_MAC_OSX || SystemUtils.IS_OS_VERSION_WSL) {
             // Networking on these operating systems needs fixed ports and 
localhost to be passed for the SolrCloud
             // with Zookeeper tests to succeed. This means stopping and 
starting needs
@@ -83,12 +94,17 @@ public abstract class TikaPipesSolrTestBase {
                             .withCommand("-DzkRun");
         }
         solr.start();
+
         // Ideally wanted to use TestContainers WaitStrategy but they were 
inconsistent
         Thread.sleep(2000);
+    }
+
+    @BeforeEach
+    public void setupTest() throws Exception {
         setupSolr();
     }
 
-    @After
+    @AfterEach
     public void tearDownAfter() throws Exception {
         FileUtils.deleteDirectory(testFileFolder);
         if (solr != null) {
@@ -164,7 +180,7 @@ public abstract class TikaPipesSolrTestBase {
                     "  }\n" +
                     "}"));
             CloseableHttpResponse resp = client.execute(postAddRoot);
-            Assert.assertEquals(200, resp.getStatusLine().getStatusCode());
+            assertEquals(200, resp.getStatusLine().getStatusCode());
         }
     }
     private void addSchemaFieldsForNestedDocs(String solrUrl) throws 
IOException {
@@ -181,7 +197,7 @@ public abstract class TikaPipesSolrTestBase {
                     "  }\n" +
                     "}"));
             CloseableHttpResponse resp = client.execute(postAddRoot);
-            Assert.assertEquals(200, resp.getStatusLine().getStatusCode());
+            assertEquals(200, resp.getStatusLine().getStatusCode());
         }
     }
 
@@ -213,14 +229,14 @@ public abstract class TikaPipesSolrTestBase {
         try (SolrClient solrClient = new 
LBHttpSolrClient.Builder().withBaseSolrUrls(solrEndpoint)
                 .build()) {
             solrClient.commit(collection, true, true);
-            Assert.assertEquals(numDocs, solrClient
+            assertEquals(numDocs, solrClient
                     .query(collection, new SolrQuery("mime_s:\"text/html; 
charset=ISO-8859-1\""))
                     .getResults().getNumFound());
-            Assert.assertEquals(numDocs,
+            assertEquals(numDocs,
                     solrClient.query(collection, new 
SolrQuery("content_s:*initial*")).getResults()
                             .getNumFound());
             if(handlesParentChild()) {
-                Assert.assertEquals(3,
+                assertEquals(3,
                         solrClient.query(collection, new 
SolrQuery("_root_:\"test-embedded.docx\""))
                                 .getResults().getNumFound());
             }
@@ -248,10 +264,10 @@ public abstract class TikaPipesSolrTestBase {
         try (SolrClient solrClient = new 
LBHttpSolrClient.Builder().withBaseSolrUrls(solrEndpoint)
                 .build()) {
             solrClient.commit(collection, true, true);
-            Assert.assertEquals(numDocs, solrClient
+            assertEquals(numDocs, solrClient
                     .query(collection, new SolrQuery("mime_s:\"text/html; 
charset=ISO-8859-1\""))
                     .getResults().getNumFound());
-            Assert.assertEquals(numDocs,
+            assertEquals(numDocs,
                     solrClient.query(collection, new 
SolrQuery("content_s:*updated*")).getResults()
                             .getNumFound());
         }
diff --git a/tika-parent/pom.xml b/tika-parent/pom.xml
index c1c239f8c..bb3c99ded 100644
--- a/tika-parent/pom.xml
+++ b/tika-parent/pom.xml
@@ -676,6 +676,18 @@
         <artifactId>jdom2</artifactId>
         <version>${jdom2.version}</version>
       </dependency>
+      <dependency>
+        <groupId>org.junit.jupiter</groupId>
+        <artifactId>junit-jupiter-api</artifactId>
+        <version>${junit5.version}</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.junit.jupiter</groupId>
+        <artifactId>junit-jupiter-engine</artifactId>
+        <version>${junit5.version}</version>
+        <scope>test</scope>
+      </dependency>
       <dependency>
         <groupId>org.jvnet.staxex</groupId>
         <artifactId>stax-ex</artifactId>
@@ -723,6 +735,19 @@
         <artifactId>jcl-over-slf4j</artifactId>
         <version>${slf4j.version}</version>
       </dependency>
+      <dependency>
+        <groupId>org.testcontainers</groupId>
+        <artifactId>testcontainers</artifactId>
+        <version>${test.containers.version}</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.testcontainers</groupId>
+        <artifactId>junit-jupiter</artifactId>
+        <version>${test.containers.version}</version>
+        <scope>test</scope>
+      </dependency>
+
       <dependency>
         <groupId>org.xerial.snappy</groupId>
         <artifactId>snappy-java</artifactId>
@@ -740,13 +765,11 @@
     <dependency>
       <groupId>org.junit.jupiter</groupId>
       <artifactId>junit-jupiter-api</artifactId>
-      <version>${junit5.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.junit.jupiter</groupId>
       <artifactId>junit-jupiter-engine</artifactId>
-      <version>${junit5.version}</version>
       <scope>test</scope>
     </dependency>
   </dependencies>


Reply via email to