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