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]
