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]
