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 ma...@apache.org on 2019/06/14 16:32:53 UTC

[james-project] 02/09: JAMES-2786 unpause RabbitMQ container after each test to avoid next tests failure

This is an automated email from the ASF dual-hosted git repository.

matthieu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 7220b4e66b166fe455d3955951348ac8553676a1
Author: Matthieu Baechler <ma...@apache.org>
AuthorDate: Fri Jun 7 15:42:55 2019 +0200

    JAMES-2786 unpause RabbitMQ container after each test to avoid next tests failure
---
 .../java/org/apache/james/backend/rabbitmq/DockerRabbitMQ.java    | 8 +++++++-
 .../org/apache/james/mailbox/events/RabbitMQEventBusTest.java     | 5 +++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/DockerRabbitMQ.java b/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/DockerRabbitMQ.java
index 9843fd3..fa278a8 100644
--- a/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/DockerRabbitMQ.java
+++ b/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/DockerRabbitMQ.java
@@ -25,6 +25,7 @@ import java.net.URISyntaxException;
 import java.time.Duration;
 import java.util.Optional;
 import java.util.UUID;
+import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.http.client.utils.URIBuilder;
 import org.apache.james.util.docker.Images;
@@ -66,6 +67,7 @@ public class DockerRabbitMQ {
     private final String nodeName;
     private final String rabbitHostName;
     private final String hostNameSuffix;
+    private final AtomicBoolean paused;
 
     public static DockerRabbitMQ withCookieAndHostName(String hostNamePrefix, String clusterIdentity, String erlangCookie, Network network) {
         return new DockerRabbitMQ(Optional.ofNullable(hostNamePrefix), Optional.ofNullable(clusterIdentity), Optional.ofNullable(erlangCookie), Optional.of(network));
@@ -77,6 +79,7 @@ public class DockerRabbitMQ {
 
     @SuppressWarnings("resource")
     private DockerRabbitMQ(Optional<String> hostNamePrefix, Optional<String> clusterIdentity, Optional<String> erlangCookie, Optional<Network> net) {
+        paused = new AtomicBoolean(false);
         this.hostNameSuffix = clusterIdentity.orElse(UUID.randomUUID().toString());
         this.rabbitHostName = hostName(hostNamePrefix);
         this.container = new GenericContainer<>(Images.RABBITMQ)
@@ -237,10 +240,13 @@ public class DockerRabbitMQ {
 
     public void pause() {
         DockerClientFactory.instance().client().pauseContainerCmd(container.getContainerId()).exec();
+        paused.set(true);
     }
 
     public void unpause() {
-        DockerClientFactory.instance().client().unpauseContainerCmd(container.getContainerId()).exec();
+        if (paused.compareAndSet(true, false)) {
+            DockerClientFactory.instance().client().unpauseContainerCmd(container.getContainerId()).exec();
+        }
     }
 
     public RabbitMQConnectionFactory createRabbitConnectionFactory() throws URISyntaxException {
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 49f0f15..66ae6d3 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
@@ -299,6 +299,11 @@ class RabbitMQEventBusTest implements GroupContract.SingleEventBusGroupContract,
             rabbitManagementAPI = rabbitMQExtension.managementAPI();
         }
 
+        @AfterEach
+        void tearDown() {
+            rabbitMQExtension.getRabbitMQ().unpause();
+        }
+
         @Nested
         class SingleEventBus {
 


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