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/01/16 06:59:12 UTC

[04/17] james-project git commit: MAILBOX-371 Wrapping RabbitMQExtension to avoid start and stop several rabbit mq docker

MAILBOX-371 Wrapping RabbitMQExtension to avoid start and stop several rabbit mq docker


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

Branch: refs/heads/master
Commit: 9f3b7ec0f391ac36deb2b4fc130eca22fc5225a3
Parents: 7ce35a3
Author: datph <dp...@linagora.com>
Authored: Mon Jan 14 11:51:12 2019 +0700
Committer: datph <dp...@linagora.com>
Committed: Wed Jan 16 05:38:45 2019 +0700

----------------------------------------------------------------------
 .../mailbox/events/RabbitMQEventBusTest.java    | 47 +++++++++++++++++---
 1 file changed, 41 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/9f3b7ec0/mailbox/event/event-rabbitmq/src/test/java/org/apache/james/mailbox/events/RabbitMQEventBusTest.java
----------------------------------------------------------------------
diff --git a/mailbox/event/event-rabbitmq/src/test/java/org/apache/james/mailbox/events/RabbitMQEventBusTest.java b/mailbox/event/event-rabbitmq/src/test/java/org/apache/james/mailbox/events/RabbitMQEventBusTest.java
index efa8380..aa4c5c6 100644
--- a/mailbox/event/event-rabbitmq/src/test/java/org/apache/james/mailbox/events/RabbitMQEventBusTest.java
+++ b/mailbox/event/event-rabbitmq/src/test/java/org/apache/james/mailbox/events/RabbitMQEventBusTest.java
@@ -51,11 +51,16 @@ import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.model.TestId;
 import org.apache.james.mailbox.model.TestMessageId;
 import org.apache.james.util.concurrency.ConcurrentTestRunner;
+import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.AfterEachCallback;
+import org.junit.jupiter.api.extension.BeforeEachCallback;
+import org.junit.jupiter.api.extension.ExtensionContext;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
 import com.rabbitmq.client.Connection;
@@ -74,8 +79,40 @@ class RabbitMQEventBusTest implements GroupContract.SingleEventBusGroupContract,
     EventBusConcurrentTestContract.SingleEventBusConcurrentContract, EventBusConcurrentTestContract.MultiEventBusConcurrentContract,
     KeyContract.SingleEventBusKeyContract, KeyContract.MultipleEventBusKeyContract {
 
+    static class RabbitMQEventExtension implements BeforeEachCallback, AfterEachCallback {
+        static final RabbitMQExtension rabbitMQExtension = new RabbitMQExtension();
+
+        void startRabbit() {
+            rabbitMQExtension.beforeAll(null);
+        }
+
+        void stopRabbit() {
+            rabbitMQExtension.afterAll(null);
+        }
+
+        @Override
+        public void beforeEach(ExtensionContext extensionContext) throws Exception {
+            rabbitMQExtension.beforeEach(extensionContext);
+        }
+
+        @Override
+        public void afterEach(ExtensionContext extensionContext) throws Exception {
+            rabbitMQExtension.afterEach(extensionContext);
+        }
+    }
+
+    @BeforeAll
+    static void beforeAll() {
+        testExtension.startRabbit();
+    }
+
+    @AfterAll
+    static void afterAll() {
+        testExtension.stopRabbit();
+    }
+
     @RegisterExtension
-    static RabbitMQExtension rabbitMQExtension = new RabbitMQExtension();
+    static RabbitMQEventExtension testExtension = new RabbitMQEventExtension();
 
     private RabbitMQEventBus eventBus;
     private RabbitMQEventBus eventBus2;
@@ -86,7 +123,7 @@ class RabbitMQEventBusTest implements GroupContract.SingleEventBusGroupContract,
 
     @BeforeEach
     void setUp() {
-        connectionFactory = rabbitMQExtension.getConnectionFactory();
+        connectionFactory = RabbitMQEventExtension.rabbitMQExtension.getConnectionFactory();
         Mono<Connection> connectionMono = Mono.fromSupplier(connectionFactory::create).cache();
 
         TestId.Factory mailboxIdFactory = new TestId.Factory();
@@ -170,7 +207,7 @@ class RabbitMQEventBusTest implements GroupContract.SingleEventBusGroupContract,
         }
 
         private Event dequeueEvent() {
-            RabbitMQConnectionFactory connectionFactory = rabbitMQExtension.getConnectionFactory();
+            RabbitMQConnectionFactory connectionFactory = RabbitMQEventExtension.rabbitMQExtension.getConnectionFactory();
             Receiver receiver = RabbitFlux.createReceiver(new ReceiverOptions().connectionMono(Mono.just(connectionFactory.create())));
 
             byte[] eventInBytes = receiver.consumeAutoAck(MAILBOX_WORK_QUEUE_NAME)
@@ -189,7 +226,7 @@ class RabbitMQEventBusTest implements GroupContract.SingleEventBusGroupContract,
 
         @BeforeEach
         void setUp() throws Exception {
-            rabbitManagementAPI = rabbitMQExtension.managementAPI();
+            rabbitManagementAPI = RabbitMQEventExtension.rabbitMQExtension.managementAPI();
         }
 
         @Nested
@@ -370,6 +407,4 @@ class RabbitMQEventBusTest implements GroupContract.SingleEventBusGroupContract,
         }
 
     }
-
-
 }
\ No newline at end of file


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