Repository: james-project
Updated Branches:
  refs/heads/master 7273a4a2d -> 096c6c763


JAMES-2551 Add a simple test demonstrating RabbitMQ mail queue works


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

Branch: refs/heads/master
Commit: 096c6c7630fe13eb01aec1c8ef755827184dc986
Parents: fed8134
Author: Benoit Tellier <btell...@linagora.com>
Authored: Wed Oct 31 09:35:54 2018 +0700
Committer: Antoine Duprat <adup...@linagora.com>
Committed: Wed Oct 31 17:56:16 2018 +0100

----------------------------------------------------------------------
 .../james/CassandraRabbitMQJamesServerTest.java | 44 +++++++++++++++++++-
 .../src/test/resources/mailetcontainer.xml      |  7 ----
 2 files changed, 43 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/096c6c76/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQJamesServerTest.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQJamesServerTest.java
 
b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQJamesServerTest.java
index 33f8cc1..00de859 100644
--- 
a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQJamesServerTest.java
+++ 
b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQJamesServerTest.java
@@ -19,13 +19,39 @@
 
 package org.apache.james;
 
+import static org.awaitility.Duration.ONE_HUNDRED_MILLISECONDS;
+
+import org.apache.james.core.Domain;
 import org.apache.james.modules.RabbitMQExtension;
 import org.apache.james.modules.TestJMAPServerModule;
+import org.apache.james.modules.protocols.ImapGuiceProbe;
+import org.apache.james.modules.protocols.SmtpGuiceProbe;
+import org.apache.james.utils.DataProbeImpl;
+import org.apache.james.utils.IMAPMessageReader;
+import org.apache.james.utils.SMTPMessageSender;
+import org.apache.james.utils.SpoolerProbe;
+import org.awaitility.Awaitility;
+import org.awaitility.Duration;
+import org.awaitility.core.ConditionFactory;
+import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
-public class CassandraRabbitMQJamesServerTest implements 
JmapJamesServerContract {
+class CassandraRabbitMQJamesServerTest implements JmapJamesServerContract {
+    private static final String DOMAIN = "domain";
+    private static final String JAMES_USER = "james-user@" + DOMAIN;
+    private static final String PASSWORD = "secret";
+    private static Duration slowPacedPollInterval = ONE_HUNDRED_MILLISECONDS;
+    private static ConditionFactory calmlyAwait = Awaitility.with()
+        .pollInterval(slowPacedPollInterval)
+        .and()
+        .with()
+        .pollDelay(slowPacedPollInterval)
+        .await();
     private static final int LIMIT_TO_10_MESSAGES = 10;
 
+    private IMAPMessageReader imapMessageReader = new IMAPMessageReader();
+    private SMTPMessageSender messageSender = new 
SMTPMessageSender(Domain.LOCALHOST.asString());
+
     @RegisterExtension
     static JamesServerExtension testExtension = new 
JamesServerExtensionBuilder()
             .extension(new EmbeddedElasticSearchExtension())
@@ -37,4 +63,20 @@ public class CassandraRabbitMQJamesServerTest implements 
JmapJamesServerContract
                     .overrideWith(DOMAIN_LIST_CONFIGURATION_MODULE))
             .build();
 
+    @Test
+    void mailsShouldBeWellReceived(GuiceJamesServer server) throws Exception {
+        server.getProbe(DataProbeImpl.class).fluent()
+            .addDomain(DOMAIN)
+            .addUser(JAMES_USER, PASSWORD);
+
+        messageSender.connect(JAMES_SERVER_HOST, 
server.getProbe(SmtpGuiceProbe.class).getSmtpPort())
+            .sendMessage("b...@any.com", JAMES_USER);
+
+        calmlyAwait.until(() -> 
server.getProbe(SpoolerProbe.class).processingFinished());
+
+        imapMessageReader.connect(JAMES_SERVER_HOST, 
server.getProbe(ImapGuiceProbe.class).getImapPort())
+            .login(JAMES_USER, PASSWORD)
+            .select(IMAPMessageReader.INBOX)
+            .awaitMessage(calmlyAwait);
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/096c6c76/server/container/guice/cassandra-rabbitmq-guice/src/test/resources/mailetcontainer.xml
----------------------------------------------------------------------
diff --git 
a/server/container/guice/cassandra-rabbitmq-guice/src/test/resources/mailetcontainer.xml
 
b/server/container/guice/cassandra-rabbitmq-guice/src/test/resources/mailetcontainer.xml
index 412e6e9..d75ebb1 100644
--- 
a/server/container/guice/cassandra-rabbitmq-guice/src/test/resources/mailetcontainer.xml
+++ 
b/server/container/guice/cassandra-rabbitmq-guice/src/test/resources/mailetcontainer.xml
@@ -67,13 +67,6 @@
                 <errorProcessor>rrt-error</errorProcessor>
             </mailet>
             <mailet match="RecipientIsLocal" 
class="org.apache.james.jmap.mailet.VacationMailet"/>
-            <mailet match="RecipientIsLocal" class="SpamAssassin">
-                <spamdHost>localhost</spamdHost>
-                <spamdPort>783</spamdPort>
-            </mailet>
-            <mailet match="IsMarkedAsSpam" class="WithStorageDirective">
-                <targetFolderName>Spam</targetFolderName>
-            </mailet>
             <mailet match="RecipientIsLocal" 
class="org.apache.james.jmap.mailet.filter.JMAPFiltering"/>
             <mailet match="RecipientIsLocal" class="LocalDelivery"/>
             <mailet match="HostIsLocal" class="ToProcessor">


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

Reply via email to