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 2018/09/28 02:10:43 UTC

[2/5] james-project git commit: JAMES-2544 RabbitMQ in docker should give its connection informations

JAMES-2544 RabbitMQ in docker should give its connection informations


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

Branch: refs/heads/master
Commit: 3e7fa659014c8121cb4e6fbcd1727fa530201932
Parents: fb30577
Author: Antoine Duprat <ad...@linagora.com>
Authored: Thu Sep 27 10:21:46 2018 +0200
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Fri Sep 28 09:07:12 2018 +0700

----------------------------------------------------------------------
 .../DockerClusterRabbitMQExtension.java         |  4 +--
 .../james/backend/rabbitmq/DockerRabbitMQ.java  | 30 ++++++++++++++++++--
 .../rabbitmq/RabbitMQHealthCheckTest.java       |  6 ++--
 .../queue/rabbitmq/RabbitMQMailQueueTest.java   | 16 ++---------
 .../rabbitmq/RabbitMqMailQueueFactoryTest.java  | 18 ++----------
 5 files changed, 36 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/3e7fa659/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/DockerClusterRabbitMQExtension.java
----------------------------------------------------------------------
diff --git a/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/DockerClusterRabbitMQExtension.java b/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/DockerClusterRabbitMQExtension.java
index 99e95da..79ba173 100644
--- a/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/DockerClusterRabbitMQExtension.java
+++ b/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/DockerClusterRabbitMQExtension.java
@@ -122,9 +122,7 @@ public class DockerClusterRabbitMQExtension implements BeforeEachCallback, After
 
         public ImmutableList<Address> getAddresses() {
             return ImmutableList.of(
-                new Address(rabbitMQ1.getHostIp(), rabbitMQ1.getPort()),
-                new Address(rabbitMQ2.getHostIp(), rabbitMQ2.getPort()),
-                new Address(rabbitMQ3.getHostIp(), rabbitMQ3.getPort()));
+                rabbitMQ1.address(), rabbitMQ2.address(), rabbitMQ3.address());
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/3e7fa659/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/DockerRabbitMQ.java
----------------------------------------------------------------------
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 d98313b..9dfac4e 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
@@ -18,9 +18,13 @@
  ****************************************************************/
 package org.apache.james.backend.rabbitmq;
 
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.util.Optional;
 import java.util.UUID;
 
+import com.rabbitmq.client.Address;
+import org.apache.http.client.utils.URIBuilder;
 import org.apache.james.util.docker.Images;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -78,15 +82,15 @@ public class DockerRabbitMQ {
         return UUID.randomUUID().toString();
     }
 
-    public String getHostIp() {
+    private String getHostIp() {
         return container.getContainerIpAddress();
     }
 
-    public Integer getPort() {
+    private Integer getPort() {
         return container.getMappedPort(DEFAULT_RABBITMQ_PORT);
     }
 
-    public Integer getAdminPort() {
+    private Integer getAdminPort() {
         return container.getMappedPort(DEFAULT_RABBITMQ_ADMIN_PORT);
     }
 
@@ -164,4 +168,24 @@ public class DockerRabbitMQ {
 
         startApp();
     }
+
+    public Address address() {
+        return new Address(getHostIp(), getPort());
+    }
+
+    public URI amqpUri() throws URISyntaxException {
+        return new URIBuilder()
+                .setScheme("amqp")
+                .setHost(getHostIp())
+                .setPort(getPort())
+                .build();
+    }
+
+    public URI managementUri() throws URISyntaxException {
+        return new URIBuilder()
+                .setScheme("http")
+                .setHost(getHostIp())
+                .setPort(getAdminPort())
+                .build();
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/3e7fa659/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQHealthCheckTest.java
----------------------------------------------------------------------
diff --git a/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQHealthCheckTest.java b/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQHealthCheckTest.java
index 43cd63e..22a7d3c 100644
--- a/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQHealthCheckTest.java
+++ b/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQHealthCheckTest.java
@@ -37,12 +37,10 @@ class RabbitMQHealthCheckTest {
 
     @BeforeEach
     void setUp(DockerRabbitMQ rabbitMQ) throws Exception {
-        URI amqpUri = URI.create("amqp://" + rabbitMQ.getHostIp() + ":" + rabbitMQ.getPort());
-        URI managementUri = URI.create("http://" + rabbitMQ.getHostIp() + ":15672/api/");
 
         RabbitMQConfiguration rabbitMQConfiguration = RabbitMQConfiguration.builder()
-            .amqpUri(amqpUri)
-            .managementUri(managementUri)
+            .amqpUri(rabbitMQ.amqpUri())
+            .managementUri(rabbitMQ.managementUri())
             .build();
 
         RabbitMQConnectionFactory rabbitMQConnectionFactory = new RabbitMQConnectionFactory(rabbitMQConfiguration,

http://git-wip-us.apache.org/repos/asf/james-project/blob/3e7fa659/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java
index 61d0695..e2c84b9 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java
@@ -101,16 +101,6 @@ public class RabbitMQMailQueueTest implements ManageableMailQueueContract, MailQ
         CassandraBlobsDAO blobsDAO = new CassandraBlobsDAO(cassandra.getConf(), CassandraConfiguration.DEFAULT_CONFIGURATION, BLOB_ID_FACTORY);
         Store<MimeMessage, MimeMessagePartsId> mimeMessageStore = MimeMessageStore.factory(blobsDAO).mimeMessageStore();
 
-        URI amqpUri = new URIBuilder()
-            .setScheme("amqp")
-            .setHost(rabbitMQ.getHostIp())
-            .setPort(rabbitMQ.getPort())
-            .build();
-        URI rabbitManagementUri = new URIBuilder()
-            .setScheme("http")
-            .setHost(rabbitMQ.getHostIp())
-            .setPort(rabbitMQ.getAdminPort())
-            .build();
         clock = mock(Clock.class);
         when(clock.instant()).thenReturn(IN_SLICE_1);
         ThreadLocalRandom random = ThreadLocalRandom.current();
@@ -124,8 +114,8 @@ public class RabbitMQMailQueueTest implements ManageableMailQueueContract, MailQ
             .create(MailQueueName.fromString(SPOOL));
 
         RabbitMQConfiguration rabbitMQConfiguration = RabbitMQConfiguration.builder()
-            .amqpUri(amqpUri)
-            .managementUri(rabbitManagementUri)
+            .amqpUri(rabbitMQ.amqpUri())
+            .managementUri(rabbitMQ.managementUri())
             .build();
 
         RabbitMQConnectionFactory rabbitMQConnectionFactory = new RabbitMQConnectionFactory(rabbitMQConfiguration,
@@ -139,7 +129,7 @@ public class RabbitMQMailQueueTest implements ManageableMailQueueContract, MailQ
             BLOB_ID_FACTORY,
             mailQueueView,
             Clock.systemUTC());
-        RabbitMQManagementApi mqManagementApi = new RabbitMQManagementApi(rabbitManagementUri, new RabbitMQManagementCredentials("guest", "guest".toCharArray()));
+        RabbitMQManagementApi mqManagementApi = new RabbitMQManagementApi(rabbitMQ.managementUri(), new RabbitMQManagementCredentials("guest", "guest".toCharArray()));
         mailQueueFactory = new RabbitMQMailQueueFactory(rabbitClient, mqManagementApi, factory);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/3e7fa659/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMqMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMqMailQueueFactoryTest.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMqMailQueueFactoryTest.java
index 365e9f9..990a259 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMqMailQueueFactoryTest.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMqMailQueueFactoryTest.java
@@ -59,21 +59,9 @@ class RabbitMqMailQueueFactoryTest implements MailQueueFactoryContract<RabbitMQM
         Store<MimeMessage, MimeMessagePartsId> mimeMessageStore = mock(Store.class);
         MailQueueView mailQueueView = mock(MailQueueView.class);
 
-        URI amqpUri = new URIBuilder()
-            .setScheme("amqp")
-            .setHost(rabbitMQ.getHostIp())
-            .setPort(rabbitMQ.getPort())
-            .build();
-        URI rabbitManagementUri = new URIBuilder()
-            .setScheme("http")
-            .setHost(rabbitMQ.getHostIp())
-            .setPort(rabbitMQ.getAdminPort())
-            .build();
-
-
         RabbitMQConfiguration rabbitMQConfiguration = RabbitMQConfiguration.builder()
-            .amqpUri(amqpUri)
-            .managementUri(rabbitManagementUri)
+            .amqpUri(rabbitMQ.amqpUri())
+            .managementUri(rabbitMQ.managementUri())
             .build();
 
         RabbitMQConnectionFactory rabbitMQConnectionFactory = new RabbitMQConnectionFactory(
@@ -82,7 +70,7 @@ class RabbitMqMailQueueFactoryTest implements MailQueueFactoryContract<RabbitMQM
 
         RabbitClient rabbitClient = new RabbitClient(new RabbitChannelPool(rabbitMQConnectionFactory));
         RabbitMQMailQueue.Factory factory = new RabbitMQMailQueue.Factory(new NoopMetricFactory(), rabbitClient, mimeMessageStore, BLOB_ID_FACTORY, mailQueueView, Clock.systemUTC());
-        RabbitMQManagementApi mqManagementApi = new RabbitMQManagementApi(rabbitManagementUri, new RabbitMQManagementCredentials("guest", "guest".toCharArray()));
+        RabbitMQManagementApi mqManagementApi = new RabbitMQManagementApi(rabbitMQ.managementUri(), new RabbitMQManagementCredentials("guest", "guest".toCharArray()));
         mailQueueFactory = new RabbitMQMailQueueFactory(rabbitClient, mqManagementApi, factory);
     }
 


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