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