private Instant getDateFromHeaderOrInternalDateOtherwise(org.apache.james.mime4j.dom.Message mimeMessage, MetaDataWithContent message) { return Optional.ofNullable(mimeMessage.getDate()) .map(Date::toInstant) .orElse(message.getInternalDate()); }
@Test public void convertToMimeShouldSetCorrectLocalDate() { // Given MIMEMessageConverter sut = new MIMEMessageConverter(); Instant now = Instant.now(); ZonedDateTime messageDate = ZonedDateTime.ofInstant(now, ZoneId.systemDefault()); CreationMessage testMessage = CreationMessage.builder() .mailboxId("dead-bada55") .subject("subject") .from(DraftEmailer.builder().name("sender").build()) .date(messageDate) .build(); // When Message result = sut.convertToMime(new ValueWithId.CreationMessageEntry( CreationMessageId.of("user|mailbox|1"), testMessage), ImmutableList.of()); // Then assertThat(result.getDate()).isEqualToIgnoringMillis(Date.from(now)); }