This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 389d23d1f8b444e15885dc9c9805c5addedefb5d
Author: Tran Tien Duc <[email protected]>
AuthorDate: Tue Jun 4 14:15:02 2019 +0700

    JAMES-2783 Container should not be restarted before each test
    
    Cleanup all data in ES container after each test is enough
---
 .../container/metrics/metrics-es-reporter/pom.xml  |  7 ++++
 ...sion.java => DockerElasticSearchExtension.java} | 45 +++++++++++++---------
 2 files changed, 34 insertions(+), 18 deletions(-)

diff --git a/server/container/metrics/metrics-es-reporter/pom.xml 
b/server/container/metrics/metrics-es-reporter/pom.xml
index 8190fb5..f1ccd20 100644
--- a/server/container/metrics/metrics-es-reporter/pom.xml
+++ b/server/container/metrics/metrics-es-reporter/pom.xml
@@ -27,6 +27,7 @@
     </parent>
 
     <artifactId>metrics-es-reporter</artifactId>
+    <name>Apache James :: Server :: Metrics ElasticSearch Reporter</name>
 
     <dependencies>
         <dependency>
@@ -36,6 +37,12 @@
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-backends-es</artifactId>
+            <scope>test</scope>
+            <type>test-jar</type>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
             <artifactId>james-server-lifecycle-api</artifactId>
         </dependency>
         <dependency>
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/DockerElasticSearchExtension.java
similarity index 66%
rename from 
server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearch2Extension.java
rename to 
server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearchExtension.java
index 691db66..1a8698b 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/DockerElasticSearchExtension.java
@@ -16,46 +16,55 @@
  * specific language governing permissions and limitations      *
  * under the License.                                           *
  ****************************************************************/
+
 package org.apache.james.metric.es;
 
-import org.apache.james.util.docker.DockerGenericContainer;
-import org.apache.james.util.docker.Images;
-import org.apache.james.util.docker.RateLimiters;
+import org.apache.james.backends.es.DockerElasticSearch;
+import org.junit.jupiter.api.extension.AfterAllCallback;
 import org.junit.jupiter.api.extension.AfterEachCallback;
+import org.junit.jupiter.api.extension.BeforeAllCallback;
 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 DockerElasticSearch2Extension implements ParameterResolver, 
BeforeEachCallback, AfterEachCallback {
-    private final DockerGenericContainer elasticSearchContainer;
+public class DockerElasticSearchExtension implements AfterAllCallback, 
BeforeAllCallback, BeforeEachCallback, AfterEachCallback,
+    ParameterResolver {
+
+    private final DockerElasticSearch elasticSearch;
+
+    DockerElasticSearchExtension(DockerElasticSearch elasticSearch) {
+        this.elasticSearch = elasticSearch;
+    }
+
+    @Override
+    public void beforeAll(ExtensionContext context) throws Exception {
+        elasticSearch.start();
+    }
 
-    private DockerElasticSearch2Extension() {
-        this.elasticSearchContainer = new 
DockerGenericContainer(Images.ELASTICSEARCH_2)
-            .withAffinityToContainer()
-            .withExposedPorts(ESReporterContract.ES_HTTP_PORT)
-            .waitingFor(new 
HostPortWaitStrategy().withRateLimiter(RateLimiters.TWENTIES_PER_SECOND));
+    @Override
+    public void beforeEach(ExtensionContext context) throws Exception {
+        elasticSearch.awaitForElasticSearch();
     }
 
     @Override
-    public void beforeEach(ExtensionContext extensionContext) {
-        elasticSearchContainer.start();
+    public void afterEach(ExtensionContext context) throws Exception {
+        elasticSearch.cleanUpData();
     }
 
     @Override
-    public void afterEach(ExtensionContext extensionContext) {
-        elasticSearchContainer.stop();
+    public void afterAll(ExtensionContext context) throws Exception {
+        elasticSearch.stop();
     }
 
     @Override
     public boolean supportsParameter(ParameterContext parameterContext, 
ExtensionContext extensionContext) throws ParameterResolutionException {
-        return (parameterContext.getParameter().getType() == 
DockerGenericContainer.class);
+        return (parameterContext.getParameter().getType() == 
DockerElasticSearch.class);
     }
 
     @Override
     public Object resolveParameter(ParameterContext parameterContext, 
ExtensionContext extensionContext) throws ParameterResolutionException {
-        return elasticSearchContainer;
+        return elasticSearch;
     }
-}
\ No newline at end of file
+}


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

Reply via email to