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 bt...@apache.org on 2020/04/22 02:32:02 UTC

[james-project] 22/37: JAMES-2997 Renable MIMEMessageConverterTest

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 7f7da1e07cda9792579a5224c4b5998253465c86
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Mon Jan 20 15:07:12 2020 +0700

    JAMES-2997 Renable MIMEMessageConverterTest
---
 .../draft/methods/MIMEMessageConverterTest.java    | 186 ++++++++++++++-------
 1 file changed, 130 insertions(+), 56 deletions(-)

diff --git a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/methods/MIMEMessageConverterTest.java b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/methods/MIMEMessageConverterTest.java
index 68f235b..8a8f83b 100644
--- a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/methods/MIMEMessageConverterTest.java
+++ b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/methods/MIMEMessageConverterTest.java
@@ -19,13 +19,61 @@
 
 package org.apache.james.jmap.draft.methods;
 
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.io.ByteArrayInputStream;
+import java.nio.charset.StandardCharsets;
+import java.sql.Date;
+import java.time.Instant;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+
+import org.apache.james.core.Username;
+import org.apache.james.jmap.draft.methods.ValueWithId.MessageWithId;
+import org.apache.james.jmap.draft.model.CreationMessage;
+import org.apache.james.jmap.draft.model.CreationMessage.DraftEmailer;
+import org.apache.james.jmap.draft.model.CreationMessageId;
+import org.apache.james.mailbox.AttachmentContentLoader;
+import org.apache.james.mailbox.MailboxSession;
+import org.apache.james.mailbox.MailboxSessionUtil;
+import org.apache.james.mailbox.model.AttachmentId;
+import org.apache.james.mailbox.model.Cid;
+import org.apache.james.mailbox.model.MessageAttachment;
+import org.apache.james.mime4j.codec.EncoderUtil;
+import org.apache.james.mime4j.codec.EncoderUtil.Usage;
+import org.apache.james.mime4j.dom.Entity;
+import org.apache.james.mime4j.dom.Message;
+import org.apache.james.mime4j.dom.Multipart;
+import org.apache.james.mime4j.dom.TextBody;
+import org.apache.james.mime4j.dom.address.Mailbox;
+import org.apache.james.mime4j.dom.field.ContentTypeField;
+import org.apache.james.mime4j.message.BasicBodyFactory;
+import org.apache.james.mime4j.stream.Field;
+import org.assertj.core.data.Index;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+
 class MIMEMessageConverterTest {
+    MailboxSession session;
+    AttachmentContentLoader attachmentContentLoader;
+
+    @BeforeEach
+    void setUp() {
+        session = MailboxSessionUtil.create(Username.of("bob"));
+        attachmentContentLoader = mock(AttachmentContentLoader.class);
+    }
 
-    /*
     @Test
     void convertToMimeShouldAddInReplyToHeaderWhenProvided() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         String matchingMessageId = "unique-message-id";
         CreationMessage messageHavingInReplyTo = CreationMessage.builder()
@@ -47,7 +95,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldGenerateMessageId() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         CreationMessage message = CreationMessage.builder()
                 .mailboxIds(ImmutableList.of("dead-beef-1337"))
@@ -66,7 +114,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldGenerateMessageIdWhenSenderWithoutDomain() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         CreationMessage message = CreationMessage.builder()
                 .from(DraftEmailer.builder().email("sender").build())
@@ -86,7 +134,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldGenerateMessageIdContainingSenderDomain() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         CreationMessage message = CreationMessage.builder()
                 .from(DraftEmailer.builder().email("email@domain.com").build())
@@ -107,7 +155,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldAddHeaderWhenProvided() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         CreationMessage messageHavingInReplyTo = CreationMessage.builder()
                 .from(DraftEmailer.builder().name("sender").build())
@@ -128,7 +176,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldAddHeadersWhenProvided() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         CreationMessage messageHavingInReplyTo = CreationMessage.builder()
                 .from(DraftEmailer.builder().name("sender").build())
@@ -151,7 +199,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldFilterGeneratedHeadersWhenProvided() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         String joesEmail = "joe@example.com";
         CreationMessage messageHavingInReplyTo = CreationMessage.builder()
@@ -177,7 +225,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldFilterGeneratedHeadersRegardlessOfCaseWhenProvided() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         String joesEmail = "joe@example.com";
         CreationMessage messageHavingInReplyTo = CreationMessage.builder()
@@ -203,7 +251,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldAddMultivaluedHeadersWhenProvided() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         CreationMessage messageHavingInReplyTo = CreationMessage.builder()
                 .from(DraftEmailer.builder().name("sender").build())
@@ -224,7 +272,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldFilterEmptyHeaderNames() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         CreationMessage messageHavingInReplyTo = CreationMessage.builder()
                 .from(DraftEmailer.builder().name("joe").build())
@@ -244,7 +292,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldFilterWhiteSpacesOnlyHeaderNames() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         CreationMessage messageHavingInReplyTo = CreationMessage.builder()
                 .from(DraftEmailer.builder().name("joe").build())
@@ -264,7 +312,7 @@ class MIMEMessageConverterTest {
 
     @Test
     void convertToMimeShouldThrowWhenMessageIsNull() {
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         assertThatThrownBy(() -> sut.convertToMime(
                 new ValueWithId.CreationMessageEntry(CreationMessageId.of("any"), null),
@@ -275,7 +323,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldSetBothFromAndSenderHeaders() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         String joesEmail = "joe@example.com";
         CreationMessage testMessage = CreationMessage.builder()
@@ -296,7 +344,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldSetCorrectLocalDate() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         Instant now = Instant.now();
         ZonedDateTime messageDate = ZonedDateTime.ofInstant(now, ZoneId.systemDefault());
@@ -319,7 +367,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldSetQuotedPrintableContentTransferEncodingWhenText() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         CreationMessage testMessage = CreationMessage.builder()
                 .mailboxId("dead-bada55")
@@ -342,7 +390,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldSetTextBodyWhenProvided() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
         TextBody expected = new BasicBodyFactory().textBody("Hello all!", StandardCharsets.UTF_8);
 
         CreationMessage testMessage = CreationMessage.builder()
@@ -363,7 +411,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldSetEmptyBodyWhenNoBodyProvided() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
         TextBody expected = new BasicBodyFactory().textBody("", StandardCharsets.UTF_8);
 
         CreationMessage testMessage = CreationMessage.builder()
@@ -383,7 +431,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldSetHtmlBodyWhenProvided() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
         TextBody expected = new BasicBodyFactory().textBody("Hello <b>all</b>!", StandardCharsets.UTF_8);
 
         CreationMessage testMessage = CreationMessage.builder()
@@ -404,7 +452,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldGenerateMultipartWhenHtmlBodyAndTextBodyProvided() throws Exception {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         CreationMessage testMessage = CreationMessage.builder()
                 .mailboxId("dead-bada55")
@@ -429,7 +477,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertShouldGenerateExpectedMultipartWhenHtmlAndTextBodyProvided() throws Exception {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         CreationMessage testMessage = CreationMessage.builder()
                 .mailboxId("dead-bada55")
@@ -453,7 +501,7 @@ class MIMEMessageConverterTest {
 
         // When
         byte[] convert = sut.convert(new MessageWithId.CreationMessageEntry(
-                CreationMessageId.of("user|mailbox|1"), testMessage), ImmutableList.of());
+                CreationMessageId.of("user|mailbox|1"), testMessage), ImmutableList.of(), session);
 
         // Then
         String actual = new String(convert, StandardCharsets.UTF_8);
@@ -465,7 +513,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldSetMimeTypeWhenTextBody() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         CreationMessage testMessage = CreationMessage.builder()
                 .mailboxId("dead-bada55")
@@ -485,7 +533,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldSetMimeTypeWhenHtmlBody() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
         CreationMessage testMessage = CreationMessage.builder()
                 .mailboxId("dead-bada55")
@@ -505,7 +553,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldSetEmptyHtmlBodyWhenProvided() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
         TextBody expected = new BasicBodyFactory().textBody("", StandardCharsets.UTF_8);
 
         CreationMessage testMessage = CreationMessage.builder()
@@ -527,7 +575,7 @@ class MIMEMessageConverterTest {
     @Test
     void convertToMimeShouldSetEmptyTextBodyWhenProvided() {
         // Given
-        MIMEMessageConverter sut = new MIMEMessageConverter();
+        MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
         TextBody expected = new BasicBodyFactory().textBody("", StandardCharsets.UTF_8);
 
         CreationMessage testMessage = CreationMessage.builder()
@@ -550,9 +598,9 @@ class MIMEMessageConverterTest {
     class WithAttachments {
 
         @Test
-        void convertToMimeShouldAddAttachment() {
+        void convertToMimeShouldAddAttachment() throws Exception {
             // Given
-            MIMEMessageConverter sut = new MIMEMessageConverter();
+            MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
             CreationMessage testMessage = CreationMessage.builder()
                 .mailboxId("dead-bada55")
@@ -565,15 +613,18 @@ class MIMEMessageConverterTest {
             String expectedMimeType = "image/png";
             String text = "123456";
             TextBody expectedBody = new BasicBodyFactory().textBody(text.getBytes(), StandardCharsets.UTF_8);
+            AttachmentId blodId = AttachmentId.from("blodId");
             MessageAttachment attachment = MessageAttachment.builder()
                 .attachment(org.apache.james.mailbox.model.Attachment.builder()
-                    .attachmentId(AttachmentId.from("blodId"))
-                    .bytes(text.getBytes())
+                    .attachmentId(blodId)
+                    .size(text.getBytes().length)
                     .type(expectedMimeType)
                     .build())
                 .cid(Cid.from(expectedCID))
                 .isInline(true)
                 .build();
+            when(attachmentContentLoader.load(attachment.getAttachment(), session))
+                .thenReturn(new ByteArrayInputStream(text.getBytes()));
 
             // When
             Message result = sut.convertToMime(new ValueWithId.CreationMessageEntry(
@@ -594,9 +645,9 @@ class MIMEMessageConverterTest {
         }
 
         @Test
-        void convertToMimeShouldAddAttachmentAndMultipartAlternativeWhenOneAttachementAndTextAndHtmlBody() {
+        void convertToMimeShouldAddAttachmentAndMultipartAlternativeWhenOneAttachementAndTextAndHtmlBody() throws Exception {
             // Given
-            MIMEMessageConverter sut = new MIMEMessageConverter();
+            MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
             CreationMessage testMessage = CreationMessage.builder()
                 .mailboxId("dead-bada55")
@@ -615,12 +666,14 @@ class MIMEMessageConverterTest {
             MessageAttachment attachment = MessageAttachment.builder()
                 .attachment(org.apache.james.mailbox.model.Attachment.builder()
                     .attachmentId(AttachmentId.from("blodId"))
-                    .bytes(text.getBytes())
+                    .size(text.getBytes().length)
                     .type(expectedMimeType)
                     .build())
                 .cid(Cid.from(expectedCID))
                 .isInline(true)
                 .build();
+            when(attachmentContentLoader.load(attachment.getAttachment(), session))
+                .thenReturn(new ByteArrayInputStream(text.getBytes()));
 
             // When
             Message result = sut.convertToMime(new ValueWithId.CreationMessageEntry(
@@ -652,7 +705,7 @@ class MIMEMessageConverterTest {
         @Test
         void convertShouldEncodeWhenNonASCIICharacters() {
             // Given
-            MIMEMessageConverter sut = new MIMEMessageConverter();
+            MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
             CreationMessage testMessage = CreationMessage.builder()
                     .mailboxId("dead-bada55")
@@ -664,7 +717,7 @@ class MIMEMessageConverterTest {
             // When
             ImmutableList<MessageAttachment> attachments = ImmutableList.of();
             byte[] convert = sut.convert(new ValueWithId.CreationMessageEntry(
-                    CreationMessageId.of("user|mailbox|1"), testMessage), attachments);
+                    CreationMessageId.of("user|mailbox|1"), testMessage), attachments, session);
 
             String expectedEncodedContent = "Some non-ASCII characters: =C3=A1=C3=84=C3=8E=C3=9F=C3=BF";
 
@@ -674,9 +727,9 @@ class MIMEMessageConverterTest {
         }
 
         @Test
-        void convertToMimeShouldAddAttachmentAndContainsIndicationAboutTheWayToEncodeFilenamesAttachmentInTheInputStreamWhenSending() {
+        void convertToMimeShouldAddAttachmentAndContainsIndicationAboutTheWayToEncodeFilenamesAttachmentInTheInputStreamWhenSending() throws Exception {
             // Given
-            MIMEMessageConverter sut = new MIMEMessageConverter();
+            MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
             CreationMessage testMessage = CreationMessage.builder()
                 .mailboxIds(ImmutableList.of("dead-bada55"))
@@ -694,12 +747,15 @@ class MIMEMessageConverterTest {
                 .name(name)
                 .attachment(org.apache.james.mailbox.model.Attachment.builder()
                     .attachmentId(AttachmentId.from("blodId"))
-                    .bytes(text.getBytes())
+                    .size(text.getBytes().length)
                     .type(expectedMimeType)
                     .build())
                 .cid(Cid.from(expectedCID))
                 .isInline(true)
                 .build();
+            when(attachmentContentLoader.load(attachment.getAttachment(), session))
+                .thenReturn(new ByteArrayInputStream(text.getBytes()));
+
 
             // When
             Message result = sut.convertToMime(new ValueWithId.CreationMessageEntry(
@@ -715,8 +771,8 @@ class MIMEMessageConverterTest {
 
 
         @Test
-        void convertToMimeShouldHaveMixedMultipart() {
-            MIMEMessageConverter sut = new MIMEMessageConverter();
+        void convertToMimeShouldHaveMixedMultipart() throws Exception {
+            MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
             CreationMessage testMessage = CreationMessage.builder()
                 .mailboxIds(ImmutableList.of("dead-bada55"))
@@ -725,16 +781,19 @@ class MIMEMessageConverterTest {
                 .htmlBody("Hello <b>all<b>!")
                 .build();
 
+            String text = "123456";
             MessageAttachment attachment = MessageAttachment.builder()
                 .name("ديناصور.png")
                 .attachment(org.apache.james.mailbox.model.Attachment.builder()
                     .attachmentId(AttachmentId.from("blodId"))
-                    .bytes("123456".getBytes())
+                    .size(text.getBytes().length)
                     .type("image/png")
                     .build())
                 .cid(Cid.from("cid"))
                 .isInline(false)
                 .build();
+            when(attachmentContentLoader.load(attachment.getAttachment(), session))
+                .thenReturn(new ByteArrayInputStream(text.getBytes()));
 
             Message result = sut.convertToMime(new ValueWithId.CreationMessageEntry(
                 CreationMessageId.of("user|mailbox|1"), testMessage), ImmutableList.of(attachment), session);
@@ -745,8 +804,8 @@ class MIMEMessageConverterTest {
         }
 
         @Test
-        void convertToMimeShouldNotHaveInnerMultipartWhenNoInline() {
-            MIMEMessageConverter sut = new MIMEMessageConverter();
+        void convertToMimeShouldNotHaveInnerMultipartWhenNoInline() throws Exception {
+            MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
             CreationMessage testMessage = CreationMessage.builder()
                 .mailboxIds(ImmutableList.of("dead-bada55"))
@@ -755,16 +814,19 @@ class MIMEMessageConverterTest {
                 .htmlBody("Hello <b>all<b>!")
                 .build();
 
+            String text = "123456";
             MessageAttachment attachment = MessageAttachment.builder()
                 .name("ديناصور.png")
                 .attachment(org.apache.james.mailbox.model.Attachment.builder()
                     .attachmentId(AttachmentId.from("blodId"))
-                    .bytes("123456".getBytes())
+                    .size(text.getBytes().length)
                     .type("image/png")
                     .build())
                 .cid(Cid.from("cid"))
                 .isInline(false)
                 .build();
+            when(attachmentContentLoader.load(attachment.getAttachment(), session))
+                .thenReturn(new ByteArrayInputStream(text.getBytes()));
 
             Message result = sut.convertToMime(new ValueWithId.CreationMessageEntry(
                 CreationMessageId.of("user|mailbox|1"), testMessage), ImmutableList.of(attachment), session);
@@ -775,8 +837,8 @@ class MIMEMessageConverterTest {
         }
 
         @Test
-        void convertToMimeShouldHaveChildrenAttachmentParts() {
-            MIMEMessageConverter sut = new MIMEMessageConverter();
+        void convertToMimeShouldHaveChildrenAttachmentParts() throws Exception {
+            MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
             CreationMessage testMessage = CreationMessage.builder()
                 .mailboxIds(ImmutableList.of("dead-bada55"))
@@ -785,16 +847,19 @@ class MIMEMessageConverterTest {
                 .htmlBody("Hello <b>all<b>!")
                 .build();
 
+            String text = "123456";
             MessageAttachment attachment = MessageAttachment.builder()
                 .name("ديناصور.png")
                 .attachment(org.apache.james.mailbox.model.Attachment.builder()
                     .attachmentId(AttachmentId.from("blodId"))
-                    .bytes("123456".getBytes())
+                    .size(text.getBytes().length)
                     .type("image/png")
                     .build())
                 .cid(Cid.from("cid"))
                 .isInline(false)
                 .build();
+            when(attachmentContentLoader.load(attachment.getAttachment(), session))
+                .thenReturn(new ByteArrayInputStream(text.getBytes()));
 
             Message result = sut.convertToMime(new ValueWithId.CreationMessageEntry(
                 CreationMessageId.of("user|mailbox|1"), testMessage), ImmutableList.of(attachment), session);
@@ -806,8 +871,8 @@ class MIMEMessageConverterTest {
         }
 
         @Test
-        void convertToMimeShouldHaveChildMultipartWhenOnlyInline() {
-            MIMEMessageConverter sut = new MIMEMessageConverter();
+        void convertToMimeShouldHaveChildMultipartWhenOnlyInline() throws Exception {
+            MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
             CreationMessage testMessage = CreationMessage.builder()
                 .mailboxIds(ImmutableList.of("dead-bada55"))
@@ -817,16 +882,19 @@ class MIMEMessageConverterTest {
                 .build();
 
             String name = "ديناصور.png";
+            String text = "123456";
             MessageAttachment attachment = MessageAttachment.builder()
                 .name(name)
                 .attachment(org.apache.james.mailbox.model.Attachment.builder()
                     .attachmentId(AttachmentId.from("blodId"))
-                    .bytes("123456".getBytes())
+                    .size(text.getBytes().length)
                     .type("image/png")
                     .build())
                 .cid(Cid.from("cid"))
                 .isInline(true)
                 .build();
+            when(attachmentContentLoader.load(attachment.getAttachment(), session))
+                .thenReturn(new ByteArrayInputStream(text.getBytes()));
 
             Message result = sut.convertToMime(new ValueWithId.CreationMessageEntry(
                     CreationMessageId.of("user|mailbox|1"), testMessage), ImmutableList.of(attachment), session);
@@ -841,8 +909,8 @@ class MIMEMessageConverterTest {
         }
 
         @Test
-        void convertToMimeShouldHaveChildMultipartWhenBothInlinesAndAttachments() {
-            MIMEMessageConverter sut = new MIMEMessageConverter();
+        void convertToMimeShouldHaveChildMultipartWhenBothInlinesAndAttachments() throws Exception {
+            MIMEMessageConverter sut = new MIMEMessageConverter(attachmentContentLoader);
 
             CreationMessage testMessage = CreationMessage.builder()
                 .mailboxIds(ImmutableList.of("dead-bada55"))
@@ -851,27 +919,35 @@ class MIMEMessageConverterTest {
                 .htmlBody("Hello <b>all<b>!")
                 .build();
 
+            String text = "inline data";
             MessageAttachment inline = MessageAttachment.builder()
                 .name("ديناصور.png")
                 .attachment(org.apache.james.mailbox.model.Attachment.builder()
                     .attachmentId(AttachmentId.from("blodId"))
-                    .bytes("inline data".getBytes())
+                    .size(text.getBytes().length)
                     .type("image/png")
                     .build())
                 .cid(Cid.from("cid"))
                 .isInline(true)
                 .build();
+            when(attachmentContentLoader.load(inline.getAttachment(), session))
+                .thenReturn(new ByteArrayInputStream(text.getBytes()));
 
+
+            String text2 = "attachment data";
             MessageAttachment attachment = MessageAttachment.builder()
                 .name("att.pdf")
                 .attachment(org.apache.james.mailbox.model.Attachment.builder()
                     .attachmentId(AttachmentId.from("blodId2"))
-                    .bytes("attachment data".getBytes())
+                    .size(text2.getBytes().length)
                     .type("image/png")
                     .build())
                 .cid(Cid.from("cid2"))
                 .isInline(false)
                 .build();
+            when(attachmentContentLoader.load(attachment.getAttachment(), session))
+                .thenReturn(new ByteArrayInputStream(text2.getBytes()));
+
 
             Message result = sut.convertToMime(new ValueWithId.CreationMessageEntry(
                     CreationMessageId.of("user|mailbox|1"), testMessage), ImmutableList.of(inline, attachment), session);
@@ -895,6 +971,4 @@ class MIMEMessageConverterTest {
             return ((ContentTypeField) attachmentPart.getHeader().getField("Content-Type")).getParameter("name");
         }
     }
-
-     */
 }


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