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 2019/05/10 04:27:27 UTC

[james-project] 03/04: JAMES-2717 Replace embedded ES in RabbitMQ cucumber tests

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 f20869c59c222bea5247ee98446acea22745ca39
Author: Tran Tien Duc <dt...@linagora.com>
AuthorDate: Wed May 8 16:09:20 2019 +0700

    JAMES-2717 Replace embedded ES in RabbitMQ cucumber tests
---
 .../awss3/CucumberElasticSearchSingleton.java      | 27 ++++++++++++++++++++++
 .../cucumber/awss3/RabbitMQAwsS3Stepdefs.java      | 25 ++++++++++----------
 2 files changed, 39 insertions(+), 13 deletions(-)

diff --git a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberElasticSearchSingleton.java b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberElasticSearchSingleton.java
new file mode 100644
index 0000000..d1bfed0
--- /dev/null
+++ b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberElasticSearchSingleton.java
@@ -0,0 +1,27 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.jmap.rabbitmq.cucumber.awss3;
+
+import org.apache.james.DockerElasticSearchRule;
+
+class CucumberElasticSearchSingleton {
+
+    static final DockerElasticSearchRule elasticSearch = new DockerElasticSearchRule();
+
+}
diff --git a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQAwsS3Stepdefs.java b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQAwsS3Stepdefs.java
index 01d6747..9241c6b 100644
--- a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQAwsS3Stepdefs.java
+++ b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQAwsS3Stepdefs.java
@@ -28,16 +28,15 @@ import org.apache.activemq.store.memory.MemoryPersistenceAdapter;
 import org.apache.james.CassandraRabbitMQJamesServerMain;
 import org.apache.james.CleanupTasksPerformer;
 import org.apache.james.DockerCassandraRule;
+import org.apache.james.DockerElasticSearchRule;
 import org.apache.james.GuiceJamesServer;
-import org.apache.james.backends.es.EmbeddedElasticSearch;
 import org.apache.james.jmap.methods.integration.cucumber.ImapStepdefs;
 import org.apache.james.jmap.methods.integration.cucumber.MainStepdefs;
 import org.apache.james.mailbox.cassandra.ids.CassandraMessageId;
 import org.apache.james.mailbox.extractor.TextExtractor;
 import org.apache.james.mailbox.store.extractor.DefaultTextExtractor;
 import org.apache.james.modules.DockerRabbitMQRule;
-import org.apache.james.modules.TestEmbeddedESMetricReporterModule;
-import org.apache.james.modules.TestEmbeddedElasticSearchModule;
+import org.apache.james.modules.TestDockerESMetricReporterModule;
 import org.apache.james.modules.TestJMAPServerModule;
 import org.apache.james.modules.TestRabbitMQModule;
 import org.apache.james.modules.objectstorage.aws.s3.DockerAwsS3TestRule;
@@ -58,11 +57,11 @@ public class RabbitMQAwsS3Stepdefs {
     private static final int JMAP_GET_MESSAGE_LIST_MAXIMUM_LIMIT = 10;
     private final MainStepdefs mainStepdefs;
     private final ImapStepdefs imapStepdefs;
-    private TemporaryFolder temporaryFolder = new TemporaryFolder();
-    private EmbeddedElasticSearch embeddedElasticSearch = new EmbeddedElasticSearch(temporaryFolder);
-    private DockerCassandraRule cassandraServer = CucumberCassandraSingleton.cassandraServer;
-    private DockerRabbitMQRule rabbitMQServer = CucumberRabbitMQSingleton.rabbitMQServer;
-    private DockerAwsS3TestRule swiftServer = CucumberAwsS3Singleton.awsS3Server;
+    private final TemporaryFolder temporaryFolder = new TemporaryFolder();
+    private final DockerCassandraRule cassandraServer = CucumberCassandraSingleton.cassandraServer;
+    private final DockerElasticSearchRule elasticSearch = CucumberElasticSearchSingleton.elasticSearch;
+    private final DockerRabbitMQRule rabbitMQServer = CucumberRabbitMQSingleton.rabbitMQServer;
+    private final DockerAwsS3TestRule swiftServer = CucumberAwsS3Singleton.awsS3Server;
 
     @Inject
     private RabbitMQAwsS3Stepdefs(MainStepdefs mainStepdefs, ImapStepdefs imapStepdefs) {
@@ -75,9 +74,9 @@ public class RabbitMQAwsS3Stepdefs {
         cassandraServer.start();
         rabbitMQServer.start();
         swiftServer.start();
+        elasticSearch.start();
 
         temporaryFolder.create();
-        embeddedElasticSearch.before();
         mainStepdefs.messageIdFactory = new CassandraMessageId.Factory();
         Configuration configuration = Configuration.builder()
                 .workingDirectory(temporaryFolder.newFolder())
@@ -87,16 +86,16 @@ public class RabbitMQAwsS3Stepdefs {
         mainStepdefs.jmapServer = GuiceJamesServer.forConfiguration(configuration)
                 .combineWith(CassandraRabbitMQJamesServerMain.MODULES)
                 .overrideWith(new TestJMAPServerModule(JMAP_GET_MESSAGE_LIST_MAXIMUM_LIMIT))
-                .overrideWith(new TestEmbeddedESMetricReporterModule())
+                .overrideWith(new TestDockerESMetricReporterModule(elasticSearch.getDockerEs().getHttpHost()))
                 .overrideWith(new TestRabbitMQModule(rabbitMQServer.dockerRabbitMQ()))
                 .overrideWith(swiftServer.getModule())
-                .overrideWith(new TestEmbeddedElasticSearchModule(embeddedElasticSearch))
+                .overrideWith(elasticSearch.getModule())
                 .overrideWith(cassandraServer.getModule())
                 .overrideWith(binder -> binder.bind(TextExtractor.class).to(DefaultTextExtractor.class))
                 .overrideWith((binder) -> binder.bind(PersistenceAdapter.class).to(MemoryPersistenceAdapter.class))
                 .overrideWith(binder -> Multibinder.newSetBinder(binder, CleanupTasksPerformer.CleanupTask.class).addBinding().to(CassandraTruncateTableTask.class))
                 .overrideWith((binder -> binder.bind(CleanupTasksPerformer.class).asEagerSingleton()));
-        mainStepdefs.awaitMethod = () -> embeddedElasticSearch.awaitForElasticSearch();
+        mainStepdefs.awaitMethod = () -> elasticSearch.getDockerEs().awaitForElasticSearch();
         mainStepdefs.init();
     }
 
@@ -104,7 +103,7 @@ public class RabbitMQAwsS3Stepdefs {
     public void tearDown() {
         ignoreFailures(imapStepdefs::closeConnections,
                 mainStepdefs::tearDown,
-                () -> embeddedElasticSearch.after(),
+                () -> elasticSearch.getDockerEs().cleanUpData(),
                 () -> temporaryFolder.delete());
     }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org