This is an automated email from the ASF dual-hosted git repository. rcordier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 9711f9046cce9c4e2486d35e64109d5961ecc962 Author: Rene Cordier <[email protected]> AuthorDate: Thu Jul 9 10:49:25 2020 +0700 JAMES-3295 Temporary delivery error matcher implementation/test --- .../james/transport/mailets/RemoteDeliveryErrorHandlingTest.java | 3 ++- .../james/transport/mailets/remote/delivery/DeliveryRunnable.java | 1 + .../transport/mailets/remote/delivery/DeliveryRunnableTest.java | 7 +++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/RemoteDeliveryErrorHandlingTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/RemoteDeliveryErrorHandlingTest.java index 991d0f7..d7519e7 100644 --- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/RemoteDeliveryErrorHandlingTest.java +++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/RemoteDeliveryErrorHandlingTest.java @@ -48,6 +48,7 @@ import org.apache.james.queue.api.MailQueueFactory; import org.apache.james.transport.matchers.All; import org.apache.james.transport.matchers.AtMost; import org.apache.james.transport.matchers.IsRemoteDeliveryPermanentError; +import org.apache.james.transport.matchers.IsRemoteDeliveryTemporaryError; import org.apache.james.utils.DataProbeImpl; import org.apache.james.utils.MailRepositoryProbeImpl; import org.apache.james.utils.SMTPMessageSender; @@ -114,7 +115,7 @@ public class RemoteDeliveryErrorHandlingTest { .matcher(IsRemoteDeliveryPermanentError.class) .addProperty("repositoryPath", REMOTE_DELIVERY_PERMANENT_ERROR_REPOSITORY.asString())) .addMailet(MailetConfiguration.builder() - .matcher(All.class) + .matcher(IsRemoteDeliveryTemporaryError.class) .mailet(ToRepository.class) .addProperty("repositoryPath", REMOTE_DELIVERY_TEMPORARY_ERROR_REPOSITORY.asString())))) .build(tempDir); diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnable.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnable.java index 36e65e2..d16d502 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnable.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnable.java @@ -150,6 +150,7 @@ public class DeliveryRunnable implements Disposable { DeliveryRetriesHelper.initRetries(mail); mail.setLastUpdated(dateSupplier.get()); } + mail.setAttribute(new Attribute(IS_DELIVERY_PERMANENT_ERROR, AttributeValue.of(false))); int retries = DeliveryRetriesHelper.retrieveRetries(mail); if (retries < configuration.getMaxRetries()) { diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnableTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnableTest.java index ece78d0..671ce3a 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnableTest.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnableTest.java @@ -19,6 +19,7 @@ package org.apache.james.transport.mailets.remote.delivery; +import static org.apache.james.transport.mailets.remote.delivery.Bouncer.IS_DELIVERY_PERMANENT_ERROR; import static org.apache.james.transport.mailets.remote.delivery.DeliveryRunnable.OUTGOING_MAILS; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; @@ -35,6 +36,8 @@ import java.util.function.Supplier; import org.apache.james.domainlist.api.DomainList; import org.apache.james.metrics.tests.RecordingMetricFactory; import org.apache.james.queue.api.MailQueue; +import org.apache.mailet.Attribute; +import org.apache.mailet.AttributeValue; import org.apache.mailet.Mail; import org.apache.mailet.base.test.FakeMail; import org.apache.mailet.base.test.FakeMailetConfig; @@ -141,6 +144,7 @@ public class DeliveryRunnableTest { verify(mailQueue).enQueue(FakeMail.builder() .name("name") .attribute(DeliveryRetriesHelper.makeAttribute(1)) + .attribute(new Attribute(IS_DELIVERY_PERMANENT_ERROR, AttributeValue.of(false))) .state(Mail.ERROR) .lastUpdated(FIXED_DATE) .build(), @@ -163,6 +167,7 @@ public class DeliveryRunnableTest { verify(mailQueue).enQueue(FakeMail.builder() .name("name") .attribute(DeliveryRetriesHelper.makeAttribute(3)) + .attribute(new Attribute(IS_DELIVERY_PERMANENT_ERROR, AttributeValue.of(false))) .state(Mail.ERROR) .lastUpdated(FIXED_DATE) .build(), @@ -185,6 +190,7 @@ public class DeliveryRunnableTest { verify(mailQueue).enQueue(FakeMail.builder() .name("name") .attribute(DeliveryRetriesHelper.makeAttribute(5)) + .attribute(new Attribute(IS_DELIVERY_PERMANENT_ERROR, AttributeValue.of(false))) .state(Mail.ERROR) .lastUpdated(FIXED_DATE) .build(), @@ -238,6 +244,7 @@ public class DeliveryRunnableTest { verify(mailQueue).enQueue(FakeMail.builder() .name("name") .attribute(DeliveryRetriesHelper.makeAttribute(1)) + .attribute(new Attribute(IS_DELIVERY_PERMANENT_ERROR, AttributeValue.of(false))) .state(Mail.ERROR) .lastUpdated(FIXED_DATE) .build(), --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
