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