JAMES-2334 upgrade testcontainers
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/8d568fac Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/8d568fac Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/8d568fac Branch: refs/heads/master Commit: 8d568fac49514fb308041150acdc27062e11e11f Parents: 10dea04 Author: Matthieu Baechler <[email protected]> Authored: Mon May 28 11:21:28 2018 +0200 Committer: Matthieu Baechler <[email protected]> Committed: Thu May 31 09:47:02 2018 +0200 ---------------------------------------------------------------------- .../cassandra/CassandraWaitStrategy.java | 19 +++++++++++-------- .../backends/cassandra/DockerCassandraRule.java | 5 +++-- .../apache/james/mailbox/tika/TikaContainer.java | 2 +- pom.xml | 2 +- .../james/util/docker/SwarmGenericContainer.java | 2 +- .../util/scanner/SpamAssassinExtension.java | 2 +- .../util/scanner/SpamAssassinWaitStrategy.java | 17 ++++++++++------- .../james/user/ldap/LdapGenericContainer.java | 2 +- .../transport/mailets/SpamAssassinTest.java | 2 +- .../org/apache/james/jmap/ContainerTest.java | 2 +- .../java/org/apache/james/utils/FakeSmtp.java | 2 +- 11 files changed, 32 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/8d568fac/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraWaitStrategy.java ---------------------------------------------------------------------- diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraWaitStrategy.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraWaitStrategy.java index d6f71ff..bb47552 100644 --- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraWaitStrategy.java +++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraWaitStrategy.java @@ -25,28 +25,31 @@ import java.util.concurrent.TimeUnit; import org.rnorth.ducttape.unreliables.Unreliables; import org.testcontainers.containers.GenericContainer; -import org.testcontainers.containers.wait.WaitStrategy; +import org.testcontainers.containers.wait.strategy.WaitStrategy; +import org.testcontainers.containers.wait.strategy.WaitStrategyTarget; import com.google.common.primitives.Ints; public class CassandraWaitStrategy implements WaitStrategy { private static final Duration DEFAULT_TIMEOUT = Duration.ofMinutes(1); - private Duration timeout = DEFAULT_TIMEOUT; + private final GenericContainer<?> cassandraContainer; + private final Duration timeout; - public CassandraWaitStrategy() { - this(DEFAULT_TIMEOUT); + public CassandraWaitStrategy(GenericContainer<?> cassandraContainer) { + this(cassandraContainer, DEFAULT_TIMEOUT); } - public CassandraWaitStrategy(Duration timeout) { + public CassandraWaitStrategy(GenericContainer<?> cassandraContainer, Duration timeout) { + this.cassandraContainer = cassandraContainer; this.timeout = timeout; } @Override - public void waitUntilReady(@SuppressWarnings("rawtypes") GenericContainer container) { + public void waitUntilReady(WaitStrategyTarget waitStrategyTarget) { Unreliables.retryUntilTrue(Ints.checkedCast(timeout.getSeconds()), TimeUnit.SECONDS, () -> { try { - return container + return cassandraContainer .execInContainer("cqlsh", "-e", "show host") .getStdout() .contains("Connected to Test Cluster"); @@ -59,6 +62,6 @@ public class CassandraWaitStrategy implements WaitStrategy { @Override public WaitStrategy withStartupTimeout(Duration startupTimeout) { - return new CassandraWaitStrategy(startupTimeout); + return new CassandraWaitStrategy(cassandraContainer, startupTimeout); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/8d568fac/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandraRule.java ---------------------------------------------------------------------- diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandraRule.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandraRule.java index 126d31f..327fa78 100644 --- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandraRule.java +++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandraRule.java @@ -89,8 +89,9 @@ public class DockerCassandraRule implements TestRule { .withCreateContainerCmdModifier(cmd -> cmd.getHostConfig().withBinds(new Binds(new Bind(tmpFsName, new Volume("/var/lib/cassandra"))))) .withCreateContainerCmdModifier(cmd -> cmd.withMemory(2000 * 1024 * 1024L)) .withExposedPorts(CASSANDRA_PORT) - .withLogConsumer(this::displayDockerLog) - .waitingFor(new CassandraWaitStrategy()); + .withLogConsumer(this::displayDockerLog); + cassandraContainer + .waitingFor(new CassandraWaitStrategy(cassandraContainer)); } private void displayDockerLog(OutputFrame outputFrame) { http://git-wip-us.apache.org/repos/asf/james-project/blob/8d568fac/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaContainer.java ---------------------------------------------------------------------- diff --git a/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaContainer.java b/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaContainer.java index 8bb7733..ec6b776 100644 --- a/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaContainer.java +++ b/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaContainer.java @@ -24,7 +24,7 @@ import java.util.concurrent.TimeUnit; import org.apache.james.util.docker.Images; import org.apache.james.util.docker.SwarmGenericContainer; import org.junit.rules.ExternalResource; -import org.testcontainers.containers.wait.Wait; +import org.testcontainers.containers.wait.strategy.Wait; import com.google.common.primitives.Ints; http://git-wip-us.apache.org/repos/asf/james-project/blob/8d568fac/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 3fd8a14..75c3a58 100644 --- a/pom.xml +++ b/pom.xml @@ -642,7 +642,7 @@ <jetty.version>9.4.7.v20170914</jetty.version> <cassandra-unit.version>2.1.9.2</cassandra-unit.version> <assertj-guava.version>3.1.0</assertj-guava.version> - <testcontainers-version>1.4.2</testcontainers-version> + <testcontainers-version>1.7.3</testcontainers-version> <metrics.version>3.2.1</metrics.version> <joda.version>2.9.4</joda.version> <assertj.version>3.3.0</assertj.version> http://git-wip-us.apache.org/repos/asf/james-project/blob/8d568fac/server/container/util-java8/src/test/java/org/apache/james/util/docker/SwarmGenericContainer.java ---------------------------------------------------------------------- diff --git a/server/container/util-java8/src/test/java/org/apache/james/util/docker/SwarmGenericContainer.java b/server/container/util-java8/src/test/java/org/apache/james/util/docker/SwarmGenericContainer.java index 20c66dd..e9fd984 100644 --- a/server/container/util-java8/src/test/java/org/apache/james/util/docker/SwarmGenericContainer.java +++ b/server/container/util-java8/src/test/java/org/apache/james/util/docker/SwarmGenericContainer.java @@ -33,7 +33,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.GenericContainer; -import org.testcontainers.containers.wait.WaitStrategy; +import org.testcontainers.containers.wait.strategy.WaitStrategy; import org.testcontainers.images.builder.ImageFromDockerfile; import org.testcontainers.shaded.com.google.common.collect.ImmutableList; http://git-wip-us.apache.org/repos/asf/james-project/blob/8d568fac/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinExtension.java ---------------------------------------------------------------------- diff --git a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinExtension.java b/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinExtension.java index 68bbfe4..46100bc 100644 --- a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinExtension.java +++ b/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinExtension.java @@ -52,7 +52,7 @@ public class SpamAssassinExtension implements BeforeEachCallback, AfterEachCallb .withFileFromClasspath("spamd.sh", "docker/spamassassin/spamd.sh") .withFileFromClasspath("rule-update.sh", "docker/spamassassin/rule-update.sh") .withFileFromClasspath("bayes_pg.sql", "docker/spamassassin/bayes_pg.sql")); - spamAssassinContainer.waitingFor(new SpamAssassinWaitStrategy()); + spamAssassinContainer.waitingFor(new SpamAssassinWaitStrategy(spamAssassinContainer)); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/8d568fac/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinWaitStrategy.java ---------------------------------------------------------------------- diff --git a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinWaitStrategy.java b/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinWaitStrategy.java index 108d0d4..1341256 100644 --- a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinWaitStrategy.java +++ b/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinWaitStrategy.java @@ -25,28 +25,31 @@ import java.util.concurrent.TimeUnit; import org.rnorth.ducttape.unreliables.Unreliables; import org.testcontainers.containers.GenericContainer; -import org.testcontainers.containers.wait.WaitStrategy; +import org.testcontainers.containers.wait.strategy.WaitStrategy; +import org.testcontainers.containers.wait.strategy.WaitStrategyTarget; import com.google.common.primitives.Ints; public class SpamAssassinWaitStrategy implements WaitStrategy { private static final Duration DEFAULT_TIMEOUT = Duration.ofMinutes(1); + private final GenericContainer<?> spamAssassinContainer; private Duration timeout = DEFAULT_TIMEOUT; - public SpamAssassinWaitStrategy() { - this(DEFAULT_TIMEOUT); + public SpamAssassinWaitStrategy(GenericContainer<?> spamAssassinContainer) { + this(spamAssassinContainer, DEFAULT_TIMEOUT); } - public SpamAssassinWaitStrategy(Duration timeout) { + public SpamAssassinWaitStrategy(GenericContainer<?> spamAssassinContainer, Duration timeout) { + this.spamAssassinContainer = spamAssassinContainer; this.timeout = timeout; } @Override - public void waitUntilReady(@SuppressWarnings("rawtypes") GenericContainer container) { + public void waitUntilReady(WaitStrategyTarget waitStrategyTarget) { Unreliables.retryUntilTrue(Ints.checkedCast(timeout.getSeconds()), TimeUnit.SECONDS, () -> { try { - return container + return spamAssassinContainer .execInContainer("spamassassin", "-V") .getStdout() .contains("SpamAssassin version 3.4.1"); @@ -59,6 +62,6 @@ public class SpamAssassinWaitStrategy implements WaitStrategy { @Override public WaitStrategy withStartupTimeout(Duration startupTimeout) { - return new SpamAssassinWaitStrategy(startupTimeout); + return new SpamAssassinWaitStrategy(spamAssassinContainer, startupTimeout); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/8d568fac/server/data/data-ldap-integration-testing/src/test/java/org/apache/james/user/ldap/LdapGenericContainer.java ---------------------------------------------------------------------- diff --git a/server/data/data-ldap-integration-testing/src/test/java/org/apache/james/user/ldap/LdapGenericContainer.java b/server/data/data-ldap-integration-testing/src/test/java/org/apache/james/user/ldap/LdapGenericContainer.java index 4a6fb61..992b4bf 100644 --- a/server/data/data-ldap-integration-testing/src/test/java/org/apache/james/user/ldap/LdapGenericContainer.java +++ b/server/data/data-ldap-integration-testing/src/test/java/org/apache/james/user/ldap/LdapGenericContainer.java @@ -20,7 +20,7 @@ package org.apache.james.user.ldap; import org.apache.james.util.docker.SwarmGenericContainer; import org.junit.rules.ExternalResource; -import org.testcontainers.containers.wait.HostPortWaitStrategy; +import org.testcontainers.containers.wait.strategy.HostPortWaitStrategy; import org.testcontainers.images.builder.ImageFromDockerfile; import com.google.common.base.Preconditions; http://git-wip-us.apache.org/repos/asf/james-project/blob/8d568fac/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java ---------------------------------------------------------------------- diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java index 8ed9729..274b0e8 100644 --- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java +++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java @@ -51,7 +51,7 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; -import org.testcontainers.containers.wait.HostPortWaitStrategy; +import org.testcontainers.containers.wait.strategy.HostPortWaitStrategy; public class SpamAssassinTest { private static final String SPAM_CONTENT = "XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X"; http://git-wip-us.apache.org/repos/asf/james-project/blob/8d568fac/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/ContainerTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/ContainerTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/ContainerTest.java index bcc8a18..6e3d02b 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/ContainerTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/ContainerTest.java @@ -30,7 +30,7 @@ import org.apache.james.util.docker.Images; import org.apache.james.util.docker.SwarmGenericContainer; import org.junit.Rule; import org.junit.Test; -import org.testcontainers.containers.wait.HttpWaitStrategy; +import org.testcontainers.containers.wait.strategy.HttpWaitStrategy; public class ContainerTest { http://git-wip-us.apache.org/repos/asf/james-project/blob/8d568fac/server/testing/src/main/java/org/apache/james/utils/FakeSmtp.java ---------------------------------------------------------------------- diff --git a/server/testing/src/main/java/org/apache/james/utils/FakeSmtp.java b/server/testing/src/main/java/org/apache/james/utils/FakeSmtp.java index a0694d2..4b5fc3a 100644 --- a/server/testing/src/main/java/org/apache/james/utils/FakeSmtp.java +++ b/server/testing/src/main/java/org/apache/james/utils/FakeSmtp.java @@ -31,7 +31,7 @@ import org.apache.james.util.docker.SwarmGenericContainer; import org.junit.rules.TestRule; import org.junit.runner.Description; import org.junit.runners.model.Statement; -import org.testcontainers.containers.wait.HostPortWaitStrategy; +import org.testcontainers.containers.wait.strategy.HostPortWaitStrategy; import com.jayway.awaitility.core.ConditionFactory; import com.jayway.restassured.builder.RequestSpecBuilder; --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
