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