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 <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
