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 ro...@apache.org on 2018/01/23 16:54:33 UTC

[09/10] james-project git commit: JAMES-2292 Correctly set up blob transfer when used with activeMQ

JAMES-2292 Correctly set up blob transfer when used with activeMQ

Also duplicate MailQueueFactoryTest for the various configurations


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

Branch: refs/heads/master
Commit: d44627522cec9e84533bb3576eab689fdc50a166
Parents: 2279d9b
Author: benwa <bt...@linagora.com>
Authored: Tue Jan 23 11:32:08 2018 +0700
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jan 23 14:03:24 2018 +0100

----------------------------------------------------------------------
 .../activemq/ActiveMQMailQueueBlobTest.java     |  2 +-
 .../activemq/ActiveMQMailQueueFactoryTest.java  | 79 +++++++++++++++-----
 2 files changed, 63 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/d4462752/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueBlobTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueBlobTest.java b/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueBlobTest.java
index 54002e1..0a66b43 100644
--- a/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueBlobTest.java
+++ b/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueBlobTest.java
@@ -150,7 +150,7 @@ public class ActiveMQMailQueueBlobTest implements DelayedManageableMailQueueCont
         return factory;
     }
 
-    private static final class MyFileSystem implements FileSystem {
+    public static final class MyFileSystem implements FileSystem {
         private static final Logger LOGGER = LoggerFactory.getLogger(MyFileSystem.class);
 
         @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/d4462752/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java b/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
index 7ac74a0..ef98473 100644
--- a/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
+++ b/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
@@ -32,29 +32,74 @@ import org.apache.james.queue.api.RawMailQueueItemDecoratorFactory;
 import org.apache.james.queue.jms.BrokerExtension;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.extension.ExtendWith;
 
-@ExtendWith(BrokerExtension.class)
-public class ActiveMQMailQueueFactoryTest implements MailQueueFactoryContract<ManageableMailQueue>, ManageableMailQueueFactoryContract {
+public class ActiveMQMailQueueFactoryTest {
 
-    private ActiveMQMailQueueFactory mailQueueFactory;
+    @Nested
+    @ExtendWith(BrokerExtension.class)
+    public static class ActiveMQMailQueueFactoryNoBlobsTest implements MailQueueFactoryContract<ManageableMailQueue>, ManageableMailQueueFactoryContract {
+        ActiveMQMailQueueFactory mailQueueFactory;
 
-    @BeforeEach
-    public void setUp(BrokerService brokerService) {
-        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost?create=false");
-        RawMailQueueItemDecoratorFactory mailQueueItemDecoratorFactory = new RawMailQueueItemDecoratorFactory();
-        NoopMetricFactory metricFactory = new NoopMetricFactory();
-        mailQueueFactory = new ActiveMQMailQueueFactory(connectionFactory, mailQueueItemDecoratorFactory, metricFactory);
-        mailQueueFactory.setUseJMX(false);
-    }
+        @BeforeEach
+        public void setUp(BrokerService brokerService) {
+            ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost?create=false");
+            RawMailQueueItemDecoratorFactory mailQueueItemDecoratorFactory = new RawMailQueueItemDecoratorFactory();
+            NoopMetricFactory metricFactory = new NoopMetricFactory();
+            mailQueueFactory = new ActiveMQMailQueueFactory(connectionFactory, mailQueueItemDecoratorFactory, metricFactory);
+            mailQueueFactory.setUseJMX(false);
+            mailQueueFactory.setUseBlobMessages(false);
+        }
+
+        @AfterEach
+        public void tearDown() {
+            mailQueueFactory.destroy();
+        }
 
-    @AfterEach
-    public void tearDown() {
-        mailQueueFactory.destroy();
+        @Override
+        public MailQueueFactory<ManageableMailQueue> getMailQueueFactory() {
+            return mailQueueFactory;
+        }
     }
 
-    @Override
-    public MailQueueFactory<ManageableMailQueue> getMailQueueFactory() {
-        return mailQueueFactory;
+    @Nested
+    @ExtendWith(BrokerExtension.class)
+    public static class ActiveMQMailQueueFactoryBlobsTest implements MailQueueFactoryContract<ManageableMailQueue>, ManageableMailQueueFactoryContract {
+
+        static final String BASE_DIR = "file://target/james-test";
+
+        ActiveMQMailQueueFactory mailQueueFactory;
+        ActiveMQMailQueueBlobTest.MyFileSystem fileSystem;
+
+        @BeforeEach
+        public void setUp(BrokerService brokerService) {
+            fileSystem = new ActiveMQMailQueueBlobTest.MyFileSystem();
+            ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost?create=false");
+
+
+            FileSystemBlobTransferPolicy policy = new FileSystemBlobTransferPolicy();
+            policy.setFileSystem(fileSystem);
+            policy.setDefaultUploadUrl(BASE_DIR);
+            connectionFactory.setBlobTransferPolicy(policy);
+
+            RawMailQueueItemDecoratorFactory mailQueueItemDecoratorFactory = new RawMailQueueItemDecoratorFactory();
+            NoopMetricFactory metricFactory = new NoopMetricFactory();
+            mailQueueFactory = new ActiveMQMailQueueFactory(connectionFactory, mailQueueItemDecoratorFactory, metricFactory);
+            mailQueueFactory.setUseJMX(false);
+            mailQueueFactory.setUseBlobMessages(true);
+        }
+
+        @AfterEach
+        public void tearDown() throws Exception {
+            mailQueueFactory.destroy();
+            fileSystem.destroy();
+        }
+
+        @Override
+        public MailQueueFactory<ManageableMailQueue> getMailQueueFactory() {
+            return mailQueueFactory;
+        }
     }
+
 }
\ 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