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 26131bc8edd550b975976857d5b999b1c6a3d908
Author: Tran Tien Duc <[email protected]>
AuthorDate: Tue Jun 4 14:16:00 2019 +0700

    JAMES-2783 use the updated ES extension for ES reporter tests
---
 .../metric/es/DockerElasticSearch6Extension.java   | 62 ----------------------
 .../apache/james/metric/es/ES2ReporterTest.java    |  9 +++-
 .../apache/james/metric/es/ES6ReporterTest.java    |  7 ++-
 .../apache/james/metric/es/ESReporterContract.java | 16 +++---
 4 files changed, 20 insertions(+), 74 deletions(-)

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
deleted file mode 100644
index fb58eaf..0000000
--- 
a/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearch6Extension.java
+++ /dev/null
@@ -1,62 +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.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.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 DockerGenericContainer elasticSearchContainer;
-
-    private DockerElasticSearch6Extension() {
-        this.elasticSearchContainer = new 
DockerGenericContainer(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() == 
DockerGenericContainer.class);
-    }
-
-    @Override
-    public Object resolveParameter(ParameterContext parameterContext, 
ExtensionContext extensionContext) throws ParameterResolutionException {
-        return elasticSearchContainer;
-    }
-}
\ No newline at end of file
diff --git 
a/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ES2ReporterTest.java
 
b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ES2ReporterTest.java
index 891ca45..eb23804 100644
--- 
a/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ES2ReporterTest.java
+++ 
b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ES2ReporterTest.java
@@ -19,8 +19,13 @@
 
 package org.apache.james.metric.es;
 
-import org.junit.jupiter.api.extension.ExtendWith;
+import org.apache.james.backends.es.DockerElasticSearch;
+import org.apache.james.util.docker.Images;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
-@ExtendWith(DockerElasticSearch2Extension.class)
 class ES2ReporterTest extends ESReporterContract {
+
+    @RegisterExtension
+    static DockerElasticSearchExtension testExtension = new 
DockerElasticSearchExtension(
+        new DockerElasticSearch(Images.ELASTICSEARCH_2));
 }
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
index 482c92c..0c201a4 100644
--- 
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
@@ -19,8 +19,11 @@
 
 package org.apache.james.metric.es;
 
-import org.junit.jupiter.api.extension.ExtendWith;
+import org.apache.james.backends.es.DockerElasticSearch;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
-@ExtendWith(DockerElasticSearch6Extension.class)
 class ES6ReporterTest extends ESReporterContract {
+
+    @RegisterExtension
+    static DockerElasticSearchExtension testExtension = new 
DockerElasticSearchExtension(new DockerElasticSearch());
 }
diff --git 
a/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ESReporterContract.java
 
b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ESReporterContract.java
index 3b0335f..d8ef7d0 100644
--- 
a/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ESReporterContract.java
+++ 
b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ESReporterContract.java
@@ -27,12 +27,12 @@ import java.util.Timer;
 import java.util.TimerTask;
 
 import org.apache.http.HttpStatus;
+import org.apache.james.backends.es.DockerElasticSearch;
 import org.apache.james.metrics.api.Metric;
 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.docker.DockerGenericContainer;
 import org.awaitility.Duration;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
@@ -47,24 +47,24 @@ abstract class ESReporterContract {
     public static final long PERIOD_IN_SECOND = 1L;
     public static final int DELAY_IN_MS = 100;
     public static final int PERIOD_IN_MS = 100;
-    public static final int ES_HTTP_PORT = 9200;
 
     private ESMetricReporter esMetricReporter;
     private MetricRegistry registry;
     private Timer timer;
 
     @BeforeEach
-    void setUp(DockerGenericContainer esContainer) {
-        RestAssured.baseURI = String.format("http://%s:%d";, 
esContainer.getHostIp(), esContainer.getMappedPort(ES_HTTP_PORT));
+    void setUp(DockerElasticSearch elasticSearch) {
+        RestAssured.baseURI = String.format("http://%s:%d";,
+            elasticSearch.getHttpHost().getHostName(), 
elasticSearch.getHttpHost().getPort());
         await().atMost(Duration.ONE_MINUTE)
-            .untilAsserted(() -> elasticSearchStarted());
+            .untilAsserted(this::elasticSearchStarted);
 
         registry = new MetricRegistry();
         timer = new Timer();
         esMetricReporter = new ESMetricReporter(
             ESReporterConfiguration.builder()
                 .enabled()
-                .onHost(esContainer.getHostIp(), 
esContainer.getMappedPort(ES_HTTP_PORT))
+                .onHost(elasticSearch.getHttpHost().getHostName(), 
elasticSearch.getHttpHost().getPort())
                 .onIndex(INDEX)
                 .periodInSecond(PERIOD_IN_SECOND)
                 .build(),
@@ -80,7 +80,7 @@ abstract class ESReporterContract {
     }
 
     @Test
-    void 
esMetricReporterShouldProduceDocumentsOnAnElasticsearchContainer(DockerGenericContainer
 esContainer) {
+    void esMetricReporterShouldProduceDocumentsOnAnElasticsearchContainer() {
         Metric metric = new 
DropWizardMetricFactory(registry).generate("probe");
         TimerTask timerTask = new TimerTask() {
             @Override
@@ -95,7 +95,7 @@ abstract class ESReporterContract {
     }
 
     @Test
-    void 
esMetricReporterShouldProduceDocumentsOnAnElasticsearchContainerWhenRecordingTimeMetric(DockerGenericContainer
 esContainer) {
+    void 
esMetricReporterShouldProduceDocumentsOnAnElasticsearchContainerWhenRecordingTimeMetric()
 {
         TimeMetric metric = new 
DropWizardMetricFactory(registry).timer("itstime");
         TimerTask timerTask = new TimerTask() {
             @Override


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

Reply via email to