JAMES-2286 check that store/retrieve supports emojis
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/30f36888 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/30f36888 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/30f36888 Branch: refs/heads/master Commit: 30f36888f668ecdb0390f5970e932847a48c0f8e Parents: bf52fc4 Author: Matthieu Baechler <[email protected]> Authored: Tue Jan 16 16:32:56 2018 +0100 Committer: Matthieu Baechler <[email protected]> Committed: Tue Jan 16 16:34:47 2018 +0100 ---------------------------------------------------------------------- .../apache/james/core/builder/MimeMessageBuilder.java | 5 +++-- .../james/mailrepository/MailRepositoryContract.java | 12 ++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/30f36888/core/src/main/java/org/apache/james/core/builder/MimeMessageBuilder.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/james/core/builder/MimeMessageBuilder.java b/core/src/main/java/org/apache/james/core/builder/MimeMessageBuilder.java index 1ca7380..7cf181d 100644 --- a/core/src/main/java/org/apache/james/core/builder/MimeMessageBuilder.java +++ b/core/src/main/java/org/apache/james/core/builder/MimeMessageBuilder.java @@ -50,6 +50,8 @@ import com.google.common.collect.ImmutableList; public class MimeMessageBuilder { + public static final String DEFAULT_TEXT_PLAIN_UTF8_TYPE = "text/plain; charset=UTF-8"; + public static class Header { private final String name; private final String value; @@ -96,7 +98,6 @@ public class MimeMessageBuilder { } public static class BodyPartBuilder { - public static final String DEFAULT_TEXT_PLAIN_UTF8_TYPE = "text/plain; charset=UTF-8"; public static final String DEFAULT_VALUE = ""; private Optional<String> cid = Optional.empty(); @@ -348,7 +349,7 @@ public class MimeMessageBuilder { Preconditions.checkState(!(text.isPresent() && content.isPresent()), "Can not get at the same time a text and a content"); MimeMessage mimeMessage = new MimeMessage(Session.getInstance(new Properties())); if (text.isPresent()) { - mimeMessage.setContent(text.get(), textContentType.orElse("text/plain")); + mimeMessage.setContent(text.get(), textContentType.orElse(DEFAULT_TEXT_PLAIN_UTF8_TYPE)); } if (content.isPresent()) { mimeMessage.setContent(content.get()); http://git-wip-us.apache.org/repos/asf/james-project/blob/30f36888/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 6afe6e7..7b56107 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 @@ -22,6 +22,7 @@ package org.apache.james.mailrepository; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertAll; +import java.nio.charset.StandardCharsets; import java.util.Date; import java.util.List; @@ -101,6 +102,17 @@ public interface MailRepositoryContract { assertThat(testee.retrieve(key1)).satisfies(actual -> checkMailEquality(actual, mail)); } + @Test + default void retrieveShouldGetStoredEmojiMail() throws Exception { + MailRepository testee = retrieveRepository(); + String key1 = "mail1"; + Mail mail = createMail(key1, "my content contains ð"); + + testee.store(mail); + + assertThat(testee.retrieve(key1).getMessage().getContent()).isEqualTo("my content contains ð"); + } + @Test default void retrieveShouldReturnAllMailProperties() throws Exception { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
