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


The following commit(s) were added to refs/heads/master by this push:
     new 22af3c3b17 [FIX] RecipientRewriteTable configuration for forwards 
(#2566)
22af3c3b17 is described below

commit 22af3c3b17b43b15538df90ac16bf8a69196f6cf
Author: Benoit TELLIER <btell...@linagora.com>
AuthorDate: Fri Dec 13 09:26:17 2024 +0100

    [FIX] RecipientRewriteTable configuration for forwards (#2566)
---
 .../transport/mailets/RecipientRewriteTable.java   | 14 ++++++++++++--
 .../mailets/RecipientRewriteTableTest.java         | 22 ++++++++++++++++++++++
 2 files changed, 34 insertions(+), 2 deletions(-)

diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTable.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTable.java
index 082b414883..a0a1f3a7d5 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTable.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTable.java
@@ -30,6 +30,7 @@ import org.apache.mailet.Mail;
 import org.apache.mailet.ProcessingState;
 import org.apache.mailet.base.GenericMailet;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 
@@ -76,12 +77,21 @@ public class RecipientRewriteTable extends GenericMailet {
     @Override
     public void init() throws MessagingException {
         errorProcessor = new ProcessingState(getInitParameter(ERROR_PROCESSOR, 
Mail.ERROR));
-        rewriteSenderUponForward = 
getBooleanParameter("rewriteSenderUponForward", true);
-        forwardAutoSubmittedEmails = 
getBooleanParameter("forwardAutoSubmittedEmails", false);
+        rewriteSenderUponForward = 
getBooleanParameter(getInitParameter("rewriteSenderUponForward"), true);
+        forwardAutoSubmittedEmails = 
getBooleanParameter(getInitParameter("forwardAutoSubmittedEmails"), false);
         processor = new RecipientRewriteTableProcessor(virtualTableStore, 
domainList, getMailetContext(), errorProcessor,
             rewriteSenderUponForward, forwardAutoSubmittedEmails);
     }
 
+    @VisibleForTesting
+    public boolean isRewriteSenderUponForward() {
+        return rewriteSenderUponForward;
+    }
+
+    @VisibleForTesting
+    public boolean isForwardAutoSubmittedEmails() {
+        return forwardAutoSubmittedEmails;
+    }
 
     /**
      * The service rewrite the recipient list of mail. The method should:
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableTest.java
index 31678f6ebe..fa045ebaa6 100644
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableTest.java
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableTest.java
@@ -64,6 +64,28 @@ class RecipientRewriteTableTest {
         mail = FakeMail.builder().name("name").build();
     }
 
+    @Test
+    void rewriteSenderUponForwardParameter() throws Exception {
+        mailet.init(FakeMailetConfig.builder()
+            .mailetName("vut")
+            .mailetContext(FakeMailContext.defaultContext())
+            .setProperty("rewriteSenderUponForward", "false")
+            .build());
+
+        assertThat(mailet.isRewriteSenderUponForward()).isFalse();
+    }
+
+    @Test
+    void forwardAutoSubmittedEmailsParameter() throws Exception {
+        mailet.init(FakeMailetConfig.builder()
+            .mailetName("vut")
+            .mailetContext(FakeMailContext.defaultContext())
+            .setProperty("forwardAutoSubmittedEmails", "true")
+            .build());
+
+        assertThat(mailet.isRewriteSenderUponForward()).isTrue();
+    }
+
     @Test
     void getMailetInfoShouldReturnCorrectInformation() {
         assertThat(mailet.getMailetInfo()).isEqualTo("RecipientRewriteTable 
Mailet");


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org
For additional commands, e-mail: notifications-h...@james.apache.org

Reply via email to