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 1ac5f3431cff6b75a9e52bd2e01634a383394c02
Author: Benoit Tellier <[email protected]>
AuthorDate: Thu Dec 19 18:10:05 2019 +0700

    JAMES-3014 Use JUNIT 5 to run FastViewProjectionHealthCheckIntegrationTest
---
 ...stViewProjectionHealthCheckIntegrationTest.java | 23 ++++--------
 ...stViewProjectionHealthCheckIntegrationTest.java | 27 +++++++-------
 ...wProjectionHealthCheckIntegrationContract.java} | 41 ++++++++--------------
 3 files changed, 35 insertions(+), 56 deletions(-)

diff --git 
a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQFastViewProjectionHealthCheckIntegrationTest.java
 
b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQFastViewProjectionHealthCheckIntegrationTest.java
index 8b603e0..643e25d 100644
--- 
a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQFastViewProjectionHealthCheckIntegrationTest.java
+++ 
b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQFastViewProjectionHealthCheckIntegrationTest.java
@@ -19,22 +19,11 @@
 
 package org.apache.james.webadmin.integration.rabbitmq;
 
-import org.apache.james.CassandraRabbitMQAwsS3JmapTestRule;
-import org.apache.james.DockerCassandraRule;
-import org.apache.james.GuiceJamesServer;
-import 
org.apache.james.webadmin.integration.FastViewProjectionHealthCheckIntegrationTest;
-import org.junit.Rule;
+import 
org.apache.james.webadmin.integration.FastViewProjectionHealthCheckIntegrationContract;
+import 
org.apache.james.webadmin.integration.rabbitmq.RabbitMQJmapExtension.JamesLifeCyclePolicy;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
-public class RabbitMQFastViewProjectionHealthCheckIntegrationTest extends 
FastViewProjectionHealthCheckIntegrationTest {
-
-    @Rule
-    public DockerCassandraRule cassandra = new DockerCassandraRule();
-
-    @Rule
-    public CassandraRabbitMQAwsS3JmapTestRule jamesTestRule = 
CassandraRabbitMQAwsS3JmapTestRule.defaultTestRule();
-
-    @Override
-    public GuiceJamesServer createJamesServer() throws Exception {
-        return jamesTestRule.jmapServer(cassandra.getModule());
-    }
+class RabbitMQFastViewProjectionHealthCheckIntegrationTest extends 
FastViewProjectionHealthCheckIntegrationContract {
+    @RegisterExtension
+    static RabbitMQJmapExtension rabbitMQJmapExtension = new 
RabbitMQJmapExtension(JamesLifeCyclePolicy.FOR_EACH_TEST);
 }
diff --git 
a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryFastViewProjectionHealthCheckIntegrationTest.java
 
b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryFastViewProjectionHealthCheckIntegrationTest.java
index 19b5688..82f5d3b 100644
--- 
a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryFastViewProjectionHealthCheckIntegrationTest.java
+++ 
b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryFastViewProjectionHealthCheckIntegrationTest.java
@@ -20,19 +20,22 @@
 package org.apache.james.webadmin.integration.memory;
 
 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.FastViewProjectionHealthCheckIntegrationTest;
-import org.junit.Rule;
+import 
org.apache.james.webadmin.integration.FastViewProjectionHealthCheckIntegrationContract;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
-public class MemoryFastViewProjectionHealthCheckIntegrationTest extends 
FastViewProjectionHealthCheckIntegrationTest {
+class MemoryFastViewProjectionHealthCheckIntegrationTest extends 
FastViewProjectionHealthCheckIntegrationContract {
+    private static final int LIMIT_TO_10_MESSAGES = 10;
 
-    @Rule
-    public MemoryJmapTestRule memoryJmap = new MemoryJmapTestRule();
-
-    @Override
-    public GuiceJamesServer createJamesServer() throws Exception {
-        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();
 }
\ No newline at end of file
diff --git 
a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/FastViewProjectionHealthCheckIntegrationTest.java
 
b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/FastViewProjectionHealthCheckIntegrationContract.java
similarity index 87%
rename from 
server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/FastViewProjectionHealthCheckIntegrationTest.java
rename to 
server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/FastViewProjectionHealthCheckIntegrationContract.java
index 15465bf..47c17f8 100644
--- 
a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/FastViewProjectionHealthCheckIntegrationTest.java
+++ 
b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/FastViewProjectionHealthCheckIntegrationContract.java
@@ -51,34 +51,28 @@ import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.WebAdminGuiceProbe;
 import org.apache.james.webadmin.WebAdminUtils;
 import org.eclipse.jetty.http.HttpStatus;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import io.restassured.RestAssured;
 import io.restassured.specification.RequestSpecification;
 
-public abstract class FastViewProjectionHealthCheckIntegrationTest {
-
+public abstract class FastViewProjectionHealthCheckIntegrationContract {
     private static final String MESSAGE_FAST_VIEW_PROJECTION = 
"MessageFastViewProjection";
 
-    private GuiceJamesServer guiceJamesServer;
     private RequestSpecification webAdminApi;
     private AccessToken bobAccessToken;
     private AccessToken aliceAccessToken;
 
-    @Before
-    public void setUp() throws Exception {
-        guiceJamesServer = createJamesServer();
-        guiceJamesServer.start();
-
-        DataProbe dataProbe = guiceJamesServer.getProbe(DataProbeImpl.class);
+    @BeforeEach
+    void setUp(GuiceJamesServer jamesServer) throws Exception {
+        DataProbe dataProbe = jamesServer.getProbe(DataProbeImpl.class);
         dataProbe.addDomain(DOMAIN);
         dataProbe.addUser(BOB.asString(), BOB_PASSWORD);
         dataProbe.addUser(ALICE.asString(), ALICE_PASSWORD);
         dataProbe.addUser(CEDRIC.asString(), CEDRIC_PASSWORD);
 
-        Port jmapPort = 
guiceJamesServer.getProbe(JmapGuiceProbe.class).getJmapPort();
+        Port jmapPort = 
jamesServer.getProbe(JmapGuiceProbe.class).getJmapPort();
         RestAssured.requestSpecification = jmapRequestSpecBuilder
             .setPort(jmapPort.getValue())
             .build();
@@ -86,18 +80,11 @@ public abstract class 
FastViewProjectionHealthCheckIntegrationTest {
         bobAccessToken = authenticateJamesUser(baseUri(jmapPort), BOB, 
BOB_PASSWORD);
         aliceAccessToken = authenticateJamesUser(baseUri(jmapPort), ALICE, 
ALICE_PASSWORD);
 
-        webAdminApi = 
WebAdminUtils.spec(guiceJamesServer.getProbe(WebAdminGuiceProbe.class).getWebAdminPort());
+        webAdminApi = 
WebAdminUtils.spec(jamesServer.getProbe(WebAdminGuiceProbe.class).getWebAdminPort());
     }
 
-    @After
-    public void tearDown() {
-        guiceJamesServer.stop();
-    }
-
-    protected abstract GuiceJamesServer createJamesServer() throws Exception;
-
     @Test
-    public void checkShouldReturnHealthyWhenNoMessage() {
+    void checkShouldReturnHealthyWhenNoMessage() {
         webAdminApi.when()
             .get("/healthcheck/checks/" + MESSAGE_FAST_VIEW_PROJECTION)
         .then()
@@ -108,7 +95,7 @@ public abstract class 
FastViewProjectionHealthCheckIntegrationTest {
     }
 
     @Test
-    public void checkShouldReturnHealthyAfterSendingAMessageWithReads() {
+    void checkShouldReturnHealthyAfterSendingAMessageWithReads() {
         bobSendAMessageToAlice();
 
         IntStream.rangeClosed(1, 20)
@@ -124,7 +111,7 @@ public abstract class 
FastViewProjectionHealthCheckIntegrationTest {
     }
 
     @Test
-    public void checkShouldReturnDegradedAfterFewReadsOnAMissedProjection() {
+    void 
checkShouldReturnDegradedAfterFewReadsOnAMissedProjection(GuiceJamesServer 
guiceJamesServer) {
         bobSendAMessageToAlice();
 
         guiceJamesServer.getProbe(JmapGuiceProbe.class)
@@ -143,11 +130,11 @@ public abstract class 
FastViewProjectionHealthCheckIntegrationTest {
     }
 
     @Test
-    public void 
checkShouldTurnFromDegradedToHealthyAfterMoreReadsOnAMissedProjection() {
+    void 
checkShouldTurnFromDegradedToHealthyAfterMoreReadsOnAMissedProjection(GuiceJamesServer
 guiceJamesServer) {
         bobSendAMessageToAlice();
         calmlyAwait.untilAsserted(() -> 
assertThat(listMessageIdsForAccount(aliceAccessToken))
             .hasSize(1));
-        makeHealthCheckDegraded();
+        makeHealthCheckDegraded(guiceJamesServer);
 
         IntStream.rangeClosed(1, 100)
             .forEach(counter -> aliceReadLastMessage());
@@ -161,7 +148,7 @@ public abstract class 
FastViewProjectionHealthCheckIntegrationTest {
             .body("status", equalTo(ResultStatus.HEALTHY.getValue()));
     }
 
-    private void makeHealthCheckDegraded() {
+    private void makeHealthCheckDegraded(GuiceJamesServer guiceJamesServer) {
         guiceJamesServer.getProbe(JmapGuiceProbe.class)
             .clearMessageFastViewProjection();
         aliceReadLastMessage();


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

Reply via email to