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 a55a1a6bc88e2eae99d332bae288fdbc1eb432fe Author: Gautier DI FOLCO <[email protected]> AuthorDate: Tue Mar 17 09:11:21 2020 +0100 JAMES-3144 Ensure ElasticSearch Docker is running before each test --- .../backends/es/DockerElasticSearchExtension.java | 11 ++++++++++- .../ElasticSearchListeningMessageSearchIndex.java | 20 ++++++++++---------- .../apache/james/DockerElasticSearchExtension.java | 10 +++++++++- .../metric/es/DockerElasticSearchExtension.java | 3 +++ 4 files changed, 32 insertions(+), 12 deletions(-) diff --git a/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/DockerElasticSearchExtension.java b/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/DockerElasticSearchExtension.java index 6583954..438517a 100644 --- a/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/DockerElasticSearchExtension.java +++ b/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/DockerElasticSearchExtension.java @@ -20,12 +20,13 @@ package org.apache.james.backends.es; 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; -public class DockerElasticSearchExtension implements AfterEachCallback, ParameterResolver { +public class DockerElasticSearchExtension implements AfterEachCallback, BeforeEachCallback, ParameterResolver { private final DockerElasticSearch elasticSearch = DockerElasticSearchSingleton.INSTANCE; @@ -35,6 +36,14 @@ public class DockerElasticSearchExtension implements AfterEachCallback, Paramete } @Override + public void beforeEach(ExtensionContext extensionContext) { + if (!elasticSearch.isRunning()) { + elasticSearch.unpause(); + } + awaitForElasticSearch(); + } + + @Override public boolean supportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException { return (parameterContext.getParameter().getType() == DockerElasticSearch.class); } diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java index 1430111..b64ecb3 100644 --- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java +++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java @@ -166,12 +166,12 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe @Override public void delete(MailboxSession session, Mailbox mailbox, Collection<MessageUid> expungedUids) { - elasticSearchIndexer - .delete(expungedUids.stream() - .map(uid -> indexIdFor(mailbox, uid)) - .collect(Guavate.toImmutableList()), - routingKeyFactory.from(mailbox.getMailboxId())) - .block(); + elasticSearchIndexer + .delete(expungedUids.stream() + .map(uid -> indexIdFor(mailbox, uid)) + .collect(Guavate.toImmutableList()), + routingKeyFactory.from(mailbox.getMailboxId())) + .block(); } @Override @@ -198,10 +198,10 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe } private UpdatedRepresentation createUpdatedDocumentPartFromUpdatedFlags(Mailbox mailbox, UpdatedFlags updatedFlags) throws JsonProcessingException { - return new UpdatedRepresentation( - indexIdFor(mailbox, updatedFlags.getUid()), - messageToElasticSearchJson - .getUpdatedJsonMessagePart(updatedFlags.getNewFlags(), updatedFlags.getModSeq())); + return new UpdatedRepresentation( + indexIdFor(mailbox, updatedFlags.getUid()), + messageToElasticSearchJson + .getUpdatedJsonMessagePart(updatedFlags.getNewFlags(), updatedFlags.getModSeq())); } private DocumentId indexIdFor(Mailbox mailbox, MessageUid uid) { diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerElasticSearchExtension.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerElasticSearchExtension.java index 7ff07f4..7f76c79 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerElasticSearchExtension.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerElasticSearchExtension.java @@ -49,11 +49,19 @@ public class DockerElasticSearchExtension implements GuiceModuleTestExtension { } @Override - public void beforeEach(ExtensionContext extensionContext) { + public void beforeAll(ExtensionContext extensionContext) { getDockerES().start(); } @Override + public void beforeEach(ExtensionContext extensionContext) { + if (!getDockerES().isRunning()) { + getDockerES().unpause(); + } + await(); + } + + @Override public void afterEach(ExtensionContext extensionContext) { } diff --git a/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearchExtension.java b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearchExtension.java index cfedbc0..459ac2a 100644 --- a/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearchExtension.java +++ b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/DockerElasticSearchExtension.java @@ -45,6 +45,9 @@ public class DockerElasticSearchExtension implements AfterAllCallback, BeforeAll @Override public void beforeEach(ExtensionContext context) throws Exception { + if (!elasticSearch.isRunning()) { + elasticSearch.unpause(); + } elasticSearch.flushIndices(); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
