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]
