You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2020/04/08 02:25:49 UTC

[james-project] 04/06: JAMES-3144 Ensure ElasticSearch Docker is running before each test

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 <gd...@linagora.com>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org