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