@Test public void attachmentsShouldBeRetrievedWhenSome() throws Exception { String payload = "payload"; BlobId blodId = BlobId.of("id1"); String type = "content"; Attachment expectedAttachment = Attachment.builder() .blobId(blodId) .size(payload.length()) .type(type) .cid("cid") .isInline(true) .build(); MetaDataWithContent testMail = MetaDataWithContent.builder() .uid(MessageUid.of(2)) .flags(new Flags(Flag.SEEN)) .size(0) .internalDate(INTERNAL_DATE) .content( new ByteArrayInputStream( IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("spamMail.eml")))) .attachments( ImmutableList.of( MessageAttachment.builder() .attachment( org.apache.james.mailbox.model.Attachment.builder() .attachmentId(AttachmentId.from(blodId.getRawValue())) .bytes(payload.getBytes()) .type(type) .build()) .cid(Cid.from("cid")) .isInline(true) .build())) .mailboxId(MAILBOX_ID) .messageId(MessageId.of("user|box|2")) .build(); Message testee = messageFactory.fromMetaDataWithContent(testMail); assertThat(testee.getAttachments()).hasSize(1); assertThat(testee.getAttachments().get(0)).isEqualToComparingFieldByField(expectedAttachment); }