diff --git a/driver/src/test/java/org/neo4j/driver/stress/CausalClusteringStressIT.java b/driver/src/test/java/org/neo4j/driver/stress/CausalClusteringStressIT.java index 08f1a99051..684b2b1b22 100644 --- a/driver/src/test/java/org/neo4j/driver/stress/CausalClusteringStressIT.java +++ b/driver/src/test/java/org/neo4j/driver/stress/CausalClusteringStressIT.java @@ -22,14 +22,14 @@ import java.util.Arrays; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; +import org.junit.jupiter.api.condition.DisabledIfSystemProperty; import org.junit.jupiter.api.extension.RegisterExtension; import org.neo4j.driver.AuthToken; import org.neo4j.driver.Config; import org.neo4j.driver.exceptions.SessionExpiredException; import org.neo4j.driver.testutil.cc.LocalOrRemoteClusterExtension; -import org.testcontainers.junit.jupiter.Testcontainers; -@Testcontainers(disabledWithoutDocker = true) +@DisabledIfSystemProperty(named = "skipDockerTests", matches = "^true$") class CausalClusteringStressIT extends AbstractStressTestBase { @RegisterExtension static final LocalOrRemoteClusterExtension clusterRule = new LocalOrRemoteClusterExtension(); diff --git a/driver/src/test/java/org/neo4j/driver/tck/reactive/Neo4jManager.java b/driver/src/test/java/org/neo4j/driver/tck/reactive/Neo4jManager.java index 1ee7138993..09438ac847 100644 --- a/driver/src/test/java/org/neo4j/driver/tck/reactive/Neo4jManager.java +++ b/driver/src/test/java/org/neo4j/driver/tck/reactive/Neo4jManager.java @@ -20,7 +20,6 @@ import org.neo4j.driver.Driver; import org.neo4j.driver.GraphDatabase; -import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.Neo4jContainer; import org.testng.SkipException; @@ -39,18 +38,10 @@ public Driver getDriver() { return GraphDatabase.driver(NEO4J.getBoltUrl()); } - public void skipIfDockerUnavailable() { - if (!isDockerAvailable()) { + public void skipIfDockerTestsSkipped() { + var skip = System.getProperty("skipDockerTests"); + if (skip != null && skip.equals(Boolean.TRUE.toString())) { throw new SkipException("Docker is unavailable"); } } - - private boolean isDockerAvailable() { - try { - DockerClientFactory.instance().client(); - return true; - } catch (Throwable ex) { - return false; - } - } } diff --git a/driver/src/test/java/org/neo4j/driver/tck/reactive/ReactiveResultPublisherVerificationIT.java b/driver/src/test/java/org/neo4j/driver/tck/reactive/ReactiveResultPublisherVerificationIT.java index c88f84757b..d0cfa10125 100644 --- a/driver/src/test/java/org/neo4j/driver/tck/reactive/ReactiveResultPublisherVerificationIT.java +++ b/driver/src/test/java/org/neo4j/driver/tck/reactive/ReactiveResultPublisherVerificationIT.java @@ -27,12 +27,10 @@ import org.reactivestreams.Publisher; import org.reactivestreams.tck.PublisherVerification; import org.reactivestreams.tck.TestEnvironment; -import org.testcontainers.junit.jupiter.Testcontainers; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import reactor.core.publisher.Mono; -@Testcontainers(disabledWithoutDocker = true) public class ReactiveResultPublisherVerificationIT extends PublisherVerification { private final Neo4jManager NEO4J = new Neo4jManager(); private static final Duration TIMEOUT = Duration.ofSeconds(10); @@ -49,7 +47,7 @@ public ReactiveResultPublisherVerificationIT() { @BeforeClass public void beforeClass() { - NEO4J.skipIfDockerUnavailable(); + NEO4J.skipIfDockerTestsSkipped(); NEO4J.start(); driver = NEO4J.getDriver(); } diff --git a/driver/src/test/java/org/neo4j/driver/tck/reactive/ReactiveResultRecordPublisherVerificationIT.java b/driver/src/test/java/org/neo4j/driver/tck/reactive/ReactiveResultRecordPublisherVerificationIT.java index e634234bb0..5868d974bc 100644 --- a/driver/src/test/java/org/neo4j/driver/tck/reactive/ReactiveResultRecordPublisherVerificationIT.java +++ b/driver/src/test/java/org/neo4j/driver/tck/reactive/ReactiveResultRecordPublisherVerificationIT.java @@ -28,13 +28,11 @@ import org.reactivestreams.Publisher; import org.reactivestreams.tck.PublisherVerification; import org.reactivestreams.tck.TestEnvironment; -import org.testcontainers.junit.jupiter.Testcontainers; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -@Testcontainers(disabledWithoutDocker = true) public class ReactiveResultRecordPublisherVerificationIT extends PublisherVerification { private final Neo4jManager NEO4J = new Neo4jManager(); private static final long MAX_NUMBER_OF_RECORDS = 30000; @@ -55,7 +53,7 @@ public ReactiveResultRecordPublisherVerificationIT() { @BeforeClass public void beforeClass() { - NEO4J.skipIfDockerUnavailable(); + NEO4J.skipIfDockerTestsSkipped(); NEO4J.start(); driver = NEO4J.getDriver(); } diff --git a/driver/src/test/java/org/neo4j/driver/tck/reactive/RxResultRecordPublisherVerificationIT.java b/driver/src/test/java/org/neo4j/driver/tck/reactive/RxResultRecordPublisherVerificationIT.java index df4a6f6589..cf20f0d02e 100644 --- a/driver/src/test/java/org/neo4j/driver/tck/reactive/RxResultRecordPublisherVerificationIT.java +++ b/driver/src/test/java/org/neo4j/driver/tck/reactive/RxResultRecordPublisherVerificationIT.java @@ -28,11 +28,9 @@ import org.reactivestreams.Publisher; import org.reactivestreams.tck.PublisherVerification; import org.reactivestreams.tck.TestEnvironment; -import org.testcontainers.junit.jupiter.Testcontainers; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; -@Testcontainers(disabledWithoutDocker = true) @SuppressWarnings("deprecation") public class RxResultRecordPublisherVerificationIT extends PublisherVerification { private final Neo4jManager NEO4J = new Neo4jManager(); @@ -54,7 +52,7 @@ public RxResultRecordPublisherVerificationIT() { @BeforeClass public void beforeClass() { - NEO4J.skipIfDockerUnavailable(); + NEO4J.skipIfDockerTestsSkipped(); NEO4J.start(); driver = NEO4J.getDriver(); } diff --git a/examples/src/test/java/org/neo4j/docs/driver/RoutingExamplesIT.java b/examples/src/test/java/org/neo4j/docs/driver/RoutingExamplesIT.java index e015c3bdba..8bfcabfd55 100644 --- a/examples/src/test/java/org/neo4j/docs/driver/RoutingExamplesIT.java +++ b/examples/src/test/java/org/neo4j/docs/driver/RoutingExamplesIT.java @@ -18,18 +18,19 @@ */ package org.neo4j.docs.driver; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.net.URI; -import java.util.Optional; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.DisabledIfSystemProperty; import org.neo4j.driver.AuthTokens; import org.neo4j.driver.net.ServerAddress; import org.testcontainers.containers.Neo4jContainer; import org.testcontainers.junit.jupiter.Container; -import org.testcontainers.junit.jupiter.Testcontainers; -@Testcontainers(disabledWithoutDocker = true) +import java.net.URI; +import java.util.Optional; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +@DisabledIfSystemProperty(named = "skipDockerTests", matches = "^true$") class RoutingExamplesIT { private static final String NEO4J_VERSION = Optional.ofNullable(System.getenv("NEO4J_VERSION")).orElse("4.4"); diff --git a/pom.xml b/pom.xml index 25259122e6..52e501faaa 100644 --- a/pom.xml +++ b/pom.xml @@ -261,6 +261,25 @@ 1 + + + skip-docker-tests + + + + + org.apache.maven.plugins + maven-failsafe-plugin + + + true + + + + + + +