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 c23c3d4dc606f71b3ff621d0797f73c33c5025d1
Author: Gautier DI FOLCO <[email protected]>
AuthorDate: Wed Jul 10 11:05:10 2019 +0200

    JAMES-2726 Fix MailImpl duplicate
---
 .../core/src/main/java/org/apache/james/server/core/MailImpl.java   | 1 +
 .../src/test/java/org/apache/james/server/core/MailImplTest.java    | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git 
a/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
 
b/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
index eef5335..172d4e0 100644
--- 
a/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
+++ 
b/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
@@ -105,6 +105,7 @@ public class MailImpl implements Disposable, Mail {
             .lastUpdated(mail.getLastUpdated())
             .errorMessage(mail.getErrorMessage())
             .addAttributes(duplicateAttributes(mail))
+            .addAllHeadersForRecipients(mail.getPerRecipientSpecificHeaders())
             .build();
     }
 
diff --git 
a/server/container/core/src/test/java/org/apache/james/server/core/MailImplTest.java
 
b/server/container/core/src/test/java/org/apache/james/server/core/MailImplTest.java
index 33a51d4..0717b47 100644
--- 
a/server/container/core/src/test/java/org/apache/james/server/core/MailImplTest.java
+++ 
b/server/container/core/src/test/java/org/apache/james/server/core/MailImplTest.java
@@ -40,6 +40,7 @@ import org.apache.mailet.AttributeName;
 import org.apache.mailet.AttributeValue;
 import org.apache.mailet.ContractMailTest;
 import org.apache.mailet.Mail;
+import org.apache.mailet.PerRecipientHeaders;
 import org.apache.mailet.base.MailAddressFixture;
 import org.apache.mailet.base.test.MailUtil;
 import org.junit.jupiter.api.BeforeEach;
@@ -153,10 +154,14 @@ public class MailImplTest extends ContractMailTest {
     @Test
     void duplicateFactoryMethodShouldGenerateNewObjectWithSameValuesButName() 
throws Exception {
         String name = MailUtil.newId();
+        PerRecipientHeaders perRecipientSpecificHeaders = new 
PerRecipientHeaders();
+        PerRecipientHeaders.Header perRecipientHeader = 
PerRecipientHeaders.Header.builder().name("a").value("b").build();
+        perRecipientSpecificHeaders.addHeaderForRecipient(perRecipientHeader, 
new MailAddress("[email protected]"));
         MailImpl mail = MailImpl.builder()
             .name(name)
             .sender("sender@localhost")
             .mimeMessage(emptyMessage)
+            .addAllHeadersForRecipients(perRecipientSpecificHeaders)
             .build();
 
         MailImpl duplicate = MailImpl.duplicate(mail);
@@ -168,6 +173,7 @@ public class MailImplTest extends ContractMailTest {
             .isEqualTo(mail);
         assertThat(duplicate.getName()).isNotEqualTo(name);
         
assertThat(duplicate.getMessage().getInputStream()).hasSameContentAs(mail.getMessage().getInputStream());
+        
assertThat(mail.getPerRecipientSpecificHeaders()).isEqualTo(duplicate.getPerRecipientSpecificHeaders());
     }
 
     @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to