JAMES-2608 Cassandra doesn't support multiple values in PerRecipientHeaders for a given recipient
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/d9118f6d Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/d9118f6d Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/d9118f6d Branch: refs/heads/master Commit: d9118f6d7d648121d1ac0e99527f0519562d197b Parents: d796a1d Author: Matthieu Baechler <[email protected]> Authored: Mon Nov 26 16:53:54 2018 +0100 Committer: Raphael Ouazana <[email protected]> Committed: Wed Dec 19 09:24:12 2018 +0100 ---------------------------------------------------------------------- .../mailrepository/MailRepositoryContract.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/d9118f6d/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java ---------------------------------------------------------------------- diff --git a/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java b/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java index d923050..e106015 100644 --- a/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java +++ b/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java @@ -46,6 +46,7 @@ import org.apache.mailet.Mail; import org.apache.mailet.PerRecipientHeaders; import org.apache.mailet.base.MailAddressFixture; import org.apache.mailet.base.test.FakeMail; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; @@ -419,6 +420,22 @@ public interface MailRepositoryContract { assertThat(testee.retrieve(MAIL_1)).satisfies(actual -> checkMailEquality(actual, mail)); } + + @Disabled("JAMES-2608") + @Test + default void storingMessageWithPerRecipientHeadersShouldAllowMultipleHeadersPerUser() throws Exception { + + MailRepository testee = retrieveRepository(); + Mail mail = createMail(MAIL_1); + MailAddress recipient1 = new MailAddress("[email protected]"); + mail.addSpecificHeaderForRecipient(PerRecipientHeaders.Header.builder().name("foo").value("bar").build(), recipient1); + mail.addSpecificHeaderForRecipient(PerRecipientHeaders.Header.builder().name("fizz").value("buzz").build(), recipient1); + testee.store(mail); + + assertThat(testee.list()).hasSize(1).containsOnly(MAIL_1); + assertThat(testee.retrieve(MAIL_1)).satisfies(actual -> checkMailEquality(actual, mail)); + } + @RepeatedTest(100) default void storingAndRemovingMessagesConcurrentlyShouldLeadToConsistentResult() throws Exception { MailRepository testee = retrieveRepository(); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
