Ejemplo n.º 1
0
  @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);
  }