JAMES-2617 Integration test for ElasticSearch 6

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

Branch: refs/heads/master
Commit: 00c2c6d0eea7d3298dcd63237b85088fabcc5f9a
Parents: 7c2f404
Author: Raphael Ouazana <[email protected]>
Authored: Wed Dec 5 15:18:00 2018 +0100
Committer: Raphael Ouazana <[email protected]>
Committed: Thu Dec 6 11:27:04 2018 +0100

----------------------------------------------------------------------
 .../JamesServerWithRetryConnectionTest.java     |  2 +-
 .../es/DockerElasticSearch2Extension.java       |  2 +-
 .../es/DockerElasticSearch6Extension.java       | 62 ++++++++++++++++++++
 .../apache/james/metric/es/ES6ReporterTest.java | 26 ++++++++
 .../org/apache/james/util/docker/Images.java    |  3 +-
 5 files changed, 92 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/00c2c6d0/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesServerWithRetryConnectionTest.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesServerWithRetryConnectionTest.java
 
b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesServerWithRetryConnectionTest.java
index 5b5b33f..ef7360e 100644
--- 
a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesServerWithRetryConnectionTest.java
+++ 
b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesServerWithRetryConnectionTest.java
@@ -84,7 +84,7 @@ class JamesServerWithRetryConnectionTest {
     private static final int ELASTIC_SEARCH_PORT = 9300;
     private static final int ELASTIC_SEARCH_HTTP_PORT = 9200;
 
-    private static SwarmGenericContainer elasticSearchContainer = new 
SwarmGenericContainer(Images.ELASTICSEARCH)
+    private static SwarmGenericContainer elasticSearchContainer = new 
SwarmGenericContainer(Images.ELASTICSEARCH_2)
         .withExposedPorts(ELASTIC_SEARCH_HTTP_PORT, ELASTIC_SEARCH_PORT);
     private static final DockerCassandraRule cassandraRule = new 
DockerCassandraRule();
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/00c2c6d0/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearch2Extension.java
----------------------------------------------------------------------
diff --git 
a/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearch2Extension.java
 
b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearch2Extension.java
index 730fde5..3a0b076 100644
--- 
a/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearch2Extension.java
+++ 
b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearch2Extension.java
@@ -33,7 +33,7 @@ public class DockerElasticSearch2Extension implements 
ParameterResolver, BeforeE
     private final SwarmGenericContainer elasticSearchContainer;
 
     private DockerElasticSearch2Extension() {
-        this.elasticSearchContainer = new 
SwarmGenericContainer(Images.ELASTICSEARCH)
+        this.elasticSearchContainer = new 
SwarmGenericContainer(Images.ELASTICSEARCH_2)
             .withAffinityToContainer()
             .withExposedPorts(ESReporterContract.ES_HTTP_PORT)
             .waitingFor(new 
HostPortWaitStrategy().withRateLimiter(RateLimiters.TWENTIES_PER_SECOND));

http://git-wip-us.apache.org/repos/asf/james-project/blob/00c2c6d0/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearch6Extension.java
----------------------------------------------------------------------
diff --git 
a/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearch6Extension.java
 
b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearch6Extension.java
new file mode 100644
index 0000000..ab63089
--- /dev/null
+++ 
b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearch6Extension.java
@@ -0,0 +1,62 @@
+/****************************************************************
+ * 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.metric.es;
+
+import org.apache.james.util.docker.Images;
+import org.apache.james.util.docker.RateLimiters;
+import org.apache.james.util.docker.SwarmGenericContainer;
+import org.junit.jupiter.api.extension.AfterEachCallback;
+import org.junit.jupiter.api.extension.BeforeEachCallback;
+import org.junit.jupiter.api.extension.ExtensionContext;
+import org.junit.jupiter.api.extension.ParameterContext;
+import org.junit.jupiter.api.extension.ParameterResolutionException;
+import org.junit.jupiter.api.extension.ParameterResolver;
+import org.testcontainers.containers.wait.strategy.HostPortWaitStrategy;
+
+public class DockerElasticSearch6Extension implements ParameterResolver, 
BeforeEachCallback, AfterEachCallback {
+    private final SwarmGenericContainer elasticSearchContainer;
+
+    private DockerElasticSearch6Extension() {
+        this.elasticSearchContainer = new 
SwarmGenericContainer(Images.ELASTICSEARCH_6)
+            .withEnv("discovery.type", "single-node")
+            .withAffinityToContainer()
+            .withExposedPorts(ESReporterContract.ES_HTTP_PORT)
+            .waitingFor(new 
HostPortWaitStrategy().withRateLimiter(RateLimiters.TWENTIES_PER_SECOND));
+    }
+
+    @Override
+    public void beforeEach(ExtensionContext extensionContext) {
+        elasticSearchContainer.start();
+    }
+
+    @Override
+    public void afterEach(ExtensionContext extensionContext) {
+        elasticSearchContainer.stop();
+    }
+
+    @Override
+    public boolean supportsParameter(ParameterContext parameterContext, 
ExtensionContext extensionContext) throws ParameterResolutionException {
+        return (parameterContext.getParameter().getType() == 
SwarmGenericContainer.class);
+    }
+
+    @Override
+    public Object resolveParameter(ParameterContext parameterContext, 
ExtensionContext extensionContext) throws ParameterResolutionException {
+        return elasticSearchContainer;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/00c2c6d0/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ES6ReporterTest.java
----------------------------------------------------------------------
diff --git 
a/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ES6ReporterTest.java
 
b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ES6ReporterTest.java
new file mode 100644
index 0000000..482c92c
--- /dev/null
+++ 
b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ES6ReporterTest.java
@@ -0,0 +1,26 @@
+/****************************************************************
+ * 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.metric.es;
+
+import org.junit.jupiter.api.extension.ExtendWith;
+
+@ExtendWith(DockerElasticSearch6Extension.class)
+class ES6ReporterTest extends ESReporterContract {
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/00c2c6d0/server/testing/src/main/java/org/apache/james/util/docker/Images.java
----------------------------------------------------------------------
diff --git 
a/server/testing/src/main/java/org/apache/james/util/docker/Images.java 
b/server/testing/src/main/java/org/apache/james/util/docker/Images.java
index 2327655..5e97e7d 100644
--- a/server/testing/src/main/java/org/apache/james/util/docker/Images.java
+++ b/server/testing/src/main/java/org/apache/james/util/docker/Images.java
@@ -22,7 +22,8 @@ package org.apache.james.util.docker;
 public interface Images {
     String FAKE_SMTP = "weave/rest-smtp-sink:latest";
     String RABBITMQ = "rabbitmq:3.7.7-management";
-    String ELASTICSEARCH = "elasticsearch:2.4.6";
+    String ELASTICSEARCH_2 = "elasticsearch:2.4.6";
+    String ELASTICSEARCH_6 = "elasticsearch:6.5.1";
     String NGINX = "nginx:1.15.1";
     String TIKA = "logicalspark/docker-tikaserver:1.19.1";
     String SPAMASSASSIN = "dinkel/spamassassin:3.4.0";


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to