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 743c265005db87b0dd9328e66e71e6b079d9971b Author: Benoit Tellier <btell...@linagora.com> AuthorDate: Wed Dec 18 15:42:23 2019 +0700 JAMES-2813 Cassandra tasks should use JsonSerializationVerifier --- mailbox/cassandra/pom.xml | 6 +++ ...ailboxPathV2MigrationTaskSerializationTest.java | 44 ++++++---------------- .../mail/task/MailboxMergingTaskTest.java | 38 ++++++------------- 3 files changed, 28 insertions(+), 60 deletions(-) diff --git a/mailbox/cassandra/pom.xml b/mailbox/cassandra/pom.xml index f245713..cb69ec4 100644 --- a/mailbox/cassandra/pom.xml +++ b/mailbox/cassandra/pom.xml @@ -78,6 +78,12 @@ </dependency> <dependency> <groupId>${james.groupId}</groupId> + <artifactId>james-json</artifactId> + <scope>test</scope> + <type>test-jar</type> + </dependency> + <dependency> + <groupId>${james.groupId}</groupId> <artifactId>james-server-task-api</artifactId> </dependency> <dependency> diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/MailboxPathV2MigrationTaskSerializationTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/MailboxPathV2MigrationTaskSerializationTest.java index 4012d94..bc28aea 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/MailboxPathV2MigrationTaskSerializationTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/MailboxPathV2MigrationTaskSerializationTest.java @@ -20,20 +20,13 @@ package org.apache.james.mailbox.cassandra.mail.migration; -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.server.task.json.JsonTaskAdditionalInformationSerializer; -import org.apache.james.server.task.json.JsonTaskSerializer; -import org.apache.james.task.TaskExecutionDetails; +import org.apache.james.JsonSerializationVerifier; import org.junit.jupiter.api.Test; -import com.fasterxml.jackson.core.JsonProcessingException; - class MailboxPathV2MigrationTaskSerializationTest { private static final Instant TIMESTAMP = Instant.parse("2018-11-13T12:00:55Z"); private static final MailboxPathV2Migration MIGRATION = mock(MailboxPathV2Migration.class); @@ -42,34 +35,19 @@ class MailboxPathV2MigrationTaskSerializationTest { private static final MailboxPathV2Migration.AdditionalInformation DETAILS = new MailboxPathV2Migration.AdditionalInformation(42L, 10, TIMESTAMP); private static final String SERIALIZED_ADDITIONAL_INFORMATION = "{\"type\": \"cassandra-mailbox-path-v2-migration\", \"remainingCount\":42,\"initialCount\":10, \"timestamp\":\"2018-11-13T12:00:55Z\"}"; - private static final JsonTaskSerializer TASK_SERIALIZER = JsonTaskSerializer.of(MailboxPathV2MigrationTaskDTO.MODULE.apply(MIGRATION)); - private static final JsonTaskAdditionalInformationSerializer JSON_TASK_ADDITIONAL_INFORMATION_SERIALIZER = JsonTaskAdditionalInformationSerializer.of(MailboxPathV2MigrationTaskAdditionalInformationDTO.MODULE); - - @Test - void taskShouldBeSerializable() throws JsonProcessingException { - assertThatJson(TASK_SERIALIZER.serialize(TASK)) - .isEqualTo(SERIALIZED_TASK); - } - - @Test - void taskShouldBeDeserializable() throws IOException { - assertThat(TASK_SERIALIZER.deserialize(SERIALIZED_TASK)) - .isEqualToComparingFieldByField(TASK); - } - @Test - void additionalInformationShouldBeSerializable() throws JsonProcessingException { - assertThatJson(JSON_TASK_ADDITIONAL_INFORMATION_SERIALIZER.serialize(DETAILS)).isEqualTo(SERIALIZED_ADDITIONAL_INFORMATION); + void taskShouldBeSerializable() throws Exception { + JsonSerializationVerifier.dtoModule(MailboxPathV2MigrationTaskDTO.MODULE.apply(MIGRATION)) + .bean(TASK) + .json(SERIALIZED_TASK) + .verify(); } @Test - void additionalInformationShouldBeDeserializable() throws IOException { - TaskExecutionDetails.AdditionalInformation deserialized = JSON_TASK_ADDITIONAL_INFORMATION_SERIALIZER.deserialize(SERIALIZED_ADDITIONAL_INFORMATION); - assertThat(deserialized).isInstanceOfSatisfying(MailboxPathV2Migration.AdditionalInformation.class, - additionalInformation -> { - assertThat(additionalInformation.getRemainingCount()).isEqualTo(DETAILS.getRemainingCount()); - assertThat(additionalInformation.getInitialCount()).isEqualTo(DETAILS.getInitialCount()); - } - ); + void additionalInformationShouldBeSerializable() throws Exception { + JsonSerializationVerifier.dtoModule(MailboxPathV2MigrationTaskAdditionalInformationDTO.MODULE) + .bean(DETAILS) + .json(SERIALIZED_ADDITIONAL_INFORMATION) + .verify(); } } diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/task/MailboxMergingTaskTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/task/MailboxMergingTaskTest.java index dabac7c..02e4b16 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/task/MailboxMergingTaskTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/task/MailboxMergingTaskTest.java @@ -19,21 +19,14 @@ package org.apache.james.mailbox.cassandra.mail.task; -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.cassandra.ids.CassandraId; -import org.apache.james.server.task.json.JsonTaskAdditionalInformationSerializer; -import org.apache.james.server.task.json.JsonTaskSerializer; import org.junit.jupiter.api.Test; -import com.fasterxml.jackson.core.JsonProcessingException; -import net.javacrumbs.jsonunit.assertj.JsonAssertions; - class MailboxMergingTaskTest { private static final Instant TIMESTAMP = Instant.parse("2018-11-13T12:00:55Z"); private static final CassandraId.Factory CASSANDRA_ID_FACTORY = new CassandraId.Factory(); @@ -42,29 +35,20 @@ class MailboxMergingTaskTest { private static final MailboxMergingTaskRunner TASK_RUNNER = mock(MailboxMergingTaskRunner.class); private static final MailboxMergingTask TASK = new MailboxMergingTask(TASK_RUNNER, 0L, CASSANDRA_ID_FACTORY.fromString("3b8e5f90-b94f-20f8-ce7b-3c4aad93b90c"), CASSANDRA_ID_FACTORY.fromString("2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd")); private static final MailboxMergingTask.Details DETAILS = new MailboxMergingTask.Details(CASSANDRA_ID_FACTORY.fromString("3b8e5f90-b94f-20f8-ce7b-3c4aad93b90c"), CASSANDRA_ID_FACTORY.fromString("2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd"), 10, 15, 20, TIMESTAMP); - private static final JsonTaskAdditionalInformationSerializer JSON_TASK_ADDITIONAL_INFORMATION_SERIALIZER = JsonTaskAdditionalInformationSerializer.of(MailboxMergingTaskAdditionalInformationDTO.SERIALIZATION_MODULE); - private static final JsonTaskSerializer TESTEE = JsonTaskSerializer.of(MailboxMergingTaskDTO.module(TASK_RUNNER)); - - @Test - void taskShouldBeSerializable() throws JsonProcessingException { - JsonAssertions.assertThatJson(TESTEE.serialize(TASK)) - .isEqualTo(SERIALIZED); - } - - @Test - void taskShouldBeDeserializable() throws IOException { - assertThat(TESTEE.deserialize(SERIALIZED)) - .isEqualToComparingFieldByFieldRecursively(TASK); - } @Test - void additionalInformationShouldBeSerializable() throws JsonProcessingException { - assertThatJson(JSON_TASK_ADDITIONAL_INFORMATION_SERIALIZER.serialize(DETAILS)).isEqualTo(SERIALIZED_ADDITIONAL_INFORMATION); + void taskShouldBeSerializable() throws Exception { + JsonSerializationVerifier.dtoModule(MailboxMergingTaskDTO.module(TASK_RUNNER)) + .bean(TASK) + .json(SERIALIZED) + .verify(); } @Test - void additonalInformationShouldBeDeserializable() throws IOException { - assertThat(JSON_TASK_ADDITIONAL_INFORMATION_SERIALIZER.deserialize(SERIALIZED_ADDITIONAL_INFORMATION)) - .isEqualToComparingFieldByField(DETAILS); + void additionalInformationShouldBeSerializable() throws Exception { + JsonSerializationVerifier.dtoModule(MailboxMergingTaskAdditionalInformationDTO.SERIALIZATION_MODULE) + .bean(DETAILS) + .json(SERIALIZED_ADDITIONAL_INFORMATION) + .verify(); } } \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org