You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ro...@apache.org on 2018/01/17 13:28:11 UTC

[5/9] james-project git commit: JAMES-2286 check that store/retrieve support ~16MiB mails

JAMES-2286 check that store/retrieve support ~16MiB mails


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/8d207d4a
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/8d207d4a
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/8d207d4a

Branch: refs/heads/master
Commit: 8d207d4ac83419f772c2a002f0ab08553f168182
Parents: 30f3688
Author: Matthieu Baechler <ma...@apache.org>
Authored: Tue Jan 16 16:33:39 2018 +0100
Committer: Matthieu Baechler <ma...@apache.org>
Committed: Tue Jan 16 16:34:47 2018 +0100

----------------------------------------------------------------------
 .../mailrepository/MailRepositoryContract.java  | 25 ++++++++++++++++++++
 1 file changed, 25 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/8d207d4a/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 7b56107..2afdf76 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
@@ -37,7 +37,9 @@ import org.apache.mailet.Mail;
 import org.apache.mailet.PerRecipientHeaders;
 import org.junit.jupiter.api.Test;
 
+import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableList;
+import com.google.common.hash.Hashing;
 
 public interface MailRepositoryContract {
 
@@ -92,6 +94,16 @@ public interface MailRepositoryContract {
     }
 
     @Test
+    default void storeBigMailShouldNotFail() throws Exception {
+        MailRepository testee = retrieveRepository();
+        String bigString = Strings.repeat("my mail is big 🐋", 1_000_000);
+        Mail mail = createMail("mail1", bigString);
+
+        testee.store(mail);
+    }
+
+
+    @Test
     default void retrieveShouldGetStoredMail() throws Exception {
         MailRepository testee = retrieveRepository();
         String key1 = "mail1";
@@ -113,6 +125,19 @@ public interface MailRepositoryContract {
         assertThat(testee.retrieve(key1).getMessage().getContent()).isEqualTo("my content contains 🐋");
     }
 
+    @Test
+    default void retrieveBigMailShouldHaveSameHash() throws Exception {
+        MailRepository testee = retrieveRepository();
+        String bigString = Strings.repeat("my mail is big 🐋", 1_000_000);
+        Mail mail = createMail("mail1", bigString);
+        testee.store(mail);
+
+        Mail actual = testee.retrieve("mail1");
+
+        assertThat(Hashing.sha256().hashString((String)actual.getMessage().getContent(), StandardCharsets.UTF_8))
+            .isEqualTo(Hashing.sha256().hashString(bigString, StandardCharsets.UTF_8));
+    }
+
 
     @Test
     default void retrieveShouldReturnAllMailProperties() throws Exception {


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org