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 rc...@apache.org on 2020/07/10 08:20:16 UTC

[james-project] 03/05: JAMES-3295 Temporary delivery error matcher implementation/test

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 <rc...@linagora.com>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org