private UDTValue toUDT(MessageAttachment messageAttachment) { return typesProvider.getDefinedUserType(ATTACHMENTS) .newValue() .setString(Attachments.ID, messageAttachment.getAttachmentId().getId()) .setString(Attachments.NAME, messageAttachment.getName().orElse(null)) .setString(Attachments.CID, messageAttachment.getCid().map(Cid::getValue).orElse(null)) .setBool(Attachments.IS_INLINE, messageAttachment.isInline()); }
@Test void migrationShouldCreateAttachmentIdOnAttachmentMessageIdTableFromMessage() throws Exception { MessageAttachment attachment = createAttachment(); message = createMessage(messageId, ImmutableList.of(attachment)); cassandraMessageDAO.save(message).join(); migration.run(); assertThat(attachmentMessageIdDAO.getOwnerMessageIds(attachment.getAttachmentId()).join()) .containsExactly(messageId); }
@Test void retrieveAllMessageIdAttachmentIdsShouldReturnOneWhenStored() throws Exception { //Given MessageAttachment attachment = MessageAttachment.builder() .attachment(Attachment.builder() .bytes("content".getBytes(StandardCharsets.UTF_8)) .type("type") .build()) .build(); SimpleMailboxMessage message1 = createMessage(messageId, CONTENT, BODY_START, new PropertyBuilder(), ImmutableList.of(attachment)); testee.save(message1).join(); MessageIdAttachmentIds expected = new MessageIdAttachmentIds(messageId, ImmutableSet.of(attachment.getAttachmentId())); //When Stream<MessageIdAttachmentIds> actual = testee.retrieveAllMessageIdAttachmentIds().join(); //Then assertThat(actual).containsOnly(expected); }
private Attachment fromMailboxAttachment(MessageAttachment attachment) { return Attachment.builder() .blobId(BlobId.of(attachment.getAttachmentId().getId())) .type(attachment.getAttachment().getType()) .size(attachment.getAttachment().getSize()) .name(attachment.getName()) .cid(attachment.getCid().map(Cid::getValue)) .isInline(attachment.isInline()) .build(); }
@Test void retrieveAllMessageIdAttachmentIdsShouldReturnOneWhenStoredWithTwoAttachments() throws Exception { //Given MessageAttachment attachment1 = MessageAttachment.builder() .attachment(Attachment.builder() .bytes("content".getBytes(StandardCharsets.UTF_8)) .type("type") .build()) .build(); MessageAttachment attachment2 = MessageAttachment.builder() .attachment(Attachment.builder() .bytes("other content".getBytes(StandardCharsets.UTF_8)) .type("type") .build()) .build(); SimpleMailboxMessage message1 = createMessage(messageId, CONTENT, BODY_START, new PropertyBuilder(), ImmutableList.of(attachment1, attachment2)); testee.save(message1).join(); MessageIdAttachmentIds expected = new MessageIdAttachmentIds(messageId, ImmutableSet.of(attachment1.getAttachmentId(), attachment2.getAttachmentId())); //When Stream<MessageIdAttachmentIds> actual = testee.retrieveAllMessageIdAttachmentIds().join(); //Then assertThat(actual).containsOnly(expected); }
testee.save(message1).join(); testee.save(message2).join(); MessageIdAttachmentIds expected1 = new MessageIdAttachmentIds(messageId1, ImmutableSet.of(attachment1.getAttachmentId())); MessageIdAttachmentIds expected2 = new MessageIdAttachmentIds(messageId2, ImmutableSet.of(attachment2.getAttachmentId()));