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]

Reply via email to