[prev in list] [next in list] [prev in thread] [next in thread] 

List:       james-dev
Subject:    [07/13] james-project git commit: JAMES-2262 Improve docker helpers naming
From:       btellier () apache ! org
Date:       2017-12-25 4:26:51
Message-ID: 9853636850f5477d8f35dd43810aaee8 () git ! apache ! org
[Download RAW message or body]

JAMES-2262 Improve docker helpers naming


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/9c239771
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/9c239771
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/9c239771

Branch: refs/heads/master
Commit: 9c239771a997982e5c80fa9a392c71e54f66ad3b
Parents: 4a0c630
Author: benwa <btellier@linagora.com>
Authored: Fri Dec 22 09:37:00 2017 +0700
Committer: benwa <btellier@linagora.com>
Committed: Mon Dec 25 11:24:56 2017 +0700

----------------------------------------------------------------------
 .../es/ClientProviderImplConnectionTest.java    |   2 +-
 .../james/mailbox/tika/TikaContainer.java       |   6 +-
 .../apache/james/mpt/smtp/ForwardSmtpTest.java  |   6 +-
 .../apache/james/DockerElasticSearchRule.java   |   6 +-
 .../apache/james/metric/es/ESReporterTest.java  |   6 +-
 .../org/apache/james/util/docker/Images.java    |  29 ++++
 .../util/docker/SwarmGenericContainer.java      | 158 ++++++++++++++++++
 .../james/util/streams/ContainerNames.java      |  29 ----
 .../util/streams/SwarmGenericContainer.java     | 159 -------------------
 .../james/user/ldap/LdapGenericContainer.java   |   2 +-
 .../GatewayRemoteDeliveryIntegrationTest.java   |   6 +-
 .../james/smtp/SmtpAuthorizedAddressesTest.java |   2 +-
 .../mailets/AmqpForwardAttachmentTest.java      |   6 +-
 .../transport/mailets/ContactExtractorTest.java |   6 +-
 .../transport/mailets/GroupMappingTest.java     |   6 +-
 .../mailets/ICSAttachmentWorkflowTest.java      |   6 +-
 .../transport/mailets/SpamAssassinTest.java     |   7 +-
 .../james/transport/mailets/amqp/AmqpRule.java  |   2 +-
 .../org/apache/james/jmap/ContainerTest.java    |   6 +-
 .../jmap/VacationRelayIntegrationTest.java      |   6 +-
 20 files changed, 227 insertions(+), 229 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/backends-common/ela \
sticsearch/src/test/java/org/apache/james/backends/es/ClientProviderImplConnectionTest.java
                
----------------------------------------------------------------------
diff --git a/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ClientProviderImplConnectionTest.java \
b/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ClientProviderImplConnectionTest.java
 index 5b64dd4..4fbe271 100644
--- a/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ClientProviderImplConnectionTest.java
                
+++ b/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ClientProviderImplConnectionTest.java
 @@ -21,7 +21,7 @@ package org.apache.james.backends.es;
 
 import java.util.concurrent.TimeUnit;
 
-import org.apache.james.util.streams.SwarmGenericContainer;
+import org.apache.james.util.docker.SwarmGenericContainer;
 import org.elasticsearch.client.Client;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.junit.Ignore;

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/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 \
                adb451b..8bb7733 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
@@ -21,8 +21,8 @@ package org.apache.james.mailbox.tika;
 import java.time.Duration;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.james.util.streams.ContainerNames;
-import org.apache.james.util.streams.SwarmGenericContainer;
+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;
 
@@ -36,7 +36,7 @@ public class TikaContainer extends ExternalResource {
     private final SwarmGenericContainer tika;
 
     public TikaContainer() {
-        tika = new SwarmGenericContainer(ContainerNames.TIKA)
+        tika = new SwarmGenericContainer(Images.TIKA)
                 .withExposedPorts(DEFAULT_TIKA_PORT)
                 .waitingFor(Wait.forHttp("/tika"))
                 .withStartupTimeout(Duration.ofSeconds(30));

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/ForwardSmtpTest.java
                
----------------------------------------------------------------------
diff --git a/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/ForwardSmtpTest.java \
b/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/ForwardSmtpTest.java \
                index 954ebd2..41f2ddf 100644
--- a/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/ForwardSmtpTest.java
+++ b/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/ForwardSmtpTest.java
@@ -27,8 +27,8 @@ import java.net.InetAddress;
 import java.util.Locale;
 
 import org.apache.james.mpt.script.SimpleScriptedTestProtocol;
-import org.apache.james.util.streams.ContainerNames;
-import org.apache.james.util.streams.SwarmGenericContainer;
+import org.apache.james.util.docker.Images;
+import org.apache.james.util.docker.SwarmGenericContainer;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -52,7 +52,7 @@ public abstract class ForwardSmtpTest {
     public static final String PASSWORD = "secret";
 
     private final TemporaryFolder folder = new TemporaryFolder();
-    private final SwarmGenericContainer fakeSmtp = new \
SwarmGenericContainer(ContainerNames.FAKE_SMTP) +    private final \
                SwarmGenericContainer fakeSmtp = new \
                SwarmGenericContainer(Images.FAKE_SMTP)
             .withExposedPorts(25)
             .withAffinityToContainer()
             .waitingFor(new HostPortWaitStrategy());

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerElasticSearchRule.java
                
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerElasticSearchRule.java \
b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerElasticSearchRule.java
 index 06b5d44..c6c0679 100644
--- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerElasticSearchRule.java
                
+++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerElasticSearchRule.java
 @@ -22,8 +22,8 @@ package org.apache.james;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.PropertiesConfiguration;
 import org.apache.james.modules.mailbox.ElasticSearchConfiguration;
-import org.apache.james.util.streams.ContainerNames;
-import org.apache.james.util.streams.SwarmGenericContainer;
+import org.apache.james.util.docker.Images;
+import org.apache.james.util.docker.SwarmGenericContainer;
 import org.junit.runner.Description;
 import org.junit.runners.model.Statement;
 
@@ -60,7 +60,7 @@ public class DockerElasticSearchRule implements GuiceModuleTestRule \
{  }
     }
 
-    private SwarmGenericContainer elasticSearchContainer = new \
SwarmGenericContainer(ContainerNames.ELASTICSEARCH) +    private \
SwarmGenericContainer elasticSearchContainer = new \
                SwarmGenericContainer(Images.ELASTICSEARCH)
         .withExposedPorts(ELASTIC_SEARCH_HTTP_PORT, ELASTIC_SEARCH_PORT);
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/server/container/me \
trics/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 3cd77bd..14edded 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
 @@ -31,8 +31,8 @@ import org.apache.james.metrics.api.TimeMetric;
 import org.apache.james.metrics.dropwizard.DropWizardMetricFactory;
 import org.apache.james.metrics.es.ESMetricReporter;
 import org.apache.james.metrics.es.ESReporterConfiguration;
-import org.apache.james.util.streams.ContainerNames;
-import org.apache.james.util.streams.SwarmGenericContainer;
+import org.apache.james.util.docker.Images;
+import org.apache.james.util.docker.SwarmGenericContainer;
 import org.elasticsearch.client.Client;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.junit.After;
@@ -53,7 +53,7 @@ public class ESReporterTest {
     public static final int ES_HTTP_PORT = 9200;
 
     @Rule
-    public SwarmGenericContainer esContainer = new \
SwarmGenericContainer(ContainerNames.ELASTICSEARCH) +    public SwarmGenericContainer \
                esContainer = new SwarmGenericContainer(Images.ELASTICSEARCH)
         .withAffinityToContainer()
         .withExposedPorts(ES_HTTP_PORT, ES_APPLICATIVE_PORT);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/server/container/util-java8/src/test/java/org/apache/james/util/docker/Images.java
                
----------------------------------------------------------------------
diff --git a/server/container/util-java8/src/test/java/org/apache/james/util/docker/Images.java \
b/server/container/util-java8/src/test/java/org/apache/james/util/docker/Images.java \
new file mode 100644 index 0000000..7b75b45
--- /dev/null
+++ b/server/container/util-java8/src/test/java/org/apache/james/util/docker/Images.java
 @@ -0,0 +1,29 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.util.docker;
+
+public interface Images {
+    String FAKE_SMTP = "weave/rest-smtp-sink:latest";
+    String RABBITMQ = "rabbitmq:3";
+    String ELASTICSEARCH = "elasticsearch:2.2.2";
+    String NGINX = "nginx:1.7.1";
+    String TIKA = "logicalspark/docker-tikaserver:1.15rc2";
+    String SPAMASSASSIN = "dinkel/spamassassin:3.4.0";
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/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
 new file mode 100644
index 0000000..0114a4e
--- /dev/null
+++ b/server/container/util-java8/src/test/java/org/apache/james/util/docker/SwarmGenericContainer.java
 @@ -0,0 +1,158 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.util.docker;
+
+import java.net.Socket;
+import java.time.Duration;
+import java.util.List;
+
+import javax.net.SocketFactory;
+
+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.DockerClientFactory;
+import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.containers.wait.WaitStrategy;
+import org.testcontainers.images.builder.ImageFromDockerfile;
+import org.testcontainers.shaded.com.google.common.collect.ImmutableList;
+
+import com.github.dockerjava.api.command.InspectContainerResponse;
+import com.google.common.base.Strings;
+
+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) {
+        try {
+            this.container = new GenericContainer<>(dockerImageName);
+        } catch (IllegalStateException e) {
+            logAndCheckSkipTest(e);
+        }
+    }
+
+    public SwarmGenericContainer(ImageFromDockerfile imageFromDockerfile) {
+        try {
+            this.container = new GenericContainer<>(imageFromDockerfile);
+        } catch (IllegalStateException e) {
+            logAndCheckSkipTest(e);
+        }
+    }
+    private void logAndCheckSkipTest(IllegalStateException e) {
+        LOGGER.error("Cannot initial a docker container", e);
+        if (e.getMessage().startsWith(NO_DOCKER_ENVIRONMENT)) {
+            Assume.assumeTrue(SKIPPING_TEST_CAUTION, false);
+        }
+    }
+
+    public SwarmGenericContainer withAffinityToContainer() {
+        String containerEnv = System.getenv(DOCKER_CONTAINER);
+        if (Strings.isNullOrEmpty(containerEnv)) {
+            LOGGER.warn("'DOCKER_CONTAINER' environment variable not found, \
dockering without affinity"); +            return this;
+        }
+        List<String> envVariables = container.getEnv();
+        envVariables.add("affinity:container==" + container);
+        container.setEnv(envVariables);
+        return this;
+    }
+
+    public SwarmGenericContainer withEnv(String key, String value) {
+        container.addEnv(key, value);
+        return this;
+    }
+
+    public SwarmGenericContainer withExposedPorts(Integer... ports) {
+        container.withExposedPorts(ports);
+        return this;
+    }
+
+    public SwarmGenericContainer portBinding(int hostPort, int dockerPort) {
+        container.setPortBindings(ImmutableList.of("0.0.0.0:" + hostPort + ":" + \
dockerPort)); +        return this;
+    }
+
+    public SwarmGenericContainer waitingFor(WaitStrategy waitStrategy) {
+        container.waitingFor(waitStrategy);
+        return this;
+    }
+
+    public SwarmGenericContainer withStartupTimeout(Duration startupTimeout) {
+        container.withStartupTimeout(startupTimeout);
+        return this;
+    }
+
+    public void start() {
+        container.start();
+    }
+
+    public void stop() {
+        container.stop();
+    }
+
+    public void pause() {
+        DockerClientFactory.instance().client().pauseContainerCmd(container.getContainerInfo().getId());
 +    }
+
+    public void unpause() {
+        DockerClientFactory.instance().client().unpauseContainerCmd(container.getContainerInfo().getId());
 +    }
+
+    public Integer getMappedPort(int originalPort) {
+        return container.getMappedPort(originalPort);
+    }
+
+    @SuppressWarnings("deprecation")
+    public String getContainerIp() {
+        return container.getContainerInfo().getNetworkSettings().getIpAddress();
+    }
+    
+    public String getHostIp() {
+        return container.getContainerIpAddress();
+    }
+
+    public InspectContainerResponse getContainerInfo() {
+        return container.getContainerInfo();
+    }
+
+    public boolean tryConnect(int port) {
+        try {
+            Socket socket = \
SocketFactory.getDefault().createSocket(getContainerIp(), port); +            \
socket.close(); +            return true;
+        } catch (Exception e) {
+            return false;
+        }
+    }
+
+    @Override
+    public Statement apply(Statement statement, Description description) {
+        return container.apply(statement, description);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/server/container/util-java8/src/test/java/org/apache/james/util/streams/ContainerNames.java
                
----------------------------------------------------------------------
diff --git a/server/container/util-java8/src/test/java/org/apache/james/util/streams/ContainerNames.java \
b/server/container/util-java8/src/test/java/org/apache/james/util/streams/ContainerNames.java
 deleted file mode 100644
index 2328431..0000000
--- a/server/container/util-java8/src/test/java/org/apache/james/util/streams/ContainerNames.java
                
+++ /dev/null
@@ -1,29 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-
-package org.apache.james.util.streams;
-
-public interface ContainerNames {
-    String FAKE_SMTP = "weave/rest-smtp-sink:latest";
-    String RABBITMQ = "rabbitmq:3";
-    String ELASTICSEARCH = "elasticsearch:2.2.2";
-    String NGINX = "nginx:1.7.1";
-    String TIKA = "logicalspark/docker-tikaserver:1.15rc2";
-    String SPAMASSASSIN = "dinkel/spamassassin:3.4.0";
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/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
 deleted file mode 100644
index d0d0906..0000000
--- a/server/container/util-java8/src/test/java/org/apache/james/util/streams/SwarmGenericContainer.java
                
+++ /dev/null
@@ -1,159 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-
-package org.apache.james.util.streams;
-
-import java.net.Socket;
-import java.time.Duration;
-import java.util.List;
-
-import javax.net.SocketFactory;
-
-import com.github.dockerjava.api.model.Bind;
-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.DockerClientFactory;
-import org.testcontainers.containers.GenericContainer;
-import org.testcontainers.containers.wait.WaitStrategy;
-import org.testcontainers.images.builder.ImageFromDockerfile;
-
-import com.github.dockerjava.api.command.InspectContainerResponse;
-import com.google.common.base.Strings;
-import org.testcontainers.shaded.com.google.common.collect.ImmutableList;
-
-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) {
-        try {
-            this.container = new GenericContainer<>(dockerImageName);
-        } catch (IllegalStateException e) {
-            logAndCheckSkipTest(e);
-        }
-    }
-
-    public SwarmGenericContainer(ImageFromDockerfile imageFromDockerfile) {
-        try {
-            this.container = new GenericContainer<>(imageFromDockerfile);
-        } catch (IllegalStateException e) {
-            logAndCheckSkipTest(e);
-        }
-    }
-    private void logAndCheckSkipTest(IllegalStateException e) {
-        LOGGER.error("Cannot initial a docker container", e);
-        if (e.getMessage().startsWith(NO_DOCKER_ENVIRONMENT)) {
-            Assume.assumeTrue(SKIPPING_TEST_CAUTION, false);
-        }
-    }
-
-    public SwarmGenericContainer withAffinityToContainer() {
-        String containerEnv = System.getenv(DOCKER_CONTAINER);
-        if (Strings.isNullOrEmpty(containerEnv)) {
-            LOGGER.warn("'DOCKER_CONTAINER' environment variable not found, \
                dockering without affinity");
-            return this;
-        }
-        List<String> envVariables = container.getEnv();
-        envVariables.add("affinity:container==" + container);
-        container.setEnv(envVariables);
-        return this;
-    }
-
-    public SwarmGenericContainer withEnv(String key, String value) {
-        container.addEnv(key, value);
-        return this;
-    }
-
-    public SwarmGenericContainer withExposedPorts(Integer... ports) {
-        container.withExposedPorts(ports);
-        return this;
-    }
-
-    public SwarmGenericContainer portBinding(int hostPort, int dockerPort) {
-        container.setPortBindings(ImmutableList.of("0.0.0.0:" + hostPort + ":" + \
                dockerPort));
-        return this;
-    }
-
-    public SwarmGenericContainer waitingFor(WaitStrategy waitStrategy) {
-        container.waitingFor(waitStrategy);
-        return this;
-    }
-
-    public SwarmGenericContainer withStartupTimeout(Duration startupTimeout) {
-        container.withStartupTimeout(startupTimeout);
-        return this;
-    }
-
-    public void start() {
-        container.start();
-    }
-
-    public void stop() {
-        container.stop();
-    }
-
-    public void pause() {
-        DockerClientFactory.instance().client().pauseContainerCmd(container.getContainerInfo().getId());
                
-    }
-
-    public void unpause() {
-        DockerClientFactory.instance().client().unpauseContainerCmd(container.getContainerInfo().getId());
                
-    }
-
-    public Integer getMappedPort(int originalPort) {
-        return container.getMappedPort(originalPort);
-    }
-
-    @SuppressWarnings("deprecation")
-    public String getContainerIp() {
-        return container.getContainerInfo().getNetworkSettings().getIpAddress();
-    }
-    
-    public String getHostIp() {
-        return container.getContainerIpAddress();
-    }
-
-    public InspectContainerResponse getContainerInfo() {
-        return container.getContainerInfo();
-    }
-
-    public boolean tryConnect(int port) {
-        try {
-            Socket socket = \
                SocketFactory.getDefault().createSocket(getContainerIp(), port);
-            socket.close();
-            return true;
-        } catch (Exception e) {
-            return false;
-        }
-    }
-
-    @Override
-    public Statement apply(Statement statement, Description description) {
-        return container.apply(statement, description);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/server/data/data-ld \
ap-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 7be9d6b..4a6fb61 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
 @@ -18,7 +18,7 @@
  ****************************************************************/
 package org.apache.james.user.ldap;
 
-import org.apache.james.util.streams.SwarmGenericContainer;
+import org.apache.james.util.docker.SwarmGenericContainer;
 import org.junit.rules.ExternalResource;
 import org.testcontainers.containers.wait.HostPortWaitStrategy;
 import org.testcontainers.images.builder.ImageFromDockerfile;

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/server/mailet/integ \
ration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
                
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java \
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
 index 5d7d498..4bde906 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
                
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
 @@ -47,8 +47,8 @@ import org.apache.james.transport.mailets.ToProcessor;
 import org.apache.james.transport.matchers.All;
 import org.apache.james.transport.matchers.RecipientIsLocal;
 import org.apache.james.transport.matchers.RelayLimit;
-import org.apache.james.util.streams.ContainerNames;
-import org.apache.james.util.streams.SwarmGenericContainer;
+import org.apache.james.util.docker.Images;
+import org.apache.james.util.docker.SwarmGenericContainer;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.IMAPMessageReader;
 import org.apache.james.utils.SMTPMessageSender;
@@ -84,7 +84,7 @@ public class GatewayRemoteDeliveryIntegrationTest {
     public TemporaryFolder temporaryFolder = new TemporaryFolder();
 
     private final TemporaryFolder smtpFolder = new TemporaryFolder();
-    private final SwarmGenericContainer fakeSmtp = new \
SwarmGenericContainer(ContainerNames.FAKE_SMTP) +    private final \
                SwarmGenericContainer fakeSmtp = new \
                SwarmGenericContainer(Images.FAKE_SMTP)
         .withExposedPorts(25)
         .withAffinityToContainer()
         .waitingFor(new HostPortWaitStrategy());

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/server/mailet/integ \
                ration-testing/src/test/java/org/apache/james/smtp/SmtpAuthorizedAddressesTest.java
                
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/smtp/SmtpAuthorizedAddressesTest.java \
b/server/mailet/integration-testing/src/test/java/org/apache/james/smtp/SmtpAuthorizedAddressesTest.java
 index 3c9ea9f..726c6df 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/smtp/SmtpAuthorizedAddressesTest.java
                
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/smtp/SmtpAuthorizedAddressesTest.java
 @@ -40,7 +40,7 @@ import org.apache.james.transport.mailets.ToProcessor;
 import org.apache.james.transport.matchers.All;
 import org.apache.james.transport.matchers.RecipientIsLocal;
 import org.apache.james.transport.matchers.SMTPIsAuthNetwork;
-import org.apache.james.util.streams.SwarmGenericContainer;
+import org.apache.james.util.docker.SwarmGenericContainer;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.IMAPMessageReader;
 import org.apache.james.utils.SMTPMessageSender;

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/server/mailet/integ \
ration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
                
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java \
b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
 index 0b19dd4..493d8f8 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
                
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
 @@ -36,8 +36,8 @@ import org.apache.james.probe.DataProbe;
 import org.apache.james.transport.mailets.amqp.AmqpRule;
 import org.apache.james.transport.matchers.All;
 import org.apache.james.transport.matchers.RecipientIsLocal;
-import org.apache.james.util.streams.ContainerNames;
-import org.apache.james.util.streams.SwarmGenericContainer;
+import org.apache.james.util.docker.Images;
+import org.apache.james.util.docker.SwarmGenericContainer;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.IMAPMessageReader;
 import org.apache.james.utils.SMTPMessageSender;
@@ -74,7 +74,7 @@ public class AmqpForwardAttachmentTest {
     
     private static final byte[] TEST_ATTACHMENT_CONTENT = "Test attachment \
content".getBytes(Charsets.UTF_8);  
-    public SwarmGenericContainer rabbitMqContainer = new \
SwarmGenericContainer(ContainerNames.RABBITMQ) +    public SwarmGenericContainer \
                rabbitMqContainer = new SwarmGenericContainer(Images.RABBITMQ)
             .withAffinityToContainer();
 
     public TemporaryFolder temporaryFolder = new TemporaryFolder();

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/server/mailet/integ \
ration-testing/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java
                
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java \
b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java
 index 34c9a36..560d633 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java
                
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java
 @@ -36,8 +36,8 @@ import org.apache.james.transport.mailets.amqp.AmqpRule;
 import org.apache.james.transport.matchers.All;
 import org.apache.james.transport.matchers.RecipientIsLocal;
 import org.apache.james.transport.matchers.SMTPAuthSuccessful;
-import org.apache.james.util.streams.ContainerNames;
-import org.apache.james.util.streams.SwarmGenericContainer;
+import org.apache.james.util.docker.Images;
+import org.apache.james.util.docker.SwarmGenericContainer;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.IMAPMessageReader;
 import org.apache.james.utils.SMTPMessageSender;
@@ -67,7 +67,7 @@ public class ContactExtractorTest {
     public static final String EXCHANGE = "collector:email";
     public static final String ROUTING_KEY = "";
 
-    public SwarmGenericContainer rabbit = new \
SwarmGenericContainer(ContainerNames.RABBITMQ); +    public SwarmGenericContainer \
                rabbit = new SwarmGenericContainer(Images.RABBITMQ);
     public AmqpRule amqpRule = new AmqpRule(rabbit, EXCHANGE, ROUTING_KEY);
     public TemporaryFolder folder = new TemporaryFolder();
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/server/mailet/integ \
                ration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
                
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java \
b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
 index 4ec65fb..db5fe68 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
                
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
 @@ -44,8 +44,8 @@ import org.apache.james.transport.matchers.All;
 import org.apache.james.transport.matchers.RecipientIsLocal;
 import org.apache.james.transport.matchers.RelayLimit;
 import org.apache.james.transport.matchers.SMTPAuthSuccessful;
-import org.apache.james.util.streams.ContainerNames;
-import org.apache.james.util.streams.SwarmGenericContainer;
+import org.apache.james.util.docker.Images;
+import org.apache.james.util.docker.SwarmGenericContainer;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.IMAPMessageReader;
 import org.apache.james.utils.SMTPMessageSender;
@@ -91,7 +91,7 @@ public class GroupMappingTest {
     private RequestSpecification restApiRequest;
 
     @Rule
-    public final SwarmGenericContainer fakeSmtp = new \
SwarmGenericContainer(ContainerNames.FAKE_SMTP) +    public final \
                SwarmGenericContainer fakeSmtp = new \
                SwarmGenericContainer(Images.FAKE_SMTP)
         .withExposedPorts(25)
         .withAffinityToContainer()
         .waitingFor(new HostPortWaitStrategy());

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/server/mailet/integ \
ration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java
                
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java \
b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java
 index 56e80f3..b12595d 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java
                
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java
 @@ -39,8 +39,8 @@ import org.apache.james.probe.DataProbe;
 import org.apache.james.transport.mailets.amqp.AmqpRule;
 import org.apache.james.transport.matchers.All;
 import org.apache.james.transport.matchers.RecipientIsLocal;
-import org.apache.james.util.streams.ContainerNames;
-import org.apache.james.util.streams.SwarmGenericContainer;
+import org.apache.james.util.docker.Images;
+import org.apache.james.util.docker.SwarmGenericContainer;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.IMAPMessageReader;
 import org.apache.james.utils.SMTPMessageSender;
@@ -435,7 +435,7 @@ public class ICSAttachmentWorkflowTest {
             "END:VCALENDAR\r\n" +
             "";
 
-    public SwarmGenericContainer rabbitMqContainer = new \
SwarmGenericContainer(ContainerNames.RABBITMQ) +    public SwarmGenericContainer \
                rabbitMqContainer = new SwarmGenericContainer(Images.RABBITMQ)
             .withAffinityToContainer();
     public TemporaryFolder temporaryFolder = new TemporaryFolder();
     public AmqpRule amqpRule = new AmqpRule(rabbitMqContainer, EXCHANGE_NAME, \
ROUTING_KEY);

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/server/mailet/integ \
                ration-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 8eb6fea..bf1541e 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
 @@ -19,7 +19,6 @@
 package org.apache.james.transport.mailets;
 
 import static org.apache.james.MemoryJamesServerMain.SMTP_AND_IMAP_MODULE;
-import static org.apache.james.MemoryJamesServerMain.SMTP_ONLY_MODULE;
 import static org.assertj.core.api.Assertions.assertThat;
 
 import javax.mail.internet.MimeMessage;
@@ -32,9 +31,9 @@ import org.apache.james.mailets.configuration.MailetContainer;
 import org.apache.james.mailets.configuration.ProcessorConfiguration;
 import org.apache.james.transport.matchers.All;
 import org.apache.james.transport.matchers.RecipientIsLocal;
+import org.apache.james.util.docker.Images;
+import org.apache.james.util.docker.SwarmGenericContainer;
 import org.apache.james.util.scanner.SpamAssassinInvoker;
-import org.apache.james.util.streams.ContainerNames;
-import org.apache.james.util.streams.SwarmGenericContainer;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.IMAPMessageReader;
 import org.apache.james.utils.SMTPMessageSender;
@@ -62,7 +61,7 @@ public class SpamAssassinTest {
     public static final String TO = "to@" + JAMES_ORG;
     public static final String PASSWORD = "secret";
 
-    public SwarmGenericContainer spamAssassinContainer = new \
SwarmGenericContainer(ContainerNames.SPAMASSASSIN) +    public SwarmGenericContainer \
                spamAssassinContainer = new \
                SwarmGenericContainer(Images.SPAMASSASSIN)
         .withExposedPorts(783)
         .withAffinityToContainer()
         .waitingFor(new HostPortWaitStrategy());

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/server/mailet/integ \
                ration-testing/src/test/java/org/apache/james/transport/mailets/amqp/AmqpRule.java
                
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/amqp/AmqpRule.java \
b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/amqp/AmqpRule.java
 index 06341df..3182103 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/amqp/AmqpRule.java
                
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/amqp/AmqpRule.java
 @@ -24,7 +24,7 @@ import java.util.Optional;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 
-import org.apache.james.util.streams.SwarmGenericContainer;
+import org.apache.james.util.docker.SwarmGenericContainer;
 import org.junit.rules.ExternalResource;
 
 import com.google.common.base.Charsets;

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/server/protocols/jm \
ap-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 2bd0288..bcc8a18 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
 @@ -26,8 +26,8 @@ import java.net.URISyntaxException;
 import org.apache.http.client.fluent.Request;
 import org.apache.http.client.fluent.Response;
 import org.apache.http.client.utils.URIBuilder;
-import org.apache.james.util.streams.ContainerNames;
-import org.apache.james.util.streams.SwarmGenericContainer;
+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;
@@ -35,7 +35,7 @@ import org.testcontainers.containers.wait.HttpWaitStrategy;
 public class ContainerTest {
 
     @Rule
-    public SwarmGenericContainer container = new \
SwarmGenericContainer(ContainerNames.NGINX) +    public SwarmGenericContainer \
                container = new SwarmGenericContainer(Images.NGINX)
         .withAffinityToContainer()
         .withExposedPorts(80)
         .waitingFor(new HttpWaitStrategy().forStatusCode(200));

http://git-wip-us.apache.org/repos/asf/james-project/blob/9c239771/server/protocols/jm \
ap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java
                
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java \
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java
 index 1887c45..0291569 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java
                
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java
 @@ -36,8 +36,8 @@ import org.apache.james.mailbox.model.MailboxConstants;
 import org.apache.james.mailbox.store.probe.MailboxProbe;
 import org.apache.james.modules.MailboxProbeImpl;
 import org.apache.james.probe.DataProbe;
-import org.apache.james.util.streams.ContainerNames;
-import org.apache.james.util.streams.SwarmGenericContainer;
+import org.apache.james.util.docker.Images;
+import org.apache.james.util.docker.SwarmGenericContainer;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.JmapGuiceProbe;
 import org.junit.After;
@@ -67,7 +67,7 @@ public abstract class VacationRelayIntegrationTest {
     private static final int REST_SMTP_SINK_PORT = 25;
 
     @Rule
-    public final SwarmGenericContainer fakeSmtp = new \
SwarmGenericContainer(ContainerNames.FAKE_SMTP) +    public final \
                SwarmGenericContainer fakeSmtp = new \
                SwarmGenericContainer(Images.FAKE_SMTP)
         .withExposedPorts(REST_SMTP_SINK_PORT)
         .waitingFor(new HostPortWaitStrategy());
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic