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:12 UTC

[6/9] james-project git commit: JAMES-2286 check that store/retrieve supports emojis

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 <ma...@apache.org>
Authored: Tue Jan 16 16:32:56 2018 +0100
Committer: Matthieu Baechler <ma...@apache.org>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org