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]
