This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 49e309c5db3eaa803e597f538478e5dd33055972
Author: Benoit Tellier <[email protected]>
AuthorDate: Tue May 14 18:00:57 2019 +0700

    JAMES-2149 User alias should be applied before domain mapping
    
    If the domainAlias is applicable to the rewritten userAlias then it should 
be applied
---
 .../james/transport/mailets/DomainMappingTest.java | 42 ++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git 
a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/DomainMappingTest.java
 
b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/DomainMappingTest.java
index b4997d9..1a3eaff 100644
--- 
a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/DomainMappingTest.java
+++ 
b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/DomainMappingTest.java
@@ -178,4 +178,46 @@ public class DomainMappingTest {
             () -> jamesServer.getProbe(MailRepositoryProbeImpl.class)
                 .getRepositoryMailCount(RRT_ERROR_REPOSITORY) == 1);
     }
+
+    @Test
+    public void domainAliasShouldBeIgnoredWhenUserAlias() throws Exception {
+        jamesServer.getProbe(DataProbeImpl.class).addUser(BOB_DOMAIN1, 
PASSWORD);
+
+        webAdminApi.put("/address/aliases/" + BOB_DOMAIN1 + "/sources/" + 
USER_DOMAIN2);
+        webAdminApi.put("/domains/" + DOMAIN1 + "/aliases/" + DOMAIN2);
+
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
+            .sendMessage(FakeMail.builder()
+                .name("name")
+                .mimeMessage(message)
+                .sender(SENDER)
+                .recipient(USER_DOMAIN2));
+
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
+            .login(BOB_DOMAIN1, PASSWORD)
+            .select(IMAPMessageReader.INBOX)
+            .awaitMessage(awaitAtMostOneMinute);
+        
assertThat(imapMessageReader.readFirstMessage()).contains(MESSAGE_CONTENT);
+    }
+
+    @Test
+    public void domainAliasShouldBeChainedIfApplicableAfterUserAliasRewrite() 
throws Exception {
+        jamesServer.getProbe(DataProbeImpl.class).addUser(BOB_DOMAIN1, 
PASSWORD);
+
+        webAdminApi.put("/address/aliases/" + BOB_DOMAIN2 + "/sources/" + 
USER_DOMAIN2);
+        webAdminApi.put("/domains/" + DOMAIN1 + "/aliases/" + DOMAIN2);
+
+        messageSender.connect(LOCALHOST_IP, 
jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
+            .sendMessage(FakeMail.builder()
+                .name("name")
+                .mimeMessage(message)
+                .sender(SENDER)
+                .recipient(USER_DOMAIN2));
+
+        imapMessageReader.connect(LOCALHOST_IP, 
jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
+            .login(BOB_DOMAIN1, PASSWORD)
+            .select(IMAPMessageReader.INBOX)
+            .awaitMessage(awaitAtMostOneMinute);
+        
assertThat(imapMessageReader.readFirstMessage()).contains(MESSAGE_CONTENT);
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to