JAMES-2544 migrate SendMDNMethodTest to junit 5

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/4490d62a
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/4490d62a
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/4490d62a

Branch: refs/heads/master
Commit: 4490d62a2db73d9ce16bd6560f7ce3096b9ff5fe
Parents: 968c5d2
Author: Matthieu Baechler <[email protected]>
Authored: Fri Dec 21 10:22:43 2018 +0100
Committer: Matthieu Baechler <[email protected]>
Committed: Wed Feb 6 10:07:11 2019 +0100

----------------------------------------------------------------------
 .../cassandra/CassandraSendMDNMethodTest.java   | 29 ++++++++++-----
 .../methods/integration/SendMDNMethodTest.java  | 38 +++++++------------
 .../jmap/memory/MemorySendMDNMethodTest.java    | 31 ++++++++++++----
 .../rabbitmq/RabbitMQSendMDNMethodTest.java     | 39 ++++++++++++--------
 4 files changed, 81 insertions(+), 56 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/4490d62a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSendMDNMethodTest.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSendMDNMethodTest.java
 
b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSendMDNMethodTest.java
index c77853b..0509126 100644
--- 
a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSendMDNMethodTest.java
+++ 
b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSendMDNMethodTest.java
@@ -19,31 +19,42 @@
 
 package org.apache.james.jmap.cassandra;
 
+import static 
org.apache.james.CassandraJamesServerMain.ALL_BUT_JMX_CASSANDRA_MODULE;
+
 import java.io.IOException;
 
+import org.apache.james.CassandraExtension;
 import org.apache.james.CassandraJmapTestRule;
 import org.apache.james.DockerCassandraRule;
+import org.apache.james.EmbeddedElasticSearchExtension;
 import org.apache.james.GuiceJamesServer;
+import org.apache.james.JamesServerExtension;
+import org.apache.james.JamesServerExtensionBuilder;
 import org.apache.james.jmap.methods.integration.SendMDNMethodTest;
 import org.apache.james.mailbox.cassandra.ids.CassandraMessageId;
+import org.apache.james.mailbox.extractor.TextExtractor;
 import org.apache.james.mailbox.model.MessageId;
+import org.apache.james.mailbox.store.search.PDFTextExtractor;
+import org.apache.james.modules.TestJMAPServerModule;
 import org.junit.ClassRule;
 import org.junit.Rule;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 public class CassandraSendMDNMethodTest extends SendMDNMethodTest {
 
-    @ClassRule
-    public static DockerCassandraRule cassandra = new DockerCassandraRule();
+    private static final long LIMIT_TO_10_MESSAGES = 10;
 
-    @Rule
-    public CassandraJmapTestRule rule = 
CassandraJmapTestRule.defaultTestRule();
+    @RegisterExtension
+    JamesServerExtension testExtension = new JamesServerExtensionBuilder()
+        .extension(new EmbeddedElasticSearchExtension())
+        .extension(new CassandraExtension())
+        .server(configuration -> 
GuiceJamesServer.forConfiguration(configuration)
+            .combineWith(ALL_BUT_JMX_CASSANDRA_MODULE)
+            .overrideWith(binder -> 
binder.bind(TextExtractor.class).to(PDFTextExtractor.class))
+            .overrideWith(new TestJMAPServerModule(LIMIT_TO_10_MESSAGES)))
+        .build();
 
     @Override
-    protected GuiceJamesServer createJmapServer() throws IOException {
-        return rule.jmapServer(cassandra.getModule());
-    }
-    
-    @Override
     protected MessageId randomMessageId() {
         return new CassandraMessageId.Factory().generate();
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/4490d62a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SendMDNMethodTest.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SendMDNMethodTest.java
 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SendMDNMethodTest.java
index 740c478..a6de535 100644
--- 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SendMDNMethodTest.java
+++ 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SendMDNMethodTest.java
@@ -41,7 +41,6 @@ import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.hamcrest.Matchers.startsWith;
 
-import java.io.IOException;
 import java.util.List;
 import java.util.Optional;
 
@@ -62,10 +61,9 @@ import org.apache.james.modules.QuotaProbesImpl;
 import org.apache.james.probe.DataProbe;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.JmapGuiceProbe;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
 import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import com.google.common.collect.Iterables;
 import io.restassured.RestAssured;
@@ -77,18 +75,15 @@ public abstract class SendMDNMethodTest {
     private static final String PASSWORD = "password";
     private static final String BOB_PASSWORD = "bobPassword";
 
-    protected abstract GuiceJamesServer createJmapServer() throws IOException;
-
     protected abstract MessageId randomMessageId();
 
     private AccessToken homerAccessToken;
     private AccessToken bartAccessToken;
     private GuiceJamesServer jmapServer;
 
-    @Before
-    public void setup() throws Throwable {
-        jmapServer = createJmapServer();
-        jmapServer.start();
+    @BeforeEach
+    void setup(GuiceJamesServer jmapServer) throws Throwable {
+        this.jmapServer = jmapServer;
         MailboxProbe mailboxProbe = 
jmapServer.getProbe(MailboxProbeImpl.class);
         DataProbe dataProbe = jmapServer.getProbe(DataProbeImpl.class);
 
@@ -171,13 +166,8 @@ public abstract class SendMDNMethodTest {
         calmlyAwait.until(() -> 
!listMessageIdsForAccount(homerAccessToken).isEmpty());
     }
 
-    @After
-    public void teardown() {
-        jmapServer.stop();
-    }
-
     @Test
-    public void sendMDNShouldReturnCreatedMessageId() {
+    void sendMDNShouldReturnCreatedMessageId() {
         bartSendMessageToHomer();
 
         List<String> messageIds = listMessageIdsForAccount(homerAccessToken);
@@ -208,7 +198,7 @@ public abstract class SendMDNMethodTest {
     }
 
     @Test
-    public void sendMDNShouldFailOnUnknownMessageId() {
+    void sendMDNShouldFailOnUnknownMessageId() {
         bartSendMessageToHomer();
 
         String creationId = "creation-1";
@@ -243,7 +233,7 @@ public abstract class SendMDNMethodTest {
     }
 
     @Test
-    public void sendMDNShouldFailOnInvalidMessages() {
+    void sendMDNShouldFailOnInvalidMessages() {
         sendAWrongInitialMessage();
         List<String> messageIds = listMessageIdsForAccount(homerAccessToken);
 
@@ -282,7 +272,7 @@ public abstract class SendMDNMethodTest {
 
     @Category(BasicFeature.class)
     @Test
-    public void sendMDNShouldSendAMDNBackToTheOriginalMessageAuthor() {
+    void sendMDNShouldSendAMDNBackToTheOriginalMessageAuthor() {
         String bartSentJmapMessageId = bartSendMessageToHomer();
 
         String homerReceivedMessageId = 
Iterables.getOnlyElement(listMessageIdsForAccount(homerAccessToken));
@@ -329,7 +319,7 @@ public abstract class SendMDNMethodTest {
     }
 
     @Test
-    public void sendMDNShouldPositionTheReportAsAnAttachment() {
+    void sendMDNShouldPositionTheReportAsAnAttachment() {
         bartSendMessageToHomer();
 
         List<String> messageIds = listMessageIdsForAccount(homerAccessToken);
@@ -379,7 +369,7 @@ public abstract class SendMDNMethodTest {
     }
 
     @Test
-    public void sendMDNShouldIndicateMissingFields() {
+    void sendMDNShouldIndicateMissingFields() {
         String creationId = "creation-1";
         // Missing subject
         given()
@@ -407,7 +397,7 @@ public abstract class SendMDNMethodTest {
     }
 
     @Test
-    public void sendMDNShouldReturnMaxQuotaReachedWhenUserReachedHisQuota() 
throws MailboxException {
+    void sendMDNShouldReturnMaxQuotaReachedWhenUserReachedHisQuota() throws 
MailboxException {
         bartSendMessageToHomer();
 
         List<String> messageIds = listMessageIdsForAccount(homerAccessToken);
@@ -446,7 +436,7 @@ public abstract class SendMDNMethodTest {
     }
 
     @Test
-    public void sendMDNShouldIndicateMissingFieldsInDisposition() {
+    void sendMDNShouldIndicateMissingFieldsInDisposition() {
         String creationId = "creation-1";
         // Missing actionMode
         given()
@@ -474,7 +464,7 @@ public abstract class SendMDNMethodTest {
     }
 
     @Test
-    public void invalidEnumValuesInMDNShouldBeReported() {
+    void invalidEnumValuesInMDNShouldBeReported() {
         String creationId = "creation-1";
         given()
             .header("Authorization", homerAccessToken.serialize())

http://git-wip-us.apache.org/repos/asf/james-project/blob/4490d62a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySendMDNMethodTest.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySendMDNMethodTest.java
 
b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySendMDNMethodTest.java
index cd40285..e3848d2 100644
--- 
a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySendMDNMethodTest.java
+++ 
b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySendMDNMethodTest.java
@@ -22,25 +22,40 @@ package org.apache.james.jmap.memory;
 import java.io.IOException;
 import java.util.Random;
 
+import org.apache.activemq.store.PersistenceAdapter;
+import org.apache.activemq.store.memory.MemoryPersistenceAdapter;
 import org.apache.james.GuiceJamesServer;
+import org.apache.james.JamesServerExtension;
+import org.apache.james.JamesServerExtensionBuilder;
+import org.apache.james.MemoryJamesServerMain;
 import org.apache.james.MemoryJmapTestRule;
 import org.apache.james.jmap.methods.integration.SendMDNMethodTest;
+import org.apache.james.mailbox.extractor.TextExtractor;
 import org.apache.james.mailbox.inmemory.InMemoryMessageId;
 import org.apache.james.mailbox.model.MessageId;
+import org.apache.james.mailbox.store.search.MessageSearchIndex;
+import org.apache.james.mailbox.store.search.PDFTextExtractor;
+import org.apache.james.mailbox.store.search.SimpleMessageSearchIndex;
+import org.apache.james.modules.TestJMAPServerModule;
 import org.junit.Rule;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 public class MemorySendMDNMethodTest extends SendMDNMethodTest {
 
-    @Rule
-    public MemoryJmapTestRule memoryJmap = new MemoryJmapTestRule();
+    private static final long LIMIT_TO_10_MESSAGES = 10;
+
+    @RegisterExtension
+    JamesServerExtension testExtension = new JamesServerExtensionBuilder()
+        .server(configuration -> 
GuiceJamesServer.forConfiguration(configuration)
+            
.combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE)
+            .overrideWith(new TestJMAPServerModule(LIMIT_TO_10_MESSAGES))
+            .overrideWith(binder -> 
binder.bind(PersistenceAdapter.class).to(MemoryPersistenceAdapter.class))
+            .overrideWith(binder -> 
binder.bind(TextExtractor.class).to(PDFTextExtractor.class))
+            .overrideWith(binder -> 
binder.bind(MessageSearchIndex.class).to(SimpleMessageSearchIndex.class)))
+        .build();
 
     private Random random = new Random();
-    
-    @Override
-    protected GuiceJamesServer createJmapServer() throws IOException {
-        return memoryJmap.jmapServer();
-    }
-    
+
     @Override
     protected MessageId randomMessageId() {
         return new 
InMemoryMessageId.Factory().fromString(String.valueOf(random.nextInt(100000) + 
100));

http://git-wip-us.apache.org/repos/asf/james-project/blob/4490d62a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/RabbitMQSendMDNMethodTest.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/RabbitMQSendMDNMethodTest.java
 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/RabbitMQSendMDNMethodTest.java
index 14f132d..f18f3f1 100644
--- 
a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/RabbitMQSendMDNMethodTest.java
+++ 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/RabbitMQSendMDNMethodTest.java
@@ -19,31 +19,40 @@
 
 package org.apache.james.jmap.rabbitmq;
 
-import java.io.IOException;
-
-import org.apache.james.CassandraRabbitMQSwiftJmapTestRule;
-import org.apache.james.DockerCassandraRule;
+import org.apache.james.CassandraExtension;
+import org.apache.james.CassandraRabbitMQJamesServerMain;
+import org.apache.james.CleanupTasksPerformer;
+import org.apache.james.EmbeddedElasticSearchExtension;
 import org.apache.james.GuiceJamesServer;
+import org.apache.james.JamesServerExtension;
+import org.apache.james.JamesServerExtensionBuilder;
 import org.apache.james.jmap.methods.integration.SendMDNMethodTest;
 import org.apache.james.mailbox.cassandra.ids.CassandraMessageId;
+import org.apache.james.mailbox.extractor.TextExtractor;
 import org.apache.james.mailbox.model.MessageId;
-import org.junit.ClassRule;
-import org.junit.Rule;
+import org.apache.james.mailbox.store.search.PDFTextExtractor;
+import org.apache.james.modules.RabbitMQExtension;
+import org.apache.james.modules.SwiftBlobStoreExtension;
+import org.apache.james.modules.TestJMAPServerModule;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 public class RabbitMQSendMDNMethodTest extends SendMDNMethodTest {
 
-    @ClassRule
-    public static DockerCassandraRule cassandra = new DockerCassandraRule();
+    private static final long LIMIT_TO_10_MESSAGES = 10;
 
-    @Rule
-    public CassandraRabbitMQSwiftJmapTestRule rule = 
CassandraRabbitMQSwiftJmapTestRule.defaultTestRule();
+    @RegisterExtension
+    JamesServerExtension testExtension = new JamesServerExtensionBuilder()
+        .extension(new EmbeddedElasticSearchExtension())
+        .extension(new CassandraExtension())
+        .extension(new SwiftBlobStoreExtension())
+        .extension(new RabbitMQExtension())
+        .server(configuration -> 
GuiceJamesServer.forConfiguration(configuration)
+            .combineWith(CassandraRabbitMQJamesServerMain.MODULES)
+            .overrideWith(binder -> 
binder.bind(TextExtractor.class).to(PDFTextExtractor.class))
+            .overrideWith(new TestJMAPServerModule(LIMIT_TO_10_MESSAGES)))
+        .build();
 
     @Override
-    protected GuiceJamesServer createJmapServer() throws IOException {
-        return rule.jmapServer(cassandra.getModule());
-    }
-    
-    @Override
     protected MessageId randomMessageId() {
         return new CassandraMessageId.Factory().generate();
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to