This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 19204325a8f5d09df00658d2f28d6608c7e39810 Author: Rémi Kowalski <rkowal...@linagora.com> AuthorDate: Thu Sep 19 09:37:26 2019 +0200 JAMES-2813 add tests to serialize ErrorRecoveryIndexationTask additionalInformation --- ...rorRecoveryIndexationTaskSerializationTest.java | 34 +++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) 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 2103682..e1cca2a 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 @@ -28,6 +28,7 @@ import java.util.List; 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.JsonTaskAdditionalInformationsSerializer; import org.apache.james.server.task.json.JsonTaskSerializer; import org.apache.james.task.Task; import org.junit.jupiter.api.BeforeEach; @@ -38,10 +39,18 @@ import com.google.common.collect.ImmutableList; class ErrorRecoveryIndexationTaskSerializationTest { + private final TestId.Factory mailboxIdFactory = new TestId.Factory(); private ReIndexerPerformer reIndexerPerformer; private JsonTaskSerializer taskSerializer; + private JsonTaskAdditionalInformationsSerializer jsonAdditionalInformationSerializer; + + private final int successfullyReprocessedMailCount = 42; + private final int failedReprocessedMailCount = 2; + private ReIndexingExecutionFailures reIndexingExecutionFailures; + private final String serializedErrorRecoveryReindexingTask = "{\"type\": \"ErrorRecoveryIndexation\"," + " \"previousFailures\" : [{\"mailboxId\":\"1\",\"uids\":[10]},{\"mailboxId\":\"2\",\"uids\":[20]}]}"; + private final String SERIALIZED_ADDITIONAL_INFORMATION = "{\"successfullyReprocessedMailCount\":42,\"failedReprocessedMailCount\":2,\"failures\":[{\"mailboxId\":\"1\",\"uids\":[10]},{\"mailboxId\":\"2\",\"uids\":[20]}]}"; private final TestId mailboxId = TestId.of(1L); private final MessageUid messageUid = MessageUid.of(10L); @@ -57,8 +66,18 @@ class ErrorRecoveryIndexationTaskSerializationTest { @BeforeEach void setUp() { reIndexerPerformer = mock(ReIndexerPerformer.class); - ErrorRecoveryIndexationTask.Factory factory = new ErrorRecoveryIndexationTask.Factory(reIndexerPerformer, new TestId.Factory()); + ErrorRecoveryIndexationTask.Factory factory = new ErrorRecoveryIndexationTask.Factory(reIndexerPerformer, mailboxIdFactory); taskSerializer = new JsonTaskSerializer(ErrorRecoveryIndexationTaskDTO.MODULE.apply(factory)); + + jsonAdditionalInformationSerializer = new JsonTaskAdditionalInformationsSerializer( + ReprocessingContextInformationDTO + .SERIALIZATION_MODULE + .apply(ErrorRecoveryIndexationTask.PREVIOUS_FAILURES_INDEXING) + .apply(mailboxIdFactory)); + + reIndexingExecutionFailures = new ReIndexingExecutionFailures(ImmutableList.of( + new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId, messageUid), + new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId2, messageUid2))); } @Test @@ -79,5 +98,18 @@ class ErrorRecoveryIndexationTaskSerializationTest { .isEqualToComparingOnlyGivenFields(task, "reIndexerPerformer", "previousFailures"); } + @Test + void additionalInformationShouldBeSerializable() throws JsonProcessingException { + ReprocessingContextInformation details = new ReprocessingContextInformation(successfullyReprocessedMailCount, failedReprocessedMailCount, reIndexingExecutionFailures); + assertThatJson(jsonAdditionalInformationSerializer.serialize(details)).isEqualTo(SERIALIZED_ADDITIONAL_INFORMATION); + } + + @Test + void additonalInformationShouldBeDeserializable() throws IOException { + ReprocessingContextInformation details = new ReprocessingContextInformation(successfullyReprocessedMailCount, failedReprocessedMailCount, reIndexingExecutionFailures); + assertThat(jsonAdditionalInformationSerializer.deserialize("ErrorRecoveryIndexation", SERIALIZED_ADDITIONAL_INFORMATION)) + .isEqualToComparingFieldByField(details); + } + } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org