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 ma...@apache.org on 2018/04/25 08:55:26 UTC

[07/24] james-project git commit: JAMES-2381 Fix ValidRcptHandler behaviour

JAMES-2381 Fix ValidRcptHandler behaviour


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/cd366dd0
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/cd366dd0
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/cd366dd0

Branch: refs/heads/master
Commit: cd366dd01061897e22ef456b938d33bbd5b4b801
Parents: f50b186
Author: benwa <bt...@linagora.com>
Authored: Fri Apr 20 11:58:21 2018 +0700
Committer: Matthieu Baechler <ma...@apache.org>
Committed: Tue Apr 24 15:34:30 2018 +0200

----------------------------------------------------------------------
 .../transport/mailets/GroupMappingTest.java     | 33 +++++++-------------
 .../smtpserver/fastfail/ValidRcptHandler.java   |  4 +--
 .../james/smtpserver/ValidRcptHandlerTest.java  |  3 --
 3 files changed, 13 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/cd366dd0/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
index cd9606e..df8bc6b 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
@@ -20,6 +20,7 @@
 package org.apache.james.transport.mailets;
 
 import static com.jayway.restassured.RestAssured.given;
+import static org.apache.james.mailets.configuration.CommonProcessors.ERROR_REPOSITORY;
 import static org.apache.james.mailets.configuration.Constants.DEFAULT_DOMAIN;
 import static org.apache.james.mailets.configuration.Constants.IMAP_PORT;
 import static org.apache.james.mailets.configuration.Constants.LOCALHOST_IP;
@@ -27,7 +28,6 @@ import static org.apache.james.mailets.configuration.Constants.PASSWORD;
 import static org.apache.james.mailets.configuration.Constants.SMTP_PORT;
 import static org.apache.james.mailets.configuration.Constants.awaitAtMostOneMinute;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.hamcrest.Matchers.equalTo;
 
 import javax.mail.internet.MimeMessage;
@@ -47,9 +47,8 @@ import org.apache.james.transport.matchers.RecipientIsLocal;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.FakeSmtp;
 import org.apache.james.utils.IMAPMessageReader;
+import org.apache.james.utils.MailRepositoryProbeImpl;
 import org.apache.james.utils.SMTPMessageSender;
-import org.apache.james.utils.SMTPSendingException;
-import org.apache.james.utils.SmtpSendingStep;
 import org.apache.james.utils.WebAdminGuiceProbe;
 import org.apache.james.webadmin.WebAdminUtils;
 import org.apache.james.webadmin.routes.GroupsRoutes;
@@ -274,7 +273,7 @@ public class GroupMappingTest {
     }
 
     @Test
-    public void messageShouldNotBeSentWhenGroupLoopMapping() throws Exception {
+    public void messageShouldBeStoredInRepositoryWhenGroupLoopMapping() throws Exception {
         webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1);
 
         webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN2 + "/" + USER_DOMAIN2);
@@ -283,25 +282,15 @@ public class GroupMappingTest {
 
         webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN2 + "/" + GROUP_ON_DOMAIN1);
 
+        messageSender.connect(LOCALHOST_IP, SMTP_PORT)
+            .sendMessage(FakeMail.builder()
+                .mimeMessage(message)
+                .sender(SENDER)
+                .recipient(GROUP_ON_DOMAIN1));
 
-        assertThatThrownBy(() ->
-            messageSender.connect(LOCALHOST_IP, SMTP_PORT)
-                .sendMessage(FakeMail.builder()
-                    .mimeMessage(message)
-                    .sender(SENDER)
-                    .recipient(GROUP_ON_DOMAIN1)))
-            .isInstanceOf(SMTPSendingException.class)
-            .matches(t -> SMTPSendingException.isForStep(t, SmtpSendingStep.RCPT));
-
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
-            .login(USER_DOMAIN1, PASSWORD)
-            .select(IMAPMessageReader.INBOX)
-            .awaitNoMessage(awaitAtMostOneMinute);
-
-        imapMessageReader.connect(LOCALHOST_IP, IMAP_PORT)
-            .login(USER_DOMAIN1, PASSWORD)
-            .select(IMAPMessageReader.INBOX)
-            .awaitNoMessage(awaitAtMostOneMinute);
+        awaitAtMostOneMinute.until(
+            () -> jamesServer.getProbe(MailRepositoryProbeImpl.class)
+                .getRepositoryMailCount(ERROR_REPOSITORY) == 1);
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/cd366dd0/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
index ab5604b..bb2ac01 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
@@ -114,11 +114,11 @@ public class ValidRcptHandler extends AbstractValidRcptHandler implements Protoc
         try {
             Mappings targetString = vut.getMappings(recipient.getLocalPart(), recipient.getDomain());
 
-            if (targetString != null && !targetString.isEmpty()) {
+            if (!targetString.isEmpty()) {
                 return true;
             }
         } catch (ErrorMappingException e) {
-            return false;
+            return true;
         } catch (RecipientRewriteTableException e) {
             LOGGER.info("Unable to access RecipientRewriteTable", e);
             return false;

http://git-wip-us.apache.org/repos/asf/james-project/blob/cd366dd0/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java
index de4c3fa..29c3b8d 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java
@@ -37,7 +37,6 @@ import org.apache.james.smtpserver.fastfail.ValidRcptHandler;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.memory.MemoryUsersRepository;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 public class ValidRcptHandlerTest {
@@ -179,7 +178,6 @@ public class ValidRcptHandlerTest {
         assertThat(rCode).isEqualTo(HookReturnCode.DECLINED);
     }
 
-    @Ignore
     @Test
     public void doRcptShouldDenyWhenHasMappingLoop() throws Exception {
         memoryRecipientRewriteTable.addAddressMapping(MappingSource.fromUser(USER1, Domain.LOCALHOST), USER2 + "@localhost");
@@ -192,7 +190,6 @@ public class ValidRcptHandlerTest {
         assertThat(rCode).isEqualTo(HookReturnCode.DECLINED);
     }
 
-    @Ignore
     @Test
     public void doRcptShouldDeclineWhenHasErrorMapping() throws Exception {
         memoryRecipientRewriteTable.addErrorMapping(MappingSource.fromUser(USER1, Domain.LOCALHOST), "554 BOUNCE");


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