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]

Reply via email to