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 5b4a0195d664f72931fc270ca97f0ac7592de7a5 Author: Rémi Kowalski <rkowal...@linagora.com> AuthorDate: Thu Sep 19 14:21:19 2019 +0200 JAMES-2813 serialize FullReindexing task additional informations tests --- .../FullReindexingTaskSerializationTest.java | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) 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 9c3a418..18659da 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 @@ -24,23 +24,50 @@ import static org.mockito.Mockito.mock; import java.io.IOException; +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.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 ReIndexerPerformer reIndexerPerformer; private JsonTaskSerializer taskSerializer; + private JsonTaskAdditionalInformationsSerializer jsonAdditionalInformationSerializer; + + private final TestId mailboxId2 = TestId.of(2L); + private final MessageUid messageUid2 = MessageUid.of(20L); + private final TestId mailboxId = TestId.of(1L); + private final MessageUid messageUid = MessageUid.of(10L); + + private final int successfullyReprocessedMailCount = 42; + private final int failedReprocessedMailCount = 2; + private ReIndexingExecutionFailures reIndexingExecutionFailures; + private final String serializedFullReindexingTask = "{\"type\": \"FullReIndexing\"}"; + private final String SERIALIZED_ADDITIONAL_INFORMATION = "{\"successfullyReprocessedMailCount\":42,\"failedReprocessedMailCount\":2,\"failures\":[{\"mailboxId\":\"1\",\"uids\":[10]},{\"mailboxId\":\"2\",\"uids\":[20]}]}"; @BeforeEach void setUp() { reIndexerPerformer = mock(ReIndexerPerformer.class); FullReindexingTask.Factory factory = new FullReindexingTask.Factory(reIndexerPerformer); taskSerializer = new JsonTaskSerializer(FullReindexingTask.MODULE.apply(factory)); + + jsonAdditionalInformationSerializer = new JsonTaskAdditionalInformationsSerializer( + ReprocessingContextInformationDTO + .SERIALIZATION_MODULE + .apply(FullReindexingTask.FULL_RE_INDEXING) + .apply(new TestId.Factory())); + + reIndexingExecutionFailures = new ReIndexingExecutionFailures(ImmutableList.of( + new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId, messageUid), + new ReIndexingExecutionFailures.ReIndexingFailure(mailboxId2, messageUid2))); } @Test @@ -58,5 +85,19 @@ class FullReindexingTaskSerializationTest { assertThat(taskSerializer.deserialize(serializedFullReindexingTask)) .isEqualToComparingOnlyGivenFields(task, "reIndexerPerformer"); } + + @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("FullReIndexing", 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