You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/06/17 11:04:33 UTC

[james-project] 01/09: MAILET-136 James SMTP doesn't create new user or mailbox when doing domain re routing

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 74988eb7e7cb8f48c7b1a336162ba833cb0ada50
Author: Tran Tien Duc <dt...@linagora.com>
AuthorDate: Wed Jun 5 15:39:36 2019 +0700

    MAILET-136 James SMTP doesn't create new user or mailbox when doing domain re routing
---
 .../RecipientRewriteTableIntegrationTest.java      | 30 +++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

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 34cd1d2..0a12f0a 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,6 +25,7 @@ import static org.apache.james.mailets.configuration.Constants.PASSWORD;
 import static org.apache.james.mailets.configuration.Constants.awaitAtMostOneMinute;
 import static org.assertj.core.api.Assertions.assertThat;
 
+import org.apache.james.modules.MailboxProbeImpl;
 import org.apache.james.modules.protocols.ImapGuiceProbe;
 import org.apache.james.modules.protocols.SmtpGuiceProbe;
 import org.apache.james.probe.DataProbe;
@@ -176,7 +177,6 @@ public class RecipientRewriteTableIntegrationTest {
     @Test
     public void messageShouldNotSendToRecipientWhenDomainMapping() throws Exception {
         dataProbe.addDomainAliasMapping(DEFAULT_DOMAIN, JAMES_ANOTHER_DOMAIN);
-        dataProbe.addUser(ANY_AT_ANOTHER_DOMAIN, PASSWORD);
 
         messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
             .sendMessage(FROM, ANY_AT_JAMES);
@@ -222,4 +222,32 @@ public class RecipientRewriteTableIntegrationTest {
             .awaitMessage(awaitAtMostOneMinute);
         assertThat(imapMessageReader.readFirstMessage()).isNotNull();
     }
+
+    @Test
+    public void domainAliasMappingShouldNotCreateNonExistedUserWhenReRouting() throws Exception {
+        dataProbe.addDomain("domain1.com");
+        dataProbe.addDomain("domain2.com");
+
+        // domain2 as the source, domain1 as the destination
+        dataProbe.addDomainAliasMapping("domain2.com", "domain1.com");
+
+        dataProbe.addUser("user@domain1.com", PASSWORD);
+
+        messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort())
+            .sendMessage(FROM, "user@domain2.com");
+
+        imapMessageReader.connect(LOCALHOST_IP, jamesServer.getProbe(ImapGuiceProbe.class).getImapPort())
+            .login("user@domain1.com", PASSWORD)
+            .select(IMAPMessageReader.INBOX)
+            .awaitMessage(awaitAtMostOneMinute);
+
+        // assert user  non existence
+        assertThat(dataProbe.listUsers())
+            .doesNotContain("user@domain2.com");
+
+        // assert alias address has no mailbox
+        assertThat(jamesServer.getProbe(MailboxProbeImpl.class)
+            .listUserMailboxes("user@doamin2.com"))
+            .isEmpty();
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org