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]

Reply via email to