JAMES-2139 More IT function for RRT with domain mapping
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/3b5180de Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/3b5180de Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/3b5180de Branch: refs/heads/master Commit: 3b5180de4a7bd3db411f156c92d7d9cfc81d3e5a Parents: 8706796 Author: quynhn <[email protected]> Authored: Mon Sep 11 12:04:40 2017 +0700 Committer: Antoine Duprat <[email protected]> Committed: Wed Sep 13 10:23:34 2017 +0200 ---------------------------------------------------------------------- .../RecipientRewriteTableIntegrationTest.java | 36 +++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/3b5180de/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/RecipientRewriteTableIntegrationTest.java ---------------------------------------------------------------------- diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/RecipientRewriteTableIntegrationTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/RecipientRewriteTableIntegrationTest.java index 75ae12d..931fdfe 100644 --- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/RecipientRewriteTableIntegrationTest.java +++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/RecipientRewriteTableIntegrationTest.java @@ -25,8 +25,8 @@ import org.apache.james.mailets.configuration.MailetContainer; import org.apache.james.utils.SMTPMessageSender; import org.apache.james.modules.MailboxProbeImpl; import org.apache.james.probe.DataProbe; -import org.apache.james.utils.IMAPMessageReader; import org.apache.james.utils.DataProbeImpl; +import org.apache.james.utils.IMAPMessageReader; import org.junit.After; import org.junit.Before; import org.junit.Rule; @@ -44,6 +44,7 @@ public class RecipientRewriteTableIntegrationTest { private static final String PASSWORD = "secret"; private static final String JAMES_APACHE_ORG = "james.org"; + private static final String JAMES_ANOTHER_DOMAIN = "james.com"; private static final String FROM = "fromUser@" + JAMES_APACHE_ORG; private static final String RECIPIENT = "touser@" + JAMES_APACHE_ORG; @@ -51,6 +52,8 @@ public class RecipientRewriteTableIntegrationTest { private static final String ANY_AT_JAMES = "any@" + JAMES_APACHE_ORG; private static final String OTHER_AT_JAMES = "other@" + JAMES_APACHE_ORG; + private static final String ANY_AT_ANOTHER_DOMAIN = "any@" + JAMES_ANOTHER_DOMAIN; + @Rule public TemporaryFolder temporaryFolder = new TemporaryFolder(); @@ -80,6 +83,7 @@ public class RecipientRewriteTableIntegrationTest { dataProbe = jamesServer.getProbe(DataProbeImpl.class); dataProbe.addDomain(JAMES_APACHE_ORG); + dataProbe.addDomain(JAMES_ANOTHER_DOMAIN); } @After @@ -149,6 +153,36 @@ public class RecipientRewriteTableIntegrationTest { } } + @Test + public void messageShouldRedirectToTheSameUserWhenDomainMapping() throws Exception { + dataProbe.addDomainAliasMapping(JAMES_APACHE_ORG, JAMES_ANOTHER_DOMAIN); + + createUserInbox(ANY_AT_JAMES); + createUserInbox(ANY_AT_ANOTHER_DOMAIN); + + try (SMTPMessageSender messageSender = SMTPMessageSender.noAuthentication(LOCALHOST_IP, SMTP_PORT, JAMES_APACHE_ORG); + IMAPMessageReader imapMessageReader = new IMAPMessageReader(LOCALHOST_IP, IMAP_PORT)) { + messageSender.sendMessage(FROM, ANY_AT_JAMES); + calmlyAwait.atMost(Duration.ONE_MINUTE).until(messageSender::messageHasBeenSent); + calmlyAwait.atMost(Duration.ONE_MINUTE).until(() -> imapMessageReader.userReceivedMessage(ANY_AT_ANOTHER_DOMAIN, PASSWORD)); + } + } + + @Test + public void messageShouldNotSendToRecipientWhenDomainMapping() throws Exception { + dataProbe.addDomainAliasMapping(JAMES_APACHE_ORG, JAMES_ANOTHER_DOMAIN); + + createUserInbox(ANY_AT_JAMES); + createUserInbox(ANY_AT_ANOTHER_DOMAIN); + + try (SMTPMessageSender messageSender = SMTPMessageSender.noAuthentication(LOCALHOST_IP, SMTP_PORT, JAMES_APACHE_ORG); + IMAPMessageReader imapMessageReader = new IMAPMessageReader(LOCALHOST_IP, IMAP_PORT)) { + messageSender.sendMessage(FROM, ANY_AT_JAMES); + calmlyAwait.atMost(Duration.ONE_MINUTE).until(messageSender::messageHasBeenSent); + calmlyAwait.atMost(Duration.ONE_MINUTE).until(() -> imapMessageReader.userDoesNotReceiveMessage(ANY_AT_JAMES, PASSWORD)); + } + } + private void createUserInbox(String username) throws Exception { dataProbe.addUser(username, PASSWORD); jamesServer.getProbe(MailboxProbeImpl.class).createMailbox(MailboxConstants.USER_NAMESPACE, username, "INBOX"); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
