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/05/16 08:48:21 UTC
[james-project] 06/23: JAMES-2149 Factorize RRT error processor
definitions
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 c901923a96eae1a9b30e805f950b2bfcf09634b3
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Tue May 14 17:41:59 2019 +0700
JAMES-2149 Factorize RRT error processor definitions
---
.../mailets/configuration/CommonProcessors.java | 34 +++++++++++++++++++
.../james/transport/mailets/AliasMappingTest.java | 31 ++----------------
.../transport/mailets/GroupMappingRelayTest.java | 35 ++------------------
.../james/transport/mailets/GroupMappingTest.java | 38 ++--------------------
4 files changed, 41 insertions(+), 97 deletions(-)
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/configuration/CommonProcessors.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/configuration/CommonProcessors.java
index 503b940..5ccda3f 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/configuration/CommonProcessors.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/configuration/CommonProcessors.java
@@ -37,6 +37,7 @@ import org.apache.james.transport.mailets.ToProcessor;
import org.apache.james.transport.mailets.ToRepository;
import org.apache.james.transport.matchers.All;
import org.apache.james.transport.matchers.HasMailAttribute;
+import org.apache.james.transport.matchers.IsSenderInRRTLoop;
import org.apache.james.transport.matchers.RecipientIsLocal;
import org.apache.james.transport.matchers.RelayLimit;
import org.apache.james.transport.matchers.SMTPAuthSuccessful;
@@ -44,6 +45,8 @@ import org.apache.james.transport.matchers.SMTPAuthSuccessful;
public class CommonProcessors {
public static final MailRepositoryUrl ERROR_REPOSITORY = MailRepositoryUrl.from("file://var/mail/error/");
+ public static final MailRepositoryUrl RRT_ERROR_REPOSITORY = MailRepositoryUrl.from("file://var/mail/rrt-error/");
+ private static final String RRT_ERROR = "rrt-error";
public static ProcessorConfiguration root() {
return ProcessorConfiguration.root()
@@ -139,4 +142,35 @@ public class CommonProcessors {
.addProperty("passThrough", "false"))
.build();
}
+
+ public static final ProcessorConfiguration.Builder rrtErrorEnabledTransport() {
+ return ProcessorConfiguration.transport()
+ .addMailet(MailetConfiguration.builder()
+ .matcher(All.class)
+ .mailet(RecipientRewriteTable.class)
+ .addProperty("errorProcessor", RRT_ERROR))
+ .addMailet(MailetConfiguration.builder()
+ .matcher(RecipientIsLocal.class)
+ .mailet(VacationMailet.class))
+ .addMailet(MailetConfiguration.builder()
+ .matcher(RecipientIsLocal.class)
+ .mailet(JMAPFiltering.class))
+ .addMailetsFrom(CommonProcessors.deliverOnlyTransport());
+ }
+
+ public static ProcessorConfiguration.Builder rrtErrorProcessor() {
+ return ProcessorConfiguration.builder()
+ .state(RRT_ERROR)
+ .addMailet(MailetConfiguration.builder()
+ .matcher(All.class)
+ .mailet(ToRepository.class)
+ .addProperty("passThrough", "true")
+ .addProperty("repositoryPath", RRT_ERROR_REPOSITORY.asString()))
+ .addMailet(MailetConfiguration.builder()
+ .matcher(IsSenderInRRTLoop.class)
+ .mailet(Null.class))
+ .addMailet(MailetConfiguration.builder()
+ .matcher(All.class)
+ .mailet(Bounce.class));
+ }
}
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AliasMappingTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AliasMappingTest.java
index 8fb36f2..116b522 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AliasMappingTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AliasMappingTest.java
@@ -28,23 +28,16 @@ import static org.assertj.core.api.Assertions.assertThat;
import javax.mail.internet.MimeMessage;
import org.apache.james.core.builder.MimeMessageBuilder;
-import org.apache.james.jmap.mailet.VacationMailet;
-import org.apache.james.jmap.mailet.filter.JMAPFiltering;
import org.apache.james.mailbox.model.MailboxConstants;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailets.TemporaryJamesServer;
import org.apache.james.mailets.configuration.CommonProcessors;
-import org.apache.james.mailets.configuration.MailetConfiguration;
import org.apache.james.mailets.configuration.MailetContainer;
-import org.apache.james.mailets.configuration.ProcessorConfiguration;
import org.apache.james.mailrepository.api.MailRepositoryUrl;
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;
-import org.apache.james.transport.matchers.All;
-import org.apache.james.transport.matchers.IsSenderInRRTLoop;
-import org.apache.james.transport.matchers.RecipientIsLocal;
import org.apache.james.utils.DataProbeImpl;
import org.apache.james.utils.IMAPMessageReader;
import org.apache.james.utils.MailRepositoryProbeImpl;
@@ -100,28 +93,8 @@ public class AliasMappingTest {
@Before
public void setup() throws Exception {
MailetContainer.Builder mailetContainer = TemporaryJamesServer.SIMPLE_MAILET_CONTAINER_CONFIGURATION
- .putProcessor(ProcessorConfiguration.transport()
- .addMailet(MailetConfiguration.builder()
- .matcher(All.class)
- .mailet(RecipientRewriteTable.class)
- .addProperty("errorProcessor", RRT_ERROR))
- .addMailet(MailetConfiguration.builder()
- .matcher(RecipientIsLocal.class)
- .mailet(VacationMailet.class))
- .addMailet(MailetConfiguration.builder()
- .matcher(RecipientIsLocal.class)
- .mailet(JMAPFiltering.class))
- .addMailetsFrom(CommonProcessors.deliverOnlyTransport()))
- .putProcessor(ProcessorConfiguration.builder()
- .state(RRT_ERROR)
- .addMailet(MailetConfiguration.builder()
- .matcher(All.class)
- .mailet(ToRepository.class)
- .addProperty("passThrough", "true")
- .addProperty("repositoryPath", RRT_ERROR_REPOSITORY.asString()))
- .addMailet(MailetConfiguration.builder()
- .matcher(IsSenderInRRTLoop.class)
- .mailet(Null.class)));
+ .putProcessor(CommonProcessors.rrtErrorEnabledTransport())
+ .putProcessor(CommonProcessors.rrtErrorProcessor());
jamesServer = TemporaryJamesServer.builder()
.withMailetContainer(mailetContainer)
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingRelayTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingRelayTest.java
index dfedd88..dcd0e01 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingRelayTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingRelayTest.java
@@ -28,19 +28,13 @@ import static org.hamcrest.Matchers.equalTo;
import javax.mail.internet.MimeMessage;
import org.apache.james.core.builder.MimeMessageBuilder;
-import org.apache.james.jmap.mailet.VacationMailet;
-import org.apache.james.jmap.mailet.filter.JMAPFiltering;
import org.apache.james.mailets.TemporaryJamesServer;
import org.apache.james.mailets.configuration.CommonProcessors;
import org.apache.james.mailets.configuration.MailetConfiguration;
import org.apache.james.mailets.configuration.MailetContainer;
-import org.apache.james.mailets.configuration.ProcessorConfiguration;
-import org.apache.james.mailrepository.api.MailRepositoryUrl;
import org.apache.james.modules.protocols.SmtpGuiceProbe;
import org.apache.james.probe.DataProbe;
import org.apache.james.transport.matchers.All;
-import org.apache.james.transport.matchers.IsSenderInRRTLoop;
-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;
@@ -67,8 +61,6 @@ public class GroupMappingRelayTest {
private static final String GROUP_ON_DOMAIN1 = "group@" + DOMAIN1;
private static final String MESSAGE_CONTENT = "any text";
- public static final String RRT_ERROR = "rrt-error";
- public static final MailRepositoryUrl RRT_ERROR_REPOSITORY = MailRepositoryUrl.from("file://var/mail/rrt-error/");
private TemporaryJamesServer jamesServer;
private MimeMessage message;
@@ -91,34 +83,11 @@ public class GroupMappingRelayTest {
@Before
public void setup() throws Exception {
MailetContainer.Builder mailetContainer = TemporaryJamesServer.SIMPLE_MAILET_CONTAINER_CONFIGURATION
- .putProcessor(ProcessorConfiguration.transport()
- .addMailet(MailetConfiguration.builder()
- .matcher(All.class)
- .mailet(RecipientRewriteTable.class)
- .addProperty("errorProcessor", RRT_ERROR))
- .addMailet(MailetConfiguration.builder()
- .matcher(RecipientIsLocal.class)
- .mailet(VacationMailet.class))
- .addMailet(MailetConfiguration.builder()
- .matcher(RecipientIsLocal.class)
- .mailet(JMAPFiltering.class))
- .addMailetsFrom(CommonProcessors.deliverOnlyTransport())
+ .putProcessor(CommonProcessors.rrtErrorEnabledTransport()
.addMailet(MailetConfiguration.remoteDeliveryBuilder()
.matcher(All.class)
.addProperty("gateway", fakeSmtp.getContainer().getContainerIp())))
- .putProcessor(ProcessorConfiguration.builder()
- .state(RRT_ERROR)
- .addMailet(MailetConfiguration.builder()
- .matcher(All.class)
- .mailet(ToRepository.class)
- .addProperty("passThrough", "true")
- .addProperty("repositoryPath", RRT_ERROR_REPOSITORY.asString()))
- .addMailet(MailetConfiguration.builder()
- .matcher(IsSenderInRRTLoop.class)
- .mailet(Null.class))
- .addMailet(MailetConfiguration.builder()
- .matcher(All.class)
- .mailet(Bounce.class)));
+ .putProcessor(CommonProcessors.rrtErrorProcessor());
jamesServer = TemporaryJamesServer.builder()
.withMailetContainer(mailetContainer)
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 0057506..a53d382 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
@@ -19,6 +19,7 @@
package org.apache.james.transport.mailets;
+import static org.apache.james.mailets.configuration.CommonProcessors.RRT_ERROR_REPOSITORY;
import static org.apache.james.mailets.configuration.Constants.DEFAULT_DOMAIN;
import static org.apache.james.mailets.configuration.Constants.LOCALHOST_IP;
import static org.apache.james.mailets.configuration.Constants.PASSWORD;
@@ -28,23 +29,15 @@ import static org.assertj.core.api.Assertions.assertThat;
import javax.mail.internet.MimeMessage;
import org.apache.james.core.builder.MimeMessageBuilder;
-import org.apache.james.jmap.mailet.VacationMailet;
-import org.apache.james.jmap.mailet.filter.JMAPFiltering;
import org.apache.james.mailbox.model.MailboxConstants;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailets.TemporaryJamesServer;
import org.apache.james.mailets.configuration.CommonProcessors;
-import org.apache.james.mailets.configuration.MailetConfiguration;
import org.apache.james.mailets.configuration.MailetContainer;
-import org.apache.james.mailets.configuration.ProcessorConfiguration;
-import org.apache.james.mailrepository.api.MailRepositoryUrl;
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;
-import org.apache.james.transport.matchers.All;
-import org.apache.james.transport.matchers.IsSenderInRRTLoop;
-import org.apache.james.transport.matchers.RecipientIsLocal;
import org.apache.james.utils.DataProbeImpl;
import org.apache.james.utils.IMAPMessageReader;
import org.apache.james.utils.MailRepositoryProbeImpl;
@@ -73,8 +66,6 @@ public class GroupMappingTest {
private static final String USER_DOMAIN1 = "user@" + DOMAIN1;
private static final String USER_DOMAIN2 = "user@" + DOMAIN2;
private static final String MESSAGE_CONTENT = "any text";
- public static final String RRT_ERROR = "rrt-error";
- public static final MailRepositoryUrl RRT_ERROR_REPOSITORY = MailRepositoryUrl.from("file://var/mail/rrt-error/");
private TemporaryJamesServer jamesServer;
private MimeMessage message;
@@ -91,31 +82,8 @@ public class GroupMappingTest {
@Before
public void setup() throws Exception {
MailetContainer.Builder mailetContainer = TemporaryJamesServer.SIMPLE_MAILET_CONTAINER_CONFIGURATION
- .putProcessor(ProcessorConfiguration.transport()
- .addMailet(MailetConfiguration.builder()
- .matcher(All.class)
- .mailet(RecipientRewriteTable.class)
- .addProperty("errorProcessor", RRT_ERROR))
- .addMailet(MailetConfiguration.builder()
- .matcher(RecipientIsLocal.class)
- .mailet(VacationMailet.class))
- .addMailet(MailetConfiguration.builder()
- .matcher(RecipientIsLocal.class)
- .mailet(JMAPFiltering.class))
- .addMailetsFrom(CommonProcessors.deliverOnlyTransport()))
- .putProcessor(ProcessorConfiguration.builder()
- .state(RRT_ERROR)
- .addMailet(MailetConfiguration.builder()
- .matcher(All.class)
- .mailet(ToRepository.class)
- .addProperty("passThrough", "true")
- .addProperty("repositoryPath", RRT_ERROR_REPOSITORY.asString()))
- .addMailet(MailetConfiguration.builder()
- .matcher(IsSenderInRRTLoop.class)
- .mailet(Null.class))
- .addMailet(MailetConfiguration.builder()
- .matcher(All.class)
- .mailet(Bounce.class)));
+ .putProcessor(CommonProcessors.rrtErrorEnabledTransport())
+ .putProcessor(CommonProcessors.rrtErrorProcessor());
jamesServer = TemporaryJamesServer.builder()
.withMailetContainer(mailetContainer)
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org