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 2015/06/29 10:47:29 UTC
svn commit: r1688148 - in /james/mailbox/trunk/elasticsearch/src:
main/java/org/apache/james/mailbox/elasticsearch/json/
test/java/org/apache/james/mailbox/elasticsearch/
test/java/org/apache/james/mailbox/elasticsearch/json/
Author: btellier
Date: Mon Jun 29 08:47:29 2015
New Revision: 1688148
URL: http://svn.apache.org/r1688148
Log:
MAILBOX-234 Use specified time zone for tests
Modified:
james/mailbox/trunk/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
james/mailbox/trunk/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java
james/mailbox/trunk/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
james/mailbox/trunk/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJsonTest.java
Modified: james/mailbox/trunk/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java?rev=1688148&r1=1688147&r2=1688148&view=diff
==============================================================================
--- james/mailbox/trunk/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java (original)
+++ james/mailbox/trunk/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java Mon Jun 29 08:47:29 2015
@@ -42,18 +42,18 @@ import java.util.stream.Collectors;
public class IndexableMessage {
- public static IndexableMessage from(Message<? extends MailboxId> message, TextExtractor textExtractor) {
+ public static IndexableMessage from(Message<? extends MailboxId> message, TextExtractor textExtractor, ZoneId zoneId) {
Preconditions.checkNotNull(message.getMailboxId());
IndexableMessage indexableMessage = new IndexableMessage();
try {
MimePart parsingResult = new MimePartParser(message, textExtractor).parse();
indexableMessage.bodyText = parsingResult.locateFirstTextualBody();
indexableMessage.setFlattenedAttachments(parsingResult);
- indexableMessage.copyHeaderFields(parsingResult.getHeaderCollection(), getSanitizedInternalDate(message));
+ indexableMessage.copyHeaderFields(parsingResult.getHeaderCollection(), getSanitizedInternalDate(message, zoneId));
} catch (IOException | MimeException e) {
throw Throwables.propagate(e);
}
- indexableMessage.copyMessageFields(message);
+ indexableMessage.copyMessageFields(message, zoneId);
return indexableMessage;
}
@@ -72,12 +72,12 @@ public class IndexableMessage {
this.sentDate = DateResolutionFormater.DATE_TIME_FOMATTER.format(headerCollection.getSentDate().orElse(internalDate));
}
- private void copyMessageFields(Message<? extends MailboxId> message) {
+ private void copyMessageFields(Message<? extends MailboxId> message, ZoneId zoneId) {
this.id = message.getUid();
this.mailboxId = message.getMailboxId().serialize();
this.modSeq = message.getModSeq();
this.size = message.getFullContentOctets();
- this.date = DateResolutionFormater.DATE_TIME_FOMATTER.format(getSanitizedInternalDate(message));
+ this.date = DateResolutionFormater.DATE_TIME_FOMATTER.format(getSanitizedInternalDate(message, zoneId));
this.mediaType = message.getMediaType();
this.subType = message.getSubType();
this.isAnswered = message.isAnswered();
@@ -90,13 +90,13 @@ public class IndexableMessage {
this.properties = message.getProperties();
}
- private static ZonedDateTime getSanitizedInternalDate(Message<? extends MailboxId> message) {
+ private static ZonedDateTime getSanitizedInternalDate(Message<? extends MailboxId> message, ZoneId zoneId) {
if (message.getInternalDate() == null) {
return ZonedDateTime.now();
}
return ZonedDateTime.ofInstant(
Instant.ofEpochMilli(message.getInternalDate().getTime()),
- ZoneId.systemDefault());
+ zoneId);
}
private Long id;
Modified: james/mailbox/trunk/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java?rev=1688148&r1=1688147&r2=1688148&view=diff
==============================================================================
--- james/mailbox/trunk/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java (original)
+++ james/mailbox/trunk/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java Mon Jun 29 08:47:29 2015
@@ -21,6 +21,8 @@ package org.apache.james.mailbox.elastic
import javax.mail.Flags;
+import java.time.ZoneId;
+
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.guava.GuavaModule;
@@ -33,9 +35,11 @@ public class MessageToElasticSearchJson
private final ObjectMapper mapper;
private final TextExtractor textExtractor;
+ private final ZoneId zoneId;
- public MessageToElasticSearchJson(TextExtractor textExtractor) {
+ public MessageToElasticSearchJson(TextExtractor textExtractor, ZoneId zoneId) {
this.textExtractor = textExtractor;
+ this.zoneId = zoneId;
this.mapper = new ObjectMapper();
this.mapper.registerModule(new GuavaModule());
this.mapper.registerModule(new Jdk8Module());
@@ -47,7 +51,7 @@ public class MessageToElasticSearchJson
public String convertToJson(Message<?> message) throws JsonProcessingException {
Preconditions.checkNotNull(message);
- return mapper.writeValueAsString(IndexableMessage.from(message, textExtractor));
+ return mapper.writeValueAsString(IndexableMessage.from(message, textExtractor, zoneId));
}
public String getUpdatedJsonMessagePart(Flags flags, long modSeq) throws JsonProcessingException {
Modified: james/mailbox/trunk/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java?rev=1688148&r1=1688147&r2=1688148&view=diff
==============================================================================
--- james/mailbox/trunk/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java (original)
+++ james/mailbox/trunk/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java Mon Jun 29 08:47:29 2015
@@ -21,7 +21,8 @@ package org.apache.james.mailbox.elastic
import static org.assertj.core.api.Assertions.assertThat;
-import java.text.SimpleDateFormat;
+import java.time.ZoneId;
+import java.util.Date;
import javax.mail.Flags;
@@ -71,14 +72,11 @@ public class ElasticSearchIntegrationTes
private StoreMailboxManager<InMemoryId> storeMailboxManager;
private ElasticSearchListeningMessageSearchIndex<InMemoryId> elasticSearchListeningMessageSearchIndex;
private Mailbox<InMemoryId> mailbox;
- private SimpleDateFormat format;
private MailboxSession session;
@Before
@SuppressWarnings("unchecked")
public void setUp() throws Exception {
- format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS");
-
initializeMailboxManager();
session = storeMailboxManager.createSystemSession("benwa", LOGGER);
@@ -88,65 +86,74 @@ public class ElasticSearchIntegrationTes
mailbox = messageManager.getMailboxEntity();
// sentDate: Wed, 3 Jun 2015 09:05:46 +0000
+ // Internal date : 2014/01/02 00:00:00.000
messageManager.appendMessage(
ClassLoader.getSystemResourceAsStream("documents/spamMail.eml"),
- format.parse("2014/01/02 00:00:00.000"),
+ new Date(1388617200000L),
session,
true,
new Flags(Flags.Flag.DELETED));
- //sentDate: Thu, 4 Jun 2015 09:23:37 +0000
+ // sentDate: Thu, 4 Jun 2015 09:23:37 +0000
+ // Internal date : 2014/02/02 00:00:00.000
messageManager.appendMessage(
ClassLoader.getSystemResourceAsStream("documents/mail1.eml"),
- format.parse("2014/02/02 00:00:00.000"),
+ new Date(1391295600000L),
session,
true,
new Flags(Flags.Flag.ANSWERED));
- //sentDate: Thu, 4 Jun 2015 09:27:37 +0000
+ // sentDate: Thu, 4 Jun 2015 09:27:37 +0000
+ // Internal date : 2014/03/02 00:00:00.000
messageManager.appendMessage(
ClassLoader.getSystemResourceAsStream("documents/mail2.eml"),
- format.parse("2014/03/02 00:00:00.000"),
+ new Date(1393714800000L),
session,
true,
new Flags(Flags.Flag.DRAFT));
- //sentDate: Tue, 2 Jun 2015 08:16:19 +0000
+ // sentDate: Tue, 2 Jun 2015 08:16:19 +0000
+ // Internal date : 2014/05/02 00:00:00.000
messageManager.appendMessage(
ClassLoader.getSystemResourceAsStream("documents/mail3.eml"),
- format.parse("2014/05/02 00:00:00.000"),
+ new Date(1398981600000L),
session,
true,
new Flags(Flags.Flag.RECENT));
- //sentDate: Fri, 15 May 2015 06:35:59 +0000
+ // sentDate: Fri, 15 May 2015 06:35:59 +0000
+ // Internal date : 2014/04/02 00:00:00.000
messageManager.appendMessage(
ClassLoader.getSystemResourceAsStream("documents/mail4.eml"),
- format.parse("2014/04/02 00:00:00.000"),
+ new Date(1396389600000L),
session,
true,
new Flags(Flags.Flag.FLAGGED));
- //sentDate: Wed, 03 Jun 2015 19:14:32 +0000
+ // sentDate: Wed, 03 Jun 2015 19:14:32 +0000
+ // Internal date : 2014/06/02 00:00:00.000
messageManager.appendMessage(
ClassLoader.getSystemResourceAsStream("documents/pgpSignedMail.eml"),
- format.parse("2014/06/02 00:00:00.000"),
+ new Date(1401660000000L),
session,
true,
new Flags(Flags.Flag.SEEN));
- //sentDate: Thu, 04 Jun 2015 07:36:08 +0000
+ // sentDate: Thu, 04 Jun 2015 07:36:08 +0000
+ // Internal date : 2014/07/02 00:00:00.000
messageManager.appendMessage(
ClassLoader.getSystemResourceAsStream("documents/htmlMail.eml"),
- format.parse("2014/07/02 00:00:00.000"),
+ new Date(1404252000000L),
session,
false,
new Flags());
- //sentDate: Thu, 4 Jun 2015 06:08:41 +0200
+ // sentDate: Thu, 4 Jun 2015 06:08:41 +0200
+ // Internal date : 2014/08/02 00:00:00.000
messageManager.appendMessage(
ClassLoader.getSystemResourceAsStream("documents/mail.eml"),
- format.parse("2014/08/02 00:00:00.000"),
+ new Date(1406930400000L),
session,
true,
new Flags("Hello"));
- //sentDate: Tue, 2 Jun 2015 12:00:55 +0200
+ // sentDate: Tue, 2 Jun 2015 12:00:55 +0200
+ // Internal date : 2014/09/02 00:00:00.000
messageManager.appendMessage(
ClassLoader.getSystemResourceAsStream("documents/frnog.eml"),
- format.parse("2014/09/02 00:00:00.000"),
+ new Date(1409608800000L),
session,
true,
new Flags("Hello you"));
@@ -162,7 +169,7 @@ public class ElasticSearchIntegrationTes
elasticSearchListeningMessageSearchIndex = new ElasticSearchListeningMessageSearchIndex<>(mapperFactory,
new ElasticSearchIndexer(clientProvider),
new ElasticSearchSearcher<>(clientProvider, new QueryConverter(new CriterionConverter())),
- new MessageToElasticSearchJson(new DefaultTextExtractor()));
+ new MessageToElasticSearchJson(new DefaultTextExtractor(), ZoneId.of("Europe/Paris")));
storeMailboxManager = new StoreMailboxManager<>(
mapperFactory,
new MockAuthenticator(),
@@ -334,7 +341,8 @@ public class ElasticSearchIntegrationTes
@Test
public void internalDateAfterShouldReturnMessagesAfterAGivenDate() throws Exception {
SearchQuery searchQuery = new SearchQuery();
- searchQuery.andCriteria(SearchQuery.internalDateAfter(format.parse("2014/07/02 00:00:00.000"), SearchQuery.DateResolution.Day));
+ // Date : 2014/07/02 00:00:00.000 ( Paris time zone )
+ searchQuery.andCriteria(SearchQuery.internalDateAfter(new Date(1404252000000L), SearchQuery.DateResolution.Day));
assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
.containsOnly(7L, 8L, 9L);
}
@@ -342,7 +350,8 @@ public class ElasticSearchIntegrationTes
@Test
public void internalDateBeforeShouldReturnMessagesBeforeAGivenDate() throws Exception {
SearchQuery searchQuery = new SearchQuery();
- searchQuery.andCriteria(SearchQuery.internalDateBefore(format.parse("2014/02/02 00:00:00.000"), SearchQuery.DateResolution.Day));
+ // Date : 2014/02/02 00:00:00.000 ( Paris time zone )
+ searchQuery.andCriteria(SearchQuery.internalDateBefore(new Date(1391295600000L), SearchQuery.DateResolution.Day));
assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
.containsOnly(1L, 2L);
}
@@ -350,7 +359,8 @@ public class ElasticSearchIntegrationTes
@Test
public void internalDateOnShouldReturnMessagesOfTheGivenDate() throws Exception {
SearchQuery searchQuery = new SearchQuery();
- searchQuery.andCriteria(SearchQuery.internalDateOn(format.parse("2014/03/02 00:00:00.000"), SearchQuery.DateResolution.Day));
+ // Date : 2014/03/02 00:00:00.000 ( Paris time zone )
+ searchQuery.andCriteria(SearchQuery.internalDateOn(new Date(1393714800000L), SearchQuery.DateResolution.Day));
assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
.containsOnly(3L);
}
@@ -488,7 +498,8 @@ public class ElasticSearchIntegrationTes
@Test
public void headerDateAfterShouldWork() throws Exception {
SearchQuery searchQuery = new SearchQuery();
- searchQuery.andCriteria(SearchQuery.headerDateAfter("sentDate", format.parse("2015/06/04 11:00:00.000"), SearchQuery.DateResolution.Second));
+ // Date : 2015/06/04 11:00:00.000 ( Paris time zone )
+ searchQuery.andCriteria(SearchQuery.headerDateAfter("sentDate", new Date(1433408400000L), SearchQuery.DateResolution.Second));
searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.Arrival, true)));
assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
.containsOnly(3L, 2L);
@@ -497,7 +508,8 @@ public class ElasticSearchIntegrationTes
@Test
public void headerDateBeforeShouldWork() throws Exception {
SearchQuery searchQuery = new SearchQuery();
- searchQuery.andCriteria(SearchQuery.headerDateBefore("sentDate", format.parse("2015/06/01 00:00:00.000"), SearchQuery.DateResolution.Day));
+ // Date : 2015/06/01 00:00:00.000 ( Paris time zone )
+ searchQuery.andCriteria(SearchQuery.headerDateBefore("sentDate", new Date(1433109600000L), SearchQuery.DateResolution.Day));
searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.Arrival, true)));
assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
.containsOnly(5L);
@@ -506,7 +518,8 @@ public class ElasticSearchIntegrationTes
@Test
public void headerDateOnShouldWork() throws Exception {
SearchQuery searchQuery = new SearchQuery();
- searchQuery.andCriteria(SearchQuery.headerDateOn("sentDate", format.parse("2015/06/02 08:00:00.000"), SearchQuery.DateResolution.Day));
+ // Date : 2015/06/02 08:00:00.000 ( Paris time zone )
+ searchQuery.andCriteria(SearchQuery.headerDateOn("sentDate", new Date(1433224800000L), SearchQuery.DateResolution.Day));
searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.Arrival, true)));
assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
.containsOnly(4L, 9L);
Modified: james/mailbox/trunk/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJsonTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJsonTest.java?rev=1688148&r1=1688147&r2=1688148&view=diff
==============================================================================
--- james/mailbox/trunk/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJsonTest.java (original)
+++ james/mailbox/trunk/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJsonTest.java Mon Jun 29 08:47:29 2015
@@ -35,14 +35,13 @@ import javax.mail.Flags;
import javax.mail.util.SharedByteArrayInputStream;
import java.io.IOException;
-import java.text.SimpleDateFormat;
+import java.time.ZoneId;
import java.util.Date;
import static net.javacrumbs.jsonunit.core.Option.IGNORING_ARRAY_ORDER;
import static net.javacrumbs.jsonunit.core.Option.IGNORING_VALUES;
import static net.javacrumbs.jsonunit.fluent.JsonFluentAssert.assertThatJson;
-
public class MessageToElasticSearchJsonTest {
public static final int SIZE = 25;
@@ -51,14 +50,13 @@ public class MessageToElasticSearchJsonT
public static final long MOD_SEQ = 42L;
public static final long UID = 25L;
- private SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
-
private Date date;
private PropertyBuilder propertyBuilder;
@Before
public void setUp() throws Exception {
- date = formatter.parse("07-06-2015");
+ // 2015/06/07 00:00:00 0200 (Paris time zone)
+ date = new Date(1433628000000L);
propertyBuilder = new PropertyBuilder();
propertyBuilder.setMediaType("plain");
propertyBuilder.setSubType("text");
@@ -68,7 +66,9 @@ public class MessageToElasticSearchJsonT
@Test
public void spamEmailShouldBeWellConvertedToJson() throws IOException {
- MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(new DefaultTextExtractor());
+ MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(
+ new DefaultTextExtractor(),
+ ZoneId.of("Europe/Paris"));
Message<TestId> spamMail = new SimpleMessage<>(date,
SIZE,
BODY_START_OCTET,
@@ -84,7 +84,9 @@ public class MessageToElasticSearchJsonT
@Test
public void htmlEmailShouldBeWellConvertedToJson() throws IOException {
- MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(new DefaultTextExtractor());
+ MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(
+ new DefaultTextExtractor(),
+ ZoneId.of("Europe/Paris"));
Message<TestId> htmlMail = new SimpleMessage<>(date,
SIZE,
BODY_START_OCTET,
@@ -101,7 +103,9 @@ public class MessageToElasticSearchJsonT
@Test
public void pgpSignedEmailShouldBeWellConvertedToJson() throws IOException {
- MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(new DefaultTextExtractor());
+ MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(
+ new DefaultTextExtractor(),
+ ZoneId.of("Europe/Paris"));
Message<TestId> pgpSignedMail = new SimpleMessage<>(date,
SIZE,
BODY_START_OCTET,
@@ -118,7 +122,9 @@ public class MessageToElasticSearchJsonT
@Test
public void simpleEmailShouldBeWellConvertedToJson() throws IOException {
- MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(new DefaultTextExtractor());
+ MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(
+ new DefaultTextExtractor(),
+ ZoneId.of("Europe/Paris"));
Message<TestId> mail = new SimpleMessage<>(date,
SIZE,
BODY_START_OCTET,
@@ -135,7 +141,9 @@ public class MessageToElasticSearchJsonT
@Test
public void recursiveEmailShouldBeWellConvertedToJson() throws IOException {
- MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(new DefaultTextExtractor());
+ MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(
+ new DefaultTextExtractor(),
+ ZoneId.of("Europe/Paris"));
Message<TestId> recursiveMail = new SimpleMessage<>(date,
SIZE,
BODY_START_OCTET,
@@ -152,7 +160,9 @@ public class MessageToElasticSearchJsonT
@Test
public void emailWithNoInternalDateShouldUseNowDate() throws IOException {
- MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(new DefaultTextExtractor());
+ MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(
+ new DefaultTextExtractor(),
+ ZoneId.of("Europe/Paris"));
Message<TestId> mailWithNoInternalDate = new SimpleMessage<>(null,
SIZE,
BODY_START_OCTET,
@@ -170,7 +180,9 @@ public class MessageToElasticSearchJsonT
@Test(expected = NullPointerException.class)
public void emailWithNoMailboxIdShouldThrow() throws IOException {
- MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(new DefaultTextExtractor());
+ MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(
+ new DefaultTextExtractor(),
+ ZoneId.of("Europe/Paris"));
Message<TestId> mailWithNoMailboxId;
try {
mailWithNoMailboxId = new SimpleMessage<>(date,
@@ -190,27 +202,35 @@ public class MessageToElasticSearchJsonT
@Test
public void getUpdatedJsonMessagePartShouldBehaveWellOnEmptyFlags() throws Exception {
- MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(new DefaultTextExtractor());
+ MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(
+ new DefaultTextExtractor(),
+ ZoneId.of("Europe/Paris"));
assertThatJson(messageToElasticSearchJson.getUpdatedJsonMessagePart(new Flags(), MOD_SEQ))
.isEqualTo("{\"modSeq\":42,\"isAnswered\":false,\"isDeleted\":false,\"isDraft\":false,\"isFlagged\":false,\"isRecent\":false,\"userFlags\":[],\"isUnread\":true}");
}
@Test
public void getUpdatedJsonMessagePartShouldBehaveWellOnNonEmptyFlags() throws Exception {
- MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(new DefaultTextExtractor());
+ MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(
+ new DefaultTextExtractor(),
+ ZoneId.of("Europe/Paris"));
assertThatJson(messageToElasticSearchJson.getUpdatedJsonMessagePart(new FlagsBuilder().add(Flags.Flag.DELETED, Flags.Flag.FLAGGED).add("user").build(), MOD_SEQ))
.isEqualTo("{\"modSeq\":42,\"isAnswered\":false,\"isDeleted\":true,\"isDraft\":false,\"isFlagged\":true,\"isRecent\":false,\"userFlags\":[\"user\"],\"isUnread\":true}");
}
@Test(expected = NullPointerException.class)
public void getUpdatedJsonMessagePartShouldThrowIfFlagsIsNull() throws Exception {
- MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(new DefaultTextExtractor());
+ MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(
+ new DefaultTextExtractor(),
+ ZoneId.of("Europe/Paris"));
messageToElasticSearchJson.getUpdatedJsonMessagePart(null, MOD_SEQ);
}
@Test
public void spamEmailShouldBeWellConvertedToJsonWithApacheTika() throws IOException {
- MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(new TikaTextExtractor());
+ MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(
+ new TikaTextExtractor(),
+ ZoneId.of("Europe/Paris"));
Message<TestId> spamMail = new SimpleMessage<>(date,
SIZE,
BODY_START_OCTET,
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org