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 rc...@apache.org on 2019/12/20 07:30:52 UTC
[james-project] 08/15: JAMES-2813 ReIndexing tasks should use
JsonSerializationVerifier
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 9103c06d1ecebcc14dab1c7624a784614ade0633
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Wed Dec 18 15:40:40 2019 +0700
JAMES-2813 ReIndexing tasks should use JsonSerializationVerifier
---
mailbox/tools/indexer/pom.xml | 6 ++
.../tools/indexer/MessageIdReIndexingTask.java | 8 +--
.../tools/indexer/SingleMessageReindexingTask.java | 4 +-
...rorRecoveryIndexationTaskSerializationTest.java | 71 ++++++----------------
.../FullReindexingTaskSerializationTest.java | 57 +++++------------
.../MessageIdReindexingTaskSerializationTest.java | 56 +++++------------
...ngleMailboxReindexingTaskSerializationTest.java | 63 +++++--------------
...ngleMessageReindexingTaskSerializationTest.java | 53 +++++-----------
.../UserReindexingTaskSerializationTest.java | 68 ++++++---------------
9 files changed, 108 insertions(+), 278 deletions(-)
diff --git a/mailbox/tools/indexer/pom.xml b/mailbox/tools/indexer/pom.xml
index a0de783..c5ba6a2 100644
--- a/mailbox/tools/indexer/pom.xml
+++ b/mailbox/tools/indexer/pom.xml
@@ -86,6 +86,12 @@
</dependency>
<dependency>
<groupId>${james.groupId}</groupId>
+ <artifactId>james-json</artifactId>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>${james.groupId}</groupId>
<artifactId>james-server-task-json</artifactId>
</dependency>
<dependency>
diff --git a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/MessageIdReIndexingTask.java b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/MessageIdReIndexingTask.java
index 15a4b82..369b7c4 100644
--- a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/MessageIdReIndexingTask.java
+++ b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/MessageIdReIndexingTask.java
@@ -28,12 +28,8 @@ import org.apache.james.mailbox.model.MessageId;
import org.apache.james.task.Task;
import org.apache.james.task.TaskExecutionDetails;
import org.apache.james.task.TaskType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public class MessageIdReIndexingTask implements Task {
- private static final Logger LOGGER = LoggerFactory.getLogger(MessageIdReIndexingTask.class);
-
public static final TaskType TYPE = TaskType.of("messageId-reindexing");
public static class Factory {
@@ -74,12 +70,10 @@ public class MessageIdReIndexingTask implements Task {
private ReIndexerPerformer reIndexerPerformer;
private final MessageId messageId;
- private final AdditionalInformation additionalInformation;
MessageIdReIndexingTask(ReIndexerPerformer reIndexerPerformer, MessageId messageId) {
this.reIndexerPerformer = reIndexerPerformer;
this.messageId = messageId;
- this.additionalInformation = new AdditionalInformation(messageId, Clock.systemUTC().instant());
}
@Override
@@ -98,6 +92,6 @@ public class MessageIdReIndexingTask implements Task {
@Override
public Optional<TaskExecutionDetails.AdditionalInformation> details() {
- return Optional.of(additionalInformation);
+ return Optional.of(new AdditionalInformation(messageId, Clock.systemUTC().instant()));
}
}
diff --git a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMessageReindexingTask.java b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMessageReindexingTask.java
index 8fe131a..77ea683 100644
--- a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMessageReindexingTask.java
+++ b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMessageReindexingTask.java
@@ -85,14 +85,12 @@ public class SingleMessageReindexingTask implements Task {
private final ReIndexerPerformer reIndexerPerformer;
private final MailboxId mailboxId;
private final MessageUid uid;
- private final AdditionalInformation additionalInformation;
@Inject
SingleMessageReindexingTask(ReIndexerPerformer reIndexerPerformer, MailboxId mailboxId, MessageUid uid) {
this.reIndexerPerformer = reIndexerPerformer;
this.mailboxId = mailboxId;
this.uid = uid;
- this.additionalInformation = new AdditionalInformation(mailboxId, uid, Clock.systemUTC().instant());
}
@Override
@@ -120,7 +118,7 @@ public class SingleMessageReindexingTask implements Task {
@Override
public Optional<TaskExecutionDetails.AdditionalInformation> details() {
- return Optional.of(additionalInformation);
+ return Optional.of(new AdditionalInformation(mailboxId, uid, Clock.systemUTC().instant()));
}
}
diff --git a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ErrorRecoveryIndexationTaskSerializationTest.java b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ErrorRecoveryIndexationTaskSerializationTest.java
index d71ad03..f81af92 100644
--- a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ErrorRecoveryIndexationTaskSerializationTest.java
+++ b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ErrorRecoveryIndexationTaskSerializationTest.java
@@ -18,98 +18,63 @@
****************************************************************/
package org.apache.mailbox.tools.indexer;
-import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;
-import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
-import java.io.IOException;
import java.time.Instant;
import java.util.List;
+import org.apache.james.JsonSerializationVerifier;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.indexer.ReIndexingExecutionFailures;
import org.apache.james.mailbox.model.TestId;
-import org.apache.james.server.task.json.JsonTaskAdditionalInformationSerializer;
-import org.apache.james.server.task.json.JsonTaskSerializer;
-import org.apache.james.task.Task;
import org.apache.mailbox.tools.indexer.ReprocessingContextInformationDTO.ReprocessingContextInformationForErrorRecoveryIndexationTask;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
import com.google.common.collect.ImmutableList;
class ErrorRecoveryIndexationTaskSerializationTest {
-
private static final Instant TIMESTAMP = Instant.parse("2018-11-13T12:00:55Z");
- private final TestId.Factory mailboxIdFactory = new TestId.Factory();
- private ReIndexerPerformer reIndexerPerformer;
- private JsonTaskSerializer taskSerializer;
- private JsonTaskAdditionalInformationSerializer jsonAdditionalInformationSerializer;
+ private final TestId.Factory mailboxIdFactory = new TestId.Factory();
private final int successfullyReprocessedMailCount = 42;
private final int failedReprocessedMailCount = 2;
- private ReIndexingExecutionFailures reIndexingExecutionFailures;
-
private final String serializedErrorRecoveryReindexingTask = "{\"type\": \"error-recovery-indexation\"," +
" \"previousFailures\" : [{\"mailboxId\":\"1\",\"uids\":[10]},{\"mailboxId\":\"2\",\"uids\":[20]}]}";
- private final String SERIALIZED_ADDITIONAL_INFORMATION = "{\"type\": \"error-recovery-indexation\", \"successfullyReprocessedMailCount\":42,\"failedReprocessedMailCount\":2,\"failures\":[{\"mailboxId\":\"1\",\"uids\":[10]},{\"mailboxId\":\"2\",\"uids\":[20]}], \"timestamp\":\"2018-11-13T12:00:55Z\"}";
-
+ private final String serializedAdditionalInformation = "{\"type\": \"error-recovery-indexation\", \"successfullyReprocessedMailCount\":42,\"failedReprocessedMailCount\":2,\"failures\":[{\"mailboxId\":\"1\",\"uids\":[10]},{\"mailboxId\":\"2\",\"uids\":[20]}], \"timestamp\":\"2018-11-13T12:00:55Z\"}";
private final TestId mailboxId = TestId.of(1L);
private final MessageUid messageUid = MessageUid.of(10L);
private final ReIndexingExecutionFailures.ReIndexingFailure indexingFailure = new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId, messageUid);
-
private final TestId mailboxId2 = TestId.of(2L);
private final MessageUid messageUid2 = MessageUid.of(20L);
-
private final ReIndexingExecutionFailures.ReIndexingFailure indexingFailure2 = new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId2, messageUid2);
private final List<ReIndexingExecutionFailures.ReIndexingFailure> failures = ImmutableList.of(indexingFailure, indexingFailure2);
private final ReIndexingExecutionFailures executionFailures = new ReIndexingExecutionFailures(failures);
+ private ErrorRecoveryIndexationTask.Factory factory;
+ private ReIndexerPerformer reIndexerPerformer;
+
@BeforeEach
void setUp() {
reIndexerPerformer = mock(ReIndexerPerformer.class);
- ErrorRecoveryIndexationTask.Factory factory = new ErrorRecoveryIndexationTask.Factory(reIndexerPerformer, mailboxIdFactory);
- taskSerializer = JsonTaskSerializer.of(ErrorRecoveryIndexationTaskDTO.module(factory));
-
- jsonAdditionalInformationSerializer = JsonTaskAdditionalInformationSerializer.of(
- ReprocessingContextInformationForErrorRecoveryIndexationTask.serializationModule(mailboxIdFactory));
-
- reIndexingExecutionFailures = new ReIndexingExecutionFailures(ImmutableList.of(
- new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId, messageUid),
- new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId2, messageUid2)));
- }
-
- @Test
- void errorRecoveryReindexingShouldBeSerializable() throws JsonProcessingException {
- ErrorRecoveryIndexationTask task = new ErrorRecoveryIndexationTask(reIndexerPerformer, executionFailures);
-
- assertThatJson(taskSerializer.serialize(task))
- .isEqualTo(serializedErrorRecoveryReindexingTask);
+ factory = new ErrorRecoveryIndexationTask.Factory(reIndexerPerformer, mailboxIdFactory);
}
@Test
- void errorRecoveryReindexingShouldBeDeserializable() throws IOException {
- ErrorRecoveryIndexationTask task = new ErrorRecoveryIndexationTask(reIndexerPerformer, executionFailures);
-
- Task deserializedTask = taskSerializer.deserialize(serializedErrorRecoveryReindexingTask);
- assertThat(task instanceof ErrorRecoveryIndexationTask);
- assertThat(deserializedTask)
- .isEqualToComparingOnlyGivenFields(task, "reIndexerPerformer", "previousFailures");
+ void errorRecoveryReindexingShouldBeSerializable() throws Exception {
+ JsonSerializationVerifier.dtoModule(ErrorRecoveryIndexationTaskDTO.module(factory))
+ .bean(new ErrorRecoveryIndexationTask(reIndexerPerformer, executionFailures))
+ .json(serializedErrorRecoveryReindexingTask)
+ .verify();
}
@Test
- void additionalInformationShouldBeSerializable() throws JsonProcessingException {
- ReprocessingContextInformation details = new ReprocessingContextInformationForErrorRecoveryIndexationTask(successfullyReprocessedMailCount, failedReprocessedMailCount, reIndexingExecutionFailures, TIMESTAMP);
- assertThatJson(jsonAdditionalInformationSerializer.serialize(details)).isEqualTo(SERIALIZED_ADDITIONAL_INFORMATION);
+ void additionalInformationShouldBeSerializable() throws Exception {
+ ReprocessingContextInformationForErrorRecoveryIndexationTask details = new ReprocessingContextInformationForErrorRecoveryIndexationTask(successfullyReprocessedMailCount, failedReprocessedMailCount, executionFailures, TIMESTAMP);
+ JsonSerializationVerifier.dtoModule(ReprocessingContextInformationForErrorRecoveryIndexationTask.serializationModule(mailboxIdFactory))
+ .bean(details)
+ .json(serializedAdditionalInformation)
+ .verify();
}
-
- @Test
- void additonalInformationShouldBeDeserializable() throws IOException {
- ReprocessingContextInformation details = new ReprocessingContextInformationForErrorRecoveryIndexationTask(successfullyReprocessedMailCount, failedReprocessedMailCount, reIndexingExecutionFailures, TIMESTAMP);
- assertThat(jsonAdditionalInformationSerializer.deserialize(SERIALIZED_ADDITIONAL_INFORMATION))
- .isEqualToComparingFieldByField(details);
- }
-
}
diff --git a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/FullReindexingTaskSerializationTest.java b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/FullReindexingTaskSerializationTest.java
index 3d0f9c5..dce79b2 100644
--- a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/FullReindexingTaskSerializationTest.java
+++ b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/FullReindexingTaskSerializationTest.java
@@ -18,34 +18,23 @@
****************************************************************/
package org.apache.mailbox.tools.indexer;
-import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;
-import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
-import java.io.IOException;
import java.time.Instant;
+import org.apache.james.JsonSerializationVerifier;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.indexer.ReIndexingExecutionFailures;
import org.apache.james.mailbox.model.TestId;
-import org.apache.james.server.task.json.JsonTaskAdditionalInformationSerializer;
-import org.apache.james.server.task.json.JsonTaskSerializer;
import org.apache.mailbox.tools.indexer.ReprocessingContextInformationDTO.ReprocessingContextInformationForFullReindexingTask;
-
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
import com.google.common.collect.ImmutableList;
class FullReindexingTaskSerializationTest {
-
private static final Instant TIMESTAMP = Instant.parse("2018-11-13T12:00:55Z");
- private ReIndexerPerformer reIndexerPerformer;
- private JsonTaskSerializer taskSerializer;
- private JsonTaskAdditionalInformationSerializer jsonAdditionalInformationSerializer;
-
private final TestId mailboxId2 = TestId.of(2L);
private final MessageUid messageUid2 = MessageUid.of(20L);
private final TestId mailboxId = TestId.of(1L);
@@ -53,18 +42,16 @@ class FullReindexingTaskSerializationTest {
private final int successfullyReprocessedMailCount = 42;
private final int failedReprocessedMailCount = 2;
- private ReIndexingExecutionFailures reIndexingExecutionFailures;
private final String serializedFullReindexingTask = "{\"type\": \"full-reindexing\"}";
- private final String SERIALIZED_ADDITIONAL_INFORMATION = "{\"type\": \"full-reindexing\", \"successfullyReprocessedMailCount\":42,\"failedReprocessedMailCount\":2,\"failures\":[{\"mailboxId\":\"1\",\"uids\":[10]},{\"mailboxId\":\"2\",\"uids\":[20]}], \"timestamp\":\"2018-11-13T12:00:55Z\"}";
+ private final String serializedAdditionalInformation = "{\"type\": \"full-reindexing\", \"successfullyReprocessedMailCount\":42,\"failedReprocessedMailCount\":2,\"failures\":[{\"mailboxId\":\"1\",\"uids\":[10]},{\"mailboxId\":\"2\",\"uids\":[20]}], \"timestamp\":\"2018-11-13T12:00:55Z\"}";
+
+ private ReIndexingExecutionFailures reIndexingExecutionFailures;
+ private ReIndexerPerformer reIndexerPerformer;
@BeforeEach
void setUp() {
reIndexerPerformer = mock(ReIndexerPerformer.class);
- taskSerializer = JsonTaskSerializer.of(FullReindexingTask.module(reIndexerPerformer));
-
- jsonAdditionalInformationSerializer = JsonTaskAdditionalInformationSerializer.of(
- ReprocessingContextInformationForFullReindexingTask.serializationModule(new TestId.Factory()));
reIndexingExecutionFailures = new ReIndexingExecutionFailures(ImmutableList.of(
new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId, messageUid),
@@ -72,33 +59,21 @@ class FullReindexingTaskSerializationTest {
}
@Test
- void fullReindexingShouldBeSerializable() throws JsonProcessingException {
- FullReindexingTask task = new FullReindexingTask(reIndexerPerformer);
-
- assertThatJson(taskSerializer.serialize(task))
- .isEqualTo(serializedFullReindexingTask);
- }
-
- @Test
- void fullReindexingShouldBeDeserializable() throws IOException {
- FullReindexingTask task = new FullReindexingTask(reIndexerPerformer);
-
- assertThat(taskSerializer.deserialize(serializedFullReindexingTask))
- .isEqualToComparingOnlyGivenFields(task, "reIndexerPerformer");
+ void fullReindexingShouldBeSerializable() throws Exception {
+ JsonSerializationVerifier.dtoModule(FullReindexingTask.module(reIndexerPerformer))
+ .bean(new FullReindexingTask(reIndexerPerformer))
+ .json(serializedFullReindexingTask)
+ .verify();
}
@Test
- void additionalInformationShouldBeSerializable() throws JsonProcessingException {
- ReprocessingContextInformation details = new ReprocessingContextInformationForFullReindexingTask(successfullyReprocessedMailCount, failedReprocessedMailCount, reIndexingExecutionFailures, TIMESTAMP);
- assertThatJson(jsonAdditionalInformationSerializer.serialize(details)).isEqualTo(SERIALIZED_ADDITIONAL_INFORMATION);
- }
+ void additionalInformationShouldBeSerializable() throws Exception {
+ ReprocessingContextInformationForFullReindexingTask details = new ReprocessingContextInformationForFullReindexingTask(successfullyReprocessedMailCount, failedReprocessedMailCount, reIndexingExecutionFailures, TIMESTAMP);
- @Test
- void additonalInformationShouldBeDeserializable() throws IOException {
- ReprocessingContextInformation details = new ReprocessingContextInformation(successfullyReprocessedMailCount, failedReprocessedMailCount, reIndexingExecutionFailures, TIMESTAMP);
- assertThat(jsonAdditionalInformationSerializer.deserialize(SERIALIZED_ADDITIONAL_INFORMATION))
- .isEqualToComparingFieldByField(details);
+ JsonSerializationVerifier.dtoModule(ReprocessingContextInformationForFullReindexingTask.serializationModule(new TestId.Factory()))
+ .bean(details)
+ .json(serializedAdditionalInformation)
+ .verify();
}
-
}
diff --git a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/MessageIdReindexingTaskSerializationTest.java b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/MessageIdReindexingTaskSerializationTest.java
index 4c27cef..f309686 100644
--- a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/MessageIdReindexingTaskSerializationTest.java
+++ b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/MessageIdReindexingTaskSerializationTest.java
@@ -18,75 +18,51 @@
****************************************************************/
package org.apache.mailbox.tools.indexer;
-import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;
-import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
-import java.io.IOException;
import java.time.Instant;
+import org.apache.james.JsonSerializationVerifier;
import org.apache.james.mailbox.model.MessageId;
import org.apache.james.mailbox.model.TestMessageId;
-import org.apache.james.server.task.json.JsonTaskAdditionalInformationSerializer;
-import org.apache.james.server.task.json.JsonTaskSerializer;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
class MessageIdReindexingTaskSerializationTest {
-
private static final Instant TIMESTAMP = Instant.parse("2018-11-13T12:00:55Z");
- private ReIndexerPerformer reIndexerPerformer;
- private MessageId.Factory messageIdFactory;
- private JsonTaskSerializer taskSerializer;
private final String serializedMessageIdReIndexingTask = "{\"type\": \"messageId-reindexing\", \"messageId\": \"1\"}";
- private final String SERIALIZED_ADDITIONAL_INFORMATION = "{\"type\": \"messageId-reindexing\", \"messageId\": \"1\", \"timestamp\":\"2018-11-13T12:00:55Z\"}";
+ private final String serializedAdditionalInformation = "{\"type\": \"messageId-reindexing\", \"messageId\": \"1\", \"timestamp\":\"2018-11-13T12:00:55Z\"}";
- private JsonTaskAdditionalInformationSerializer jsonAdditionalInformationSerializer;
+ private ReIndexerPerformer reIndexerPerformer;
+ private MessageId.Factory messageIdFactory;
+ private MessageIdReIndexingTask.Factory factory;
@BeforeEach
void setUp() {
messageIdFactory = new TestMessageId.Factory();
- jsonAdditionalInformationSerializer = JsonTaskAdditionalInformationSerializer.of(
- MessageIdReindexingTaskAdditionalInformationDTO.serializationModule(messageIdFactory));
reIndexerPerformer = mock(ReIndexerPerformer.class);
- MessageIdReIndexingTask.Factory factory = new MessageIdReIndexingTask.Factory(reIndexerPerformer, messageIdFactory);
- taskSerializer = JsonTaskSerializer.of(MessageIdReindexingTaskDTO.module(factory));
- }
-
- @Test
- void messageIdReindexingShouldBeSerializable() throws JsonProcessingException {
- MessageId messageId = messageIdFactory.fromString("1");
- MessageIdReIndexingTask task = new MessageIdReIndexingTask(reIndexerPerformer, messageId);
-
- assertThatJson(taskSerializer.serialize(task))
- .isEqualTo(serializedMessageIdReIndexingTask);
+ factory = new MessageIdReIndexingTask.Factory(reIndexerPerformer, messageIdFactory);
}
@Test
- void messageIdReindexingShouldBeDeserializable() throws IOException {
+ void messageIdReindexingShouldBeSerializable() throws Exception {
MessageId messageId = messageIdFactory.fromString("1");
- MessageIdReIndexingTask task = new MessageIdReIndexingTask(reIndexerPerformer, messageId);
-
- assertThat(taskSerializer.deserialize(serializedMessageIdReIndexingTask))
- .isEqualToComparingOnlyGivenFields(task, "messageId");
+ JsonSerializationVerifier.dtoModule(MessageIdReindexingTaskDTO.module(factory))
+ .bean(new MessageIdReIndexingTask(reIndexerPerformer, messageId))
+ .json(serializedMessageIdReIndexingTask)
+ .verify();
}
@Test
- void additionalInformationShouldBeSerializable() throws JsonProcessingException {
+ void additionalInformationShouldBeSerializable() throws Exception {
MessageId messageId = messageIdFactory.fromString("1");
MessageIdReIndexingTask.AdditionalInformation details = new MessageIdReIndexingTask.AdditionalInformation(messageId, TIMESTAMP);
- assertThatJson(jsonAdditionalInformationSerializer.serialize(details)).isEqualTo(SERIALIZED_ADDITIONAL_INFORMATION);
- }
- @Test
- void additonalInformationShouldBeDeserializable() throws IOException {
- MessageId messageId = messageIdFactory.fromString("1");
- MessageIdReIndexingTask.AdditionalInformation details = new MessageIdReIndexingTask.AdditionalInformation(messageId, TIMESTAMP);
- assertThat(jsonAdditionalInformationSerializer.deserialize(SERIALIZED_ADDITIONAL_INFORMATION))
- .isEqualToComparingFieldByField(details);
+ JsonSerializationVerifier.dtoModule(MessageIdReindexingTaskAdditionalInformationDTO.serializationModule(messageIdFactory))
+ .bean(details)
+ .json(serializedAdditionalInformation)
+ .verify();
}
}
diff --git a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTaskSerializationTest.java b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTaskSerializationTest.java
index b5c23c7..6e283f1 100644
--- a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTaskSerializationTest.java
+++ b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTaskSerializationTest.java
@@ -18,92 +18,61 @@
****************************************************************/
package org.apache.mailbox.tools.indexer;
-import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;
-import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
-import java.io.IOException;
import java.time.Instant;
-import java.util.List;
+import org.apache.james.JsonSerializationVerifier;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.indexer.ReIndexingExecutionFailures;
import org.apache.james.mailbox.model.TestId;
-import org.apache.james.server.task.json.JsonTaskAdditionalInformationSerializer;
-import org.apache.james.server.task.json.JsonTaskSerializer;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
import com.google.common.collect.ImmutableList;
class SingleMailboxReindexingTaskSerializationTest {
-
private static final Instant TIMESTAMP = Instant.parse("2018-11-13T12:00:55Z");
- private ReIndexerPerformer reIndexerPerformer;
- private JsonTaskSerializer taskSerializer;
- private JsonTaskAdditionalInformationSerializer jsonAdditionalInformationSerializer;
-
private final int successfullyReprocessedMailCount = 42;
private final int failedReprocessedMailCount = 2;
- private ReIndexingExecutionFailures reIndexingExecutionFailures;
private final String serializedMailboxReindexingTask = "{\"type\": \"mailbox-reindexing\", \"mailboxId\": \"1\"}";
-
- private final String SERIALIZED_ADDITIONAL_INFORMATION = "{\"type\": \"mailbox-reindexing\", \"mailboxId\": \"1\", \"successfullyReprocessedMailCount\":42,\"failedReprocessedMailCount\":2,\"failures\":[{\"mailboxId\":\"1\",\"uids\":[10, 20]}], \"timestamp\":\"2018-11-13T12:00:55Z\"}";
+ private final String serializedAdditionalInformation = "{\"type\": \"mailbox-reindexing\", \"mailboxId\": \"1\", \"successfullyReprocessedMailCount\":42,\"failedReprocessedMailCount\":2,\"failures\":[{\"mailboxId\":\"1\",\"uids\":[10, 20]}], \"timestamp\":\"2018-11-13T12:00:55Z\"}";
private final TestId mailboxId = TestId.of(1L);
private final MessageUid messageUid = MessageUid.of(10L);
private final MessageUid messageUid2 = MessageUid.of(20L);
- private final ReIndexingExecutionFailures.ReIndexingFailure indexingFailure = new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId, messageUid);
- private final ReIndexingExecutionFailures.ReIndexingFailure indexingFailure2 = new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId, messageUid2);
- private final List<ReIndexingExecutionFailures.ReIndexingFailure> failures = ImmutableList.of(indexingFailure, indexingFailure2);
+ private SingleMailboxReindexingTask.Factory factory;
+ private ReIndexingExecutionFailures reIndexingExecutionFailures;
+ private ReIndexerPerformer reIndexerPerformer;
@BeforeEach
void setUp() {
reIndexerPerformer = mock(ReIndexerPerformer.class);
- SingleMailboxReindexingTask.Factory factory = new SingleMailboxReindexingTask.Factory(reIndexerPerformer, new TestId.Factory());
- taskSerializer = JsonTaskSerializer.of(SingleMailboxReindexingTaskDTO.module(factory));
-
- jsonAdditionalInformationSerializer = JsonTaskAdditionalInformationSerializer.of(
- SingleMailboxReindexingTaskAdditionalInformationDTO.serializationModule(new TestId.Factory()));
-
+ factory = new SingleMailboxReindexingTask.Factory(reIndexerPerformer, new TestId.Factory());
reIndexingExecutionFailures = new ReIndexingExecutionFailures(ImmutableList.of(
new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId, messageUid),
new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId, messageUid2)));
}
@Test
- void singleMailboxReindexingShouldBeSerializable() throws JsonProcessingException {
- TestId mailboxId = TestId.of(1L);
- SingleMailboxReindexingTask task = new SingleMailboxReindexingTask(reIndexerPerformer, mailboxId);
-
- assertThatJson(taskSerializer.serialize(task))
- .isEqualTo(serializedMailboxReindexingTask);
+ void singleMailboxReindexingShouldBeSerializable() throws Exception {
+ JsonSerializationVerifier.dtoModule(SingleMailboxReindexingTaskDTO.module(factory))
+ .bean(new SingleMailboxReindexingTask(reIndexerPerformer, mailboxId))
+ .json(serializedMailboxReindexingTask)
+ .verify();
}
@Test
- void singleMailboxReindexingShouldBeDeserializable() throws IOException {
- TestId mailboxId = TestId.of(1L);
- SingleMailboxReindexingTask task = new SingleMailboxReindexingTask(reIndexerPerformer, mailboxId);
-
- assertThat(taskSerializer.deserialize(serializedMailboxReindexingTask))
- .isEqualToComparingOnlyGivenFields(task, "reIndexerPerformer", "mailboxId");
- }
-
- @Test
- void additionalInformationShouldBeSerializable() throws JsonProcessingException {
+ void additionalInformationShouldBeSerializable() throws Exception {
SingleMailboxReindexingTask.AdditionalInformation details = new SingleMailboxReindexingTask.AdditionalInformation(mailboxId, successfullyReprocessedMailCount, failedReprocessedMailCount, reIndexingExecutionFailures, TIMESTAMP);
- assertThatJson(jsonAdditionalInformationSerializer.serialize(details)).isEqualTo(SERIALIZED_ADDITIONAL_INFORMATION);
- }
- @Test
- void additonalInformationShouldBeDeserializable() throws IOException {
- SingleMailboxReindexingTask.AdditionalInformation details = new SingleMailboxReindexingTask.AdditionalInformation(mailboxId, successfullyReprocessedMailCount, failedReprocessedMailCount, reIndexingExecutionFailures, TIMESTAMP);
- assertThat(jsonAdditionalInformationSerializer.deserialize(SERIALIZED_ADDITIONAL_INFORMATION))
- .isEqualToComparingFieldByField(details);
+ JsonSerializationVerifier.dtoModule(SingleMailboxReindexingTaskAdditionalInformationDTO.serializationModule(new TestId.Factory()))
+ .bean(details)
+ .json(serializedAdditionalInformation)
+ .verify();
}
}
diff --git a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/SingleMessageReindexingTaskSerializationTest.java b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/SingleMessageReindexingTaskSerializationTest.java
index b97441b..119098c 100644
--- a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/SingleMessageReindexingTaskSerializationTest.java
+++ b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/SingleMessageReindexingTaskSerializationTest.java
@@ -18,70 +18,49 @@
****************************************************************/
package org.apache.mailbox.tools.indexer;
-import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;
-import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
-import java.io.IOException;
import java.time.Instant;
+import org.apache.james.JsonSerializationVerifier;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.model.TestId;
-import org.apache.james.server.task.json.JsonTaskAdditionalInformationSerializer;
-import org.apache.james.server.task.json.JsonTaskSerializer;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
class SingleMessageReindexingTaskSerializationTest {
-
private static final Instant TIMESTAMP = Instant.parse("2018-11-13T12:00:55Z");
private final TestId.Factory mailboxIdFactory = new TestId.Factory();
- private ReIndexerPerformer reIndexerPerformer;
- private JsonTaskSerializer taskSerializer;
private final String serializedMessageReindexingTask = "{\"type\": \"message-reindexing\", \"mailboxId\": \"1\", \"uid\": 10}";
- private final String SERIALIZED_ADDITIONAL_INFORMATION = "{\"type\": \"message-reindexing\", \"mailboxId\": \"1\", \"uid\": 10, \"timestamp\":\"2018-11-13T12:00:55Z\"}";
+ private final String serializedAdditionalInformation = "{\"type\": \"message-reindexing\", \"mailboxId\": \"1\", \"uid\": 10, \"timestamp\":\"2018-11-13T12:00:55Z\"}";
private final TestId mailboxId = TestId.of(1L);
private final MessageUid messageUid = MessageUid.of(10L);
- private JsonTaskAdditionalInformationSerializer jsonAdditionalInformationSerializer = JsonTaskAdditionalInformationSerializer.of(
- SingleMessageReindexingTaskAdditionalInformationDTO.serializationModule(mailboxIdFactory));
+
+ private SingleMessageReindexingTask.Factory factory;
+ private ReIndexerPerformer reIndexerPerformer;
@BeforeEach
void setUp() {
reIndexerPerformer = mock(ReIndexerPerformer.class);
- SingleMessageReindexingTask.Factory factory = new SingleMessageReindexingTask.Factory(reIndexerPerformer, mailboxIdFactory);
- taskSerializer = JsonTaskSerializer.of(SingleMessageReindexingTaskDTO.module(factory));
- }
-
- @Test
- void singleMessageReindexingShouldBeSerializable() throws JsonProcessingException {
- SingleMessageReindexingTask task = new SingleMessageReindexingTask(reIndexerPerformer, mailboxId, messageUid);
-
- assertThatJson(taskSerializer.serialize(task))
- .isEqualTo(serializedMessageReindexingTask);
+ factory = new SingleMessageReindexingTask.Factory(reIndexerPerformer, mailboxIdFactory);
}
@Test
- void singleMessageReindexingShouldBeDeserializable() throws IOException {
- SingleMessageReindexingTask task = new SingleMessageReindexingTask(reIndexerPerformer, mailboxId, messageUid);
-
- assertThat(taskSerializer.deserialize(serializedMessageReindexingTask))
- .isEqualToComparingOnlyGivenFields(task, "reIndexerPerformer", "mailboxId", "uid");
- }
-
- @Test
- void additionalInformationShouldBeSerializable() throws JsonProcessingException {
- SingleMessageReindexingTask.AdditionalInformation details = new SingleMessageReindexingTask.AdditionalInformation(mailboxId, messageUid, TIMESTAMP);
- assertThatJson(jsonAdditionalInformationSerializer.serialize(details)).isEqualTo(SERIALIZED_ADDITIONAL_INFORMATION);
+ void singleMessageReindexingShouldBeSerializable() throws Exception {
+ JsonSerializationVerifier.dtoModule(SingleMessageReindexingTaskDTO.module(factory))
+ .bean(new SingleMessageReindexingTask(reIndexerPerformer, mailboxId, messageUid))
+ .json(serializedMessageReindexingTask)
+ .verify();
}
@Test
- void additonalInformationShouldBeDeserializable() throws IOException {
+ void additionalInformationShouldBeSerializable() throws Exception {
SingleMessageReindexingTask.AdditionalInformation details = new SingleMessageReindexingTask.AdditionalInformation(mailboxId, messageUid, TIMESTAMP);
- assertThat(jsonAdditionalInformationSerializer.deserialize(SERIALIZED_ADDITIONAL_INFORMATION))
- .isEqualToComparingFieldByField(details);
+ JsonSerializationVerifier.dtoModule(SingleMessageReindexingTaskAdditionalInformationDTO.serializationModule(mailboxIdFactory))
+ .bean(details)
+ .json(serializedAdditionalInformation)
+ .verify();
}
}
diff --git a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/UserReindexingTaskSerializationTest.java b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/UserReindexingTaskSerializationTest.java
index ce2135a..39274b8 100644
--- a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/UserReindexingTaskSerializationTest.java
+++ b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/UserReindexingTaskSerializationTest.java
@@ -18,59 +18,42 @@
****************************************************************/
package org.apache.mailbox.tools.indexer;
-import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;
-import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
-import java.io.IOException;
import java.time.Instant;
-import java.util.List;
+import org.apache.james.JsonSerializationVerifier;
import org.apache.james.core.Username;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.indexer.ReIndexingExecutionFailures;
import org.apache.james.mailbox.model.TestId;
-import org.apache.james.server.task.json.JsonTaskAdditionalInformationSerializer;
-import org.apache.james.server.task.json.JsonTaskSerializer;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import com.fasterxml.jackson.core.JsonProcessingException;
import com.google.common.collect.ImmutableList;
class UserReindexingTaskSerializationTest {
-
private static final Instant TIMESTAMP = Instant.parse("2018-11-13T12:00:55Z");
+ private static final Username USERNAME = Username.of("foo@apache.org");
- private ReIndexerPerformer reIndexerPerformer;
- private JsonTaskSerializer taskSerializer;
- private JsonTaskAdditionalInformationSerializer jsonAdditionalInformationSerializer;
-
- private final Username username = Username.of("foo@apache.org");
private final int successfullyReprocessedMailCount = 42;
private final int failedReprocessedMailCount = 2;
- private ReIndexingExecutionFailures reIndexingExecutionFailures;
private final String serializedUserReindexingTask = "{\"type\": \"user-reindexing\", \"username\": \"foo@apache.org\"}";
-
- private final String SERIALIZED_ADDITIONAL_INFORMATION = "{\"type\": \"user-reindexing\", \"user\": \"foo@apache.org\", \"successfullyReprocessedMailCount\":42,\"failedReprocessedMailCount\":2,\"failures\":[{\"mailboxId\":\"1\",\"uids\":[10]},{\"mailboxId\":\"2\",\"uids\":[20]}], \"timestamp\":\"2018-11-13T12:00:55Z\"}";
+ private final String serializedAdditionalInformation = "{\"type\": \"user-reindexing\", \"user\": \"foo@apache.org\", \"successfullyReprocessedMailCount\":42,\"failedReprocessedMailCount\":2,\"failures\":[{\"mailboxId\":\"1\",\"uids\":[10]},{\"mailboxId\":\"2\",\"uids\":[20]}], \"timestamp\":\"2018-11-13T12:00:55Z\"}";
private final TestId mailboxId = TestId.of(1L);
private final MessageUid messageUid = MessageUid.of(10L);
- private final ReIndexingExecutionFailures.ReIndexingFailure indexingFailure = new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId, messageUid);
-
private final TestId mailboxId2 = TestId.of(2L);
private final MessageUid messageUid2 = MessageUid.of(20L);
- private final ReIndexingExecutionFailures.ReIndexingFailure indexingFailure2 = new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId2, messageUid2);
- private final List<ReIndexingExecutionFailures.ReIndexingFailure> failures = ImmutableList.of(indexingFailure, indexingFailure2);
+ private ReIndexerPerformer reIndexerPerformer;
+ private UserReindexingTask.Factory factory;
+ private ReIndexingExecutionFailures reIndexingExecutionFailures;
@BeforeEach
void setUp() {
reIndexerPerformer = mock(ReIndexerPerformer.class);
- UserReindexingTask.Factory factory = new UserReindexingTask.Factory(reIndexerPerformer);
- taskSerializer = JsonTaskSerializer.of(UserReindexingTaskDTO.module(factory));
- jsonAdditionalInformationSerializer = JsonTaskAdditionalInformationSerializer.of(
- UserReindexingTaskAdditionalInformationDTO.serializationModule(new TestId.Factory()));
+ factory = new UserReindexingTask.Factory(reIndexerPerformer);
reIndexingExecutionFailures = new ReIndexingExecutionFailures(ImmutableList.of(
new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId, messageUid),
@@ -78,35 +61,20 @@ class UserReindexingTaskSerializationTest {
}
@Test
- void userReindexingShouldBeSerializable() throws JsonProcessingException {
- Username username = Username.of("foo@apache.org");
- UserReindexingTask task = new UserReindexingTask(reIndexerPerformer, username);
-
- assertThatJson(taskSerializer.serialize(task))
- .isEqualTo(serializedUserReindexingTask);
- }
-
- @Test
- void userReindexingShouldBeDeserializable() throws IOException {
- Username username = Username.of("foo@apache.org");
- UserReindexingTask task = new UserReindexingTask(reIndexerPerformer, username);
-
- assertThat(taskSerializer.deserialize(serializedUserReindexingTask))
- .isEqualToComparingOnlyGivenFields(task, "reIndexerPerformer");
- }
-
-
- @Test
- void additionalInformationShouldBeSerializable() throws JsonProcessingException {
- UserReindexingTask.AdditionalInformation details = new UserReindexingTask.AdditionalInformation(username, successfullyReprocessedMailCount, failedReprocessedMailCount, reIndexingExecutionFailures, TIMESTAMP);
- assertThatJson(jsonAdditionalInformationSerializer.serialize(details)).isEqualTo(SERIALIZED_ADDITIONAL_INFORMATION);
+ void userReindexingShouldBeSerializable() throws Exception {
+ JsonSerializationVerifier.dtoModule(UserReindexingTaskDTO.module(factory))
+ .bean(new UserReindexingTask(reIndexerPerformer, USERNAME))
+ .json(serializedUserReindexingTask)
+ .verify();
}
@Test
- void additionalInformationShouldBeDeserializable() throws IOException {
- UserReindexingTask.AdditionalInformation details = new UserReindexingTask.AdditionalInformation(username, successfullyReprocessedMailCount, failedReprocessedMailCount, reIndexingExecutionFailures, TIMESTAMP);
- assertThat(jsonAdditionalInformationSerializer.deserialize(SERIALIZED_ADDITIONAL_INFORMATION))
- .isEqualToComparingFieldByField(details);
+ void additionalInformationShouldBeSerializable() throws Exception {
+ UserReindexingTask.AdditionalInformation details = new UserReindexingTask.AdditionalInformation(USERNAME, successfullyReprocessedMailCount, failedReprocessedMailCount, reIndexingExecutionFailures, TIMESTAMP);
+ JsonSerializationVerifier.dtoModule(UserReindexingTaskAdditionalInformationDTO.serializationModule(new TestId.Factory()))
+ .bean(details)
+ .json(serializedAdditionalInformation)
+ .verify();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org