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