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 <[email protected]> Authored: Tue Jan 16 16:33:39 2018 +0100 Committer: Matthieu Baechler <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
