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 rc...@apache.org on 2020/01/15 07:46:22 UTC
[james-project] 03/15: [Refactoring] Migrate to Junit 5
ForwardIntegrationTest
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit da952b98046b1375a9aec6d5c69ab3c7c67d1713
Author: duc <dt...@linagora.com>
AuthorDate: Wed Jan 8 22:38:03 2020 +0700
[Refactoring] Migrate to Junit 5 ForwardIntegrationTest
---
.../rabbitmq/RabbitMQForwardIntegrationTest.java | 38 +++++++++++---------
.../memory/MemoryForwardIntegrationTest.java | 26 +++++++-------
.../integration/ForwardIntegrationTest.java | 42 +++++++++-------------
3 files changed, 53 insertions(+), 53 deletions(-)
diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQForwardIntegrationTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQForwardIntegrationTest.java
index 2631c15..04655b9 100644
--- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQForwardIntegrationTest.java
+++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQForwardIntegrationTest.java
@@ -19,26 +19,32 @@
package org.apache.james.webadmin.integration.rabbitmq;
-import java.io.IOException;
-
-import org.apache.james.CassandraRabbitMQAwsS3JmapTestRule;
-import org.apache.james.DockerCassandraRule;
+import org.apache.james.CassandraExtension;
+import org.apache.james.CassandraRabbitMQJamesServerMain;
+import org.apache.james.DockerElasticSearchExtension;
import org.apache.james.GuiceJamesServer;
+import org.apache.james.JamesServerBuilder;
+import org.apache.james.JamesServerExtension;
+import org.apache.james.modules.AwsS3BlobStoreExtension;
+import org.apache.james.modules.RabbitMQExtension;
+import org.apache.james.modules.TestJMAPServerModule;
import org.apache.james.webadmin.WebAdminConfiguration;
import org.apache.james.webadmin.integration.ForwardIntegrationTest;
-import org.junit.Rule;
+import org.junit.jupiter.api.extension.RegisterExtension;
-public class RabbitMQForwardIntegrationTest extends ForwardIntegrationTest {
+class RabbitMQForwardIntegrationTest extends ForwardIntegrationTest {
- @Rule
- public DockerCassandraRule cassandra = new DockerCassandraRule();
- @Rule
- public CassandraRabbitMQAwsS3JmapTestRule rule = CassandraRabbitMQAwsS3JmapTestRule.defaultTestRule();
+ private static final int LIMIT_TO_10_MESSAGES = 10;
- @Override
- public GuiceJamesServer createJmapServer() throws IOException {
- return rule.jmapServer(cassandra.getModule(),
- binder -> binder.bind(WebAdminConfiguration.class)
- .toInstance(WebAdminConfiguration.TEST_CONFIGURATION));
- }
+ @RegisterExtension
+ static JamesServerExtension testExtension = new JamesServerBuilder()
+ .extension(new DockerElasticSearchExtension())
+ .extension(new CassandraExtension())
+ .extension(new AwsS3BlobStoreExtension())
+ .extension(new RabbitMQExtension())
+ .server(configuration -> GuiceJamesServer.forConfiguration(configuration)
+ .combineWith(CassandraRabbitMQJamesServerMain.MODULES)
+ .overrideWith(new TestJMAPServerModule(LIMIT_TO_10_MESSAGES))
+ .overrideWith(binder -> binder.bind(WebAdminConfiguration.class).toInstance(WebAdminConfiguration.TEST_CONFIGURATION)))
+ .build();
}
diff --git a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryForwardIntegrationTest.java b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryForwardIntegrationTest.java
index 545529e..7e4bbf0 100644
--- a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryForwardIntegrationTest.java
+++ b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryForwardIntegrationTest.java
@@ -19,22 +19,24 @@
package org.apache.james.webadmin.integration.memory;
-import java.io.IOException;
-
import org.apache.james.GuiceJamesServer;
-import org.apache.james.MemoryJmapTestRule;
+import org.apache.james.JamesServerBuilder;
+import org.apache.james.JamesServerExtension;
+import org.apache.james.MemoryJamesServerMain;
+import org.apache.james.modules.TestJMAPServerModule;
import org.apache.james.webadmin.WebAdminConfiguration;
import org.apache.james.webadmin.integration.ForwardIntegrationTest;
-import org.junit.Rule;
+import org.junit.jupiter.api.extension.RegisterExtension;
-public class MemoryForwardIntegrationTest extends ForwardIntegrationTest {
+class MemoryForwardIntegrationTest extends ForwardIntegrationTest {
- @Rule
- public MemoryJmapTestRule memoryJmap = new MemoryJmapTestRule();
+ private static final int LIMIT_TO_10_MESSAGES = 10;
- @Override
- public GuiceJamesServer createJmapServer() throws IOException {
- return memoryJmap.jmapServer(binder -> binder.bind(WebAdminConfiguration.class)
- .toInstance(WebAdminConfiguration.TEST_CONFIGURATION));
- }
+ @RegisterExtension
+ static JamesServerExtension jamesServerExtension = new JamesServerBuilder()
+ .server(configuration -> GuiceJamesServer.forConfiguration(configuration)
+ .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE)
+ .overrideWith(new TestJMAPServerModule(LIMIT_TO_10_MESSAGES))
+ .overrideWith(binder -> binder.bind(WebAdminConfiguration.class).toInstance(WebAdminConfiguration.TEST_CONFIGURATION)))
+ .build();
}
diff --git a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/ForwardIntegrationTest.java b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/ForwardIntegrationTest.java
index d3c1f47..8ebfcee 100644
--- a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/ForwardIntegrationTest.java
+++ b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/ForwardIntegrationTest.java
@@ -53,29 +53,23 @@ import org.apache.james.utils.SMTPMessageSender;
import org.apache.james.utils.WebAdminGuiceProbe;
import org.apache.james.webadmin.WebAdminUtils;
import org.awaitility.Duration;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import io.restassured.RestAssured;
import io.restassured.specification.RequestSpecification;
public abstract class ForwardIntegrationTest {
- @Rule
- public SMTPMessageSender messageSender = new SMTPMessageSender(DOMAIN);
-
- private GuiceJamesServer jmapServer;
+ private SMTPMessageSender messageSender;
private RequestSpecification webAdminApi;
private Port jmapPort;
- @Before
- public void setUp() throws Exception {
- jmapServer = createJmapServer();
- jmapServer.start();
-
+ @BeforeEach
+ void setUp(GuiceJamesServer jmapServer) throws Exception {
+ messageSender = new SMTPMessageSender(DOMAIN);
DataProbe dataProbe = jmapServer.getProbe(DataProbeImpl.class);
dataProbe.addDomain(DOMAIN);
dataProbe.addUser(BOB.asString(), BOB_PASSWORD);
@@ -84,23 +78,21 @@ public abstract class ForwardIntegrationTest {
jmapPort = jmapServer.getProbe(JmapGuiceProbe.class).getJmapPort();
RestAssured.requestSpecification = jmapRequestSpecBuilder
- .setPort(jmapPort.getValue())
- .build();
+ .setPort(jmapPort.getValue())
+ .build();
webAdminApi = WebAdminUtils.spec(jmapServer.getProbe(WebAdminGuiceProbe.class).getWebAdminPort());
}
- protected abstract GuiceJamesServer createJmapServer() throws IOException;
-
- @After
- public void tearDown() {
- jmapServer.stop();
+ @AfterEach
+ void tearDown() throws IOException {
+ messageSender.close();
}
@Category(BasicFeature.class)
@Test
- public void messageShouldBeForwardedWhenDefinedInRESTAPI() {
+ void messageShouldBeForwardedWhenDefinedInRESTAPI() {
webAdminApi.put(String.format("/address/forwards/%s/targets/%s", ALICE.asString(), BOB.asString()));
AccessToken cedricAccessToken = authenticateJamesUser(baseUri(jmapPort), CEDRIC, CEDRIC_PASSWORD);
@@ -147,7 +139,7 @@ public abstract class ForwardIntegrationTest {
}
@Test
- public void messageShouldBeForwardedWhenBaseRecipientWhenInDestination() {
+ void messageShouldBeForwardedWhenBaseRecipientWhenInDestination() {
webAdminApi.put(String.format("/address/forwards/%s/targets/%s", ALICE.asString(), BOB.asString()));
webAdminApi.put(String.format("/address/forwards/%s/targets/%s", ALICE.asString(), ALICE.asString()));
@@ -207,7 +199,7 @@ public abstract class ForwardIntegrationTest {
}
@Test
- public void recursiveForwardShouldWork() {
+ void recursiveForwardShouldWork() {
webAdminApi.put(String.format("/address/forwards/%s/targets/%s", ALICE.asString(), CEDRIC.asString()));
webAdminApi.put(String.format("/address/forwards/%s/targets/%s", CEDRIC.asString(), BOB.asString()));
@@ -255,7 +247,7 @@ public abstract class ForwardIntegrationTest {
}
@Test
- public void recursiveWithRecipientCopyForwardShouldWork() {
+ void recursiveWithRecipientCopyForwardShouldWork() {
webAdminApi.put(String.format("/address/forwards/%s/targets/%s", ALICE.asString(), ALICE.asString()));
webAdminApi.put(String.format("/address/forwards/%s/targets/%s", ALICE.asString(), BOB.asString()));
webAdminApi.put(String.format("/address/forwards/%s/targets/%s", BOB.asString(), CEDRIC.asString()));
@@ -304,7 +296,7 @@ public abstract class ForwardIntegrationTest {
}
@Test
- public void baseRecipientShouldNotReceiveEmailOnDefaultForward() {
+ void baseRecipientShouldNotReceiveEmailOnDefaultForward() {
webAdminApi.put(String.format("/address/forwards/%s/targets/%s", ALICE.asString(), BOB.asString()));
AccessToken cedricAccessToken = authenticateJamesUser(baseUri(jmapPort), CEDRIC, CEDRIC_PASSWORD);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org