You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2017/05/03 03:41:06 UTC
[1/4] james-project git commit: JAMES-2012 Add the Cassandra TCP
connection timeout
Repository: james-project
Updated Branches:
refs/heads/master bab5ff434 -> 302a763db
JAMES-2012 Add the Cassandra TCP connection timeout
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/f4b51ba2
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/f4b51ba2
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/f4b51ba2
Branch: refs/heads/master
Commit: f4b51ba26692d3f6b3de0f1b27696d6f22e51699
Parents: bab5ff4
Author: Antoine Duprat <ad...@linagora.com>
Authored: Tue May 2 09:51:40 2017 +0200
Committer: benwa <bt...@linagora.com>
Committed: Wed May 3 10:40:03 2017 +0700
----------------------------------------------------------------------
.../backends/cassandra/init/ClusterBuilder.java | 14 +++++++++++---
.../modules/mailbox/CassandraSessionModule.java | 16 +++++++---------
server/src/site/xdoc/config-cassandra.xml | 7 ++++++-
3 files changed, 24 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/f4b51ba2/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/ClusterBuilder.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/ClusterBuilder.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/ClusterBuilder.java
index 2a89280..e5760aa 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/ClusterBuilder.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/ClusterBuilder.java
@@ -51,6 +51,7 @@ public class ClusterBuilder {
private Optional<QueryLoggerConfiguration> queryLogger;
private Optional<Integer> readTimeoutMillis;
+ private Optional<Integer> connectTimeoutMillis;
private ClusterBuilder() {
username = Optional.empty();
@@ -65,6 +66,7 @@ public class ClusterBuilder {
queryLogger = Optional.empty();
readTimeoutMillis = Optional.empty();
+ connectTimeoutMillis = Optional.empty();
}
public ClusterBuilder username(String username) {
@@ -126,6 +128,11 @@ public class ClusterBuilder {
return this;
}
+ public ClusterBuilder connectTimeoutMillis(int connectTimeoutMillis) {
+ this.connectTimeoutMillis = Optional.of(connectTimeoutMillis);
+ return this;
+ }
+
public Cluster build() {
Preconditions.checkState(!(servers.isPresent() && host.isPresent()), "You can't specify a list of servers and a host at the same time");
Preconditions.checkState(!(servers.isPresent() && port.isPresent()), "You can't specify a list of servers and a port at the same time");
@@ -146,9 +153,10 @@ public class ClusterBuilder {
new QueryOptions()
.setRefreshSchemaIntervalMillis(refreshSchemaIntervalMillis)));
- readTimeoutMillis.map(timeout ->
- clusterBuilder.withSocketOptions(
- new SocketOptions().setReadTimeoutMillis(timeout)));
+ SocketOptions socketOptions = new SocketOptions();
+ readTimeoutMillis.ifPresent(socketOptions::setReadTimeoutMillis);
+ connectTimeoutMillis.ifPresent(socketOptions::setConnectTimeoutMillis);
+ clusterBuilder.withSocketOptions(socketOptions);
Cluster cluster = clusterBuilder.build();
http://git-wip-us.apache.org/repos/asf/james-project/blob/f4b51ba2/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
index 7aaa6d9..497f418 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
@@ -66,6 +66,7 @@ public class CassandraSessionModule extends AbstractModule {
private static final String CASSANDRA_NODES = "cassandra.nodes";
private static final String LOCALHOST = "127.0.0.1";
private static final int DEFAULT_READ_TIMEOUT_MILLIS = 5000;
+ private static final int DEFAULT_CONNECT_TIMEOUT_MILLIS = 5000;
@Override
@@ -115,20 +116,17 @@ public class CassandraSessionModule extends AbstractModule {
LOGGER.info("Trying to connect to Cassandra service");
return context -> ClusterWithKeyspaceCreatedFactory
- .config(getCluster(servers, queryLoggerConfiguration, configuration.getInt("cassandra.readTimeoutMillis", DEFAULT_READ_TIMEOUT_MILLIS)),
+ .config(ClusterBuilder.builder()
+ .servers(servers)
+ .queryLoggerConfiguration(queryLoggerConfiguration)
+ .readTimeoutMillis(configuration.getInt("cassandra.readTimeoutMillis", DEFAULT_READ_TIMEOUT_MILLIS))
+ .connectTimeoutMillis(configuration.getInt("cassandra.connectTimeoutMillis", DEFAULT_CONNECT_TIMEOUT_MILLIS))
+ .build(),
configuration.getString("cassandra.keyspace", DEFAULT_KEYSPACE))
.replicationFactor(configuration.getInt("cassandra.replication.factor", DEFAULT_REPLICATION_FACTOR))
.clusterWithInitializedKeyspace();
}
- private Cluster getCluster(List<Host> servers, QueryLoggerConfiguration queryLoggerConfiguration, int readTimeoutMillis) {
- return ClusterBuilder.builder()
- .servers(servers)
- .queryLoggerConfiguration(queryLoggerConfiguration)
- .readTimeoutMillis(readTimeoutMillis)
- .build();
- }
-
private List<Host> listCassandraServers(PropertiesConfiguration configuration) {
String[] ipAndPorts = configuration.getStringArray(CASSANDRA_NODES);
http://git-wip-us.apache.org/repos/asf/james-project/blob/f4b51ba2/server/src/site/xdoc/config-cassandra.xml
----------------------------------------------------------------------
diff --git a/server/src/site/xdoc/config-cassandra.xml b/server/src/site/xdoc/config-cassandra.xml
index e6c3a7d..4b4145b 100644
--- a/server/src/site/xdoc/config-cassandra.xml
+++ b/server/src/site/xdoc/config-cassandra.xml
@@ -63,7 +63,12 @@
<dt><strong>cassandra.readTimeoutMillis</strong></dt>
<dd>Optional.
- If specified defines the Cassandra <a href="http://docs.datastax.com/en/developer/java-driver/2.1/manual/socket_options/"">driver read timeout</a></dd>
+ If specified defines the Cassandra <a href="http://docs.datastax.com/en/developer/java-driver/2.1/manual/socket_options/">driver read timeout</a></dd>
+
+ <dt><strong>cassandra.conectTimeoutMillis</strong></dt>
+ <dd>Optional.
+ If specified defines the Cassandra <a href="http://docs.datastax.com/en/developer/java-driver/2.1/manual/socket_options/">TCP connect timeout</a></dd>
+
</dl>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[4/4] james-project git commit: JAMES-1912 Docker test should not
depend on DOCKER_HOST env variable
Posted by bt...@apache.org.
JAMES-1912 Docker test should not depend on DOCKER_HOST env variable
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/302a763d
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/302a763d
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/302a763d
Branch: refs/heads/master
Commit: 302a763db7f365f1e201b31576d26a186280b678
Parents: 92f9beb
Author: quynhn <qn...@linagora.com>
Authored: Tue Apr 25 11:53:28 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Wed May 3 10:40:45 2017 +0700
----------------------------------------------------------------------
mpt/impl/smtp/cassandra/pom.xml | 104 ---------------
.../data/data-ldap-integration-testing/pom.xml | 7 +
.../jmap-integration-testing-common/pom.xml | 127 -------------------
3 files changed, 7 insertions(+), 231 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/302a763d/mpt/impl/smtp/cassandra/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/smtp/cassandra/pom.xml b/mpt/impl/smtp/cassandra/pom.xml
index ad2afd7..42674a4 100644
--- a/mpt/impl/smtp/cassandra/pom.xml
+++ b/mpt/impl/smtp/cassandra/pom.xml
@@ -144,110 +144,6 @@
</build>
</profile>
<profile>
- <id>build-for-jdk-8-without-docker</id>
- <activation>
- <property>
- <name>!env.DOCKER_HOST</name>
- </property>
- <jdk>[1.8,)</jdk>
- </activation>
- <dependencies>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>apache-james-backends-cassandra</artifactId>
- <scope>test</scope>
- <type>test-jar</type>
- </dependency>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>apache-james-backends-es</artifactId>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>apache-james-mpt-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>apache-james-mpt-smtp-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>james-server-cassandra-guice</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>james-server-cassandra-guice</artifactId>
- <scope>test</scope>
- <type>test-jar</type>
- </dependency>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>james-server-guice-common</artifactId>
- <scope>test</scope>
- <type>test-jar</type>
- </dependency>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>james-server-guice-jmap</artifactId>
- <scope>test</scope>
- <type>test-jar</type>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>18.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>apache-james-mpt-onami-test</artifactId>
- </dependency>
- <dependency>
- <groupId>org.cassandraunit</groupId>
- <artifactId>cassandra-unit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <archive>
- <manifest>
- <mainClass>fully.qualified.MainClass</mainClass>
- </manifest>
- </archive>
- <descriptorRefs>
- <descriptorRef>jar-with-dependencies</descriptorRef>
- </descriptorRefs>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>**/SmtpTest.java</exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
<id>build-for-jdk-8</id>
<activation>
<jdk>[1.8,)</jdk>
http://git-wip-us.apache.org/repos/asf/james-project/blob/302a763d/server/data/data-ldap-integration-testing/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-ldap-integration-testing/pom.xml b/server/data/data-ldap-integration-testing/pom.xml
index e03c19b..70c6f30 100644
--- a/server/data/data-ldap-integration-testing/pom.xml
+++ b/server/data/data-ldap-integration-testing/pom.xml
@@ -199,6 +199,13 @@
<target>1.8</target>
</configuration>
</plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <forkCount>0</forkCount>
+ <forkMode>never</forkMode>
+ </configuration>
+ </plugin>
</plugins>
</build>
</profile>
http://git-wip-us.apache.org/repos/asf/james-project/blob/302a763d/server/protocols/jmap-integration-testing/jmap-integration-testing-common/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/pom.xml b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/pom.xml
index 1ccc510..f9a0baa 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/pom.xml
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/pom.xml
@@ -142,133 +142,6 @@
</build>
</profile>
<profile>
- <id>build-for-jdk-8-without-docker</id>
- <activation>
- <property>
- <name>!env.DOCKER_HOST</name>
- </property>
- <jdk>[1.8,)</jdk>
- </activation>
- <dependencies>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>james-server-data-jmap</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>james-server-guice-common</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>james-server-guice-common</artifactId>
- <scope>test</scope>
- <type>test-jar</type>
- </dependency>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>james-server-guice-jmap</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>james-server-guice-mailbox</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>james-server-testing</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.james</groupId>
- <artifactId>james-server-util-java8</artifactId>
- <scope>test</scope>
- <type>test-jar</type>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>18.0</version> <!--$NO-MVN-MAN-VER$-->
- </dependency>
- <dependency>
- <groupId>com.jayway.restassured</groupId>
- <artifactId>rest-assured</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>info.cukes</groupId>
- <artifactId>cucumber-guice</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>info.cukes</groupId>
- <artifactId>cucumber-java</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>info.cukes</groupId>
- <artifactId>cucumber-junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
- <version>${assertj-3.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>java-hamcrest</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.testcontainers</groupId>
- <artifactId>testcontainers</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <archive>
- <manifest>
- <mainClass>fully.qualified.MainClass</mainClass>
- </manifest>
- </archive>
- <descriptorRefs>
- <descriptorRef>jar-with-dependencies</descriptorRef>
- </descriptorRefs>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>**/ContainerTest.java</exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
<id>build-for-jdk-8</id>
<activation>
<jdk>[1.8,)</jdk>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[3/4] james-project git commit: JAMES-1912 Reduce function call by
calling to existed on
Posted by bt...@apache.org.
JAMES-1912 Reduce function call by calling to existed on
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/92f9bebc
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/92f9bebc
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/92f9bebc
Branch: refs/heads/master
Commit: 92f9bebc981fd169b4afeaef4c2171babe73ad53
Parents: 0f7ee8c
Author: quynhn <qn...@linagora.com>
Authored: Fri Apr 21 17:10:03 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Wed May 3 10:40:41 2017 +0700
----------------------------------------------------------------------
.../java/org/apache/james/metric/es/ESReporterTest.java | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/92f9bebc/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ESReporterTest.java
----------------------------------------------------------------------
diff --git a/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ESReporterTest.java b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ESReporterTest.java
index fa5aa43..da91772 100644
--- a/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ESReporterTest.java
+++ b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ESReporterTest.java
@@ -62,7 +62,7 @@ public class ESReporterTest {
@Before
public void setUp() {
- clientProvider = ClientProviderImpl.forHost(getContainerIp(), ES_APPLICATIVE_PORT);
+ clientProvider = ClientProviderImpl.forHost(esContainer.getIp(), ES_APPLICATIVE_PORT);
await().atMost(Duration.ONE_MINUTE)
.until(() -> elasticSearchStarted(clientProvider));
@@ -71,7 +71,7 @@ public class ESReporterTest {
esMetricReporter = new ESMetricReporter(
ESReporterConfiguration.builder()
.enabled()
- .onHost(getContainerIp(), ES_HTTP_PORT)
+ .onHost(esContainer.getIp(), ES_HTTP_PORT)
.onIndex(INDEX)
.periodInSecond(PERIOD_IN_SECOND)
.build(),
@@ -134,9 +134,4 @@ public class ESReporterTest {
}
}
- @SuppressWarnings("deprecation")
- private String getContainerIp() {
- return esContainer.getContainerInfo().getNetworkSettings().getIpAddress();
- }
-
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[2/4] james-project git commit: JAMES-1912 Somes docker tests fail
when no docker
Posted by bt...@apache.org.
JAMES-1912 Somes docker tests fail when no docker
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/0f7ee8cf
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/0f7ee8cf
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/0f7ee8cf
Branch: refs/heads/master
Commit: 0f7ee8cf1fbc1e4ea93bc6e4acfb9ed3594722fa
Parents: f4b51ba
Author: quynhn <qn...@linagora.com>
Authored: Fri Apr 21 17:07:50 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Wed May 3 10:40:21 2017 +0700
----------------------------------------------------------------------
.../util/streams/SwarmGenericContainer.java | 76 ++++++++++++++++----
1 file changed, 64 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/0f7ee8cf/server/container/util-java8/src/test/java/org/apache/james/util/streams/SwarmGenericContainer.java
----------------------------------------------------------------------
diff --git a/server/container/util-java8/src/test/java/org/apache/james/util/streams/SwarmGenericContainer.java b/server/container/util-java8/src/test/java/org/apache/james/util/streams/SwarmGenericContainer.java
index 2c70aa1..fb743a5 100644
--- a/server/container/util-java8/src/test/java/org/apache/james/util/streams/SwarmGenericContainer.java
+++ b/server/container/util-java8/src/test/java/org/apache/james/util/streams/SwarmGenericContainer.java
@@ -21,40 +21,92 @@ package org.apache.james.util.streams;
import java.util.List;
+import com.google.common.base.Strings;
+import org.junit.Assume;
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.Statement;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.images.builder.ImageFromDockerfile;
+import org.testcontainers.shaded.com.github.dockerjava.api.command.InspectContainerResponse;
-import com.google.common.base.Strings;
-
-public class SwarmGenericContainer extends GenericContainer<SwarmGenericContainer> {
-
+public class SwarmGenericContainer implements TestRule {
private static final Logger LOGGER = LoggerFactory.getLogger(SwarmGenericContainer.class);
private static final String DOCKER_CONTAINER = "DOCKER_CONTAINER";
+ private static final String NO_DOCKER_ENVIRONMENT = "Could not find a valid Docker environment.";
+ private static final String SKIPPING_TEST_CAUTION = "Skipping all docker tests as no Docker environment was found";
+
+ private GenericContainer container;
public SwarmGenericContainer(String dockerImageName) {
- super(dockerImageName);
+ try {
+ this.container = new GenericContainer(dockerImageName);
+ } catch (IllegalStateException e) {
+ logAndCheckSkipTest(e);
+ }
}
public SwarmGenericContainer(ImageFromDockerfile imageFromDockerfile) {
- super(imageFromDockerfile);
+ try {
+ this.container = new GenericContainer(imageFromDockerfile);
+ } catch (IllegalStateException e) {
+ logAndCheckSkipTest(e);
+ }
+ }
+
+ private void logAndCheckSkipTest(IllegalStateException e) {
+ LOGGER.error("Cannot initial a docker container because: " + e);
+ if (e.getMessage().startsWith(NO_DOCKER_ENVIRONMENT)) {
+ Assume.assumeTrue(SKIPPING_TEST_CAUTION, false);
+ }
}
public SwarmGenericContainer withAffinityToContainer() {
- String container = System.getenv(DOCKER_CONTAINER);
- if (Strings.isNullOrEmpty(container)) {
+ String containerEnv = System.getenv(DOCKER_CONTAINER);
+ if (Strings.isNullOrEmpty(containerEnv)) {
LOGGER.warn("'DOCKER_CONTAINER' environment variable not found, dockering without affinity");
- return self();
+ return this;
}
- List<String> envVariables = getEnv();
+ List<String> envVariables = container.getEnv();
envVariables.add("affinity:container==" + container);
- setEnv(envVariables);
- return self();
+ container.setEnv(envVariables);
+ return this;
+ }
+
+ public SwarmGenericContainer withEnv(String key, String value) {
+ container.addEnv(key, value);
+ return this;
+ }
+
+ public void start() {
+ container.start();
+ }
+
+ public void stop() {
+ container.stop();
+ }
+
+ public String getContainerIpAddress() {
+ return container.getContainerIpAddress();
+ }
+
+ public Integer getMappedPort(int originalPort) {
+ return container.getMappedPort(originalPort);
}
@SuppressWarnings("deprecation")
public String getIp() {
return getContainerInfo().getNetworkSettings().getIpAddress();
}
+
+ public InspectContainerResponse getContainerInfo() {
+ return container.getContainerInfo();
+ }
+ @Override
+ public Statement apply(Statement statement, Description description) {
+ return container.apply(statement, description);
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org