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