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 2a557c122e66b51f5145b17163c54b78ccad4897 Author: Benoit Tellier <btell...@linagora.com> AuthorDate: Wed Dec 18 16:54:23 2019 +0700 JAMES-2993 Use JsonSerializationVerifier for JMAP filtering event DTO tests --- server/data/data-jmap-cassandra/pom.xml | 6 ++ .../james/jmap/cassandra/filtering/DTOTest.java | 84 ++++------------------ 2 files changed, 21 insertions(+), 69 deletions(-) diff --git a/server/data/data-jmap-cassandra/pom.xml b/server/data/data-jmap-cassandra/pom.xml index e0162ff..0c2a413 100644 --- a/server/data/data-jmap-cassandra/pom.xml +++ b/server/data/data-jmap-cassandra/pom.xml @@ -66,6 +66,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-data-jmap</artifactId> </dependency> <dependency> diff --git a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/DTOTest.java b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/DTOTest.java index a3e4d29..0d432d2 100644 --- a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/DTOTest.java +++ b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/DTOTest.java @@ -19,101 +19,47 @@ package org.apache.james.jmap.cassandra.filtering; -import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson; import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_1; import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_2; import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_FROM; import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_RECIPIENT; import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_SUBJECT; import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_TO; -import static org.assertj.core.api.Assertions.assertThat; +import static org.apache.james.jmap.cassandra.filtering.FilteringRuleSetDefineDTOModules.FILTERING_RULE_SET_DEFINED; +import org.apache.james.JsonSerializationVerifier; import org.apache.james.core.Username; import org.apache.james.eventsourcing.EventId; import org.apache.james.jmap.api.filtering.impl.FilteringAggregateId; import org.apache.james.jmap.api.filtering.impl.RuleSetDefined; import org.apache.james.util.ClassLoaderUtils; - -import com.fasterxml.jackson.databind.jsontype.NamedType; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.datatype.guava.GuavaModule; -import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; import com.google.common.collect.ImmutableList; -public class DTOTest { +class DTOTest { static final String EVENT_JSON = ClassLoaderUtils.getSystemResourceAsString("json/event.json"); static final String EVENT_EMPTY_JSON = ClassLoaderUtils.getSystemResourceAsString("json/eventEmpty.json"); static final String EVENT_COMPLEX_JSON = ClassLoaderUtils.getSystemResourceAsString("json/eventComplex.json"); - static final FilteringRuleSetDefinedDTO SIMPLE_DTO = FilteringRuleSetDefinedDTO.from( - new RuleSetDefined( + static final RuleSetDefined SIMPLE_RULE = new RuleSetDefined( new FilteringAggregateId(Username.of("Bart")), EventId.first(), - ImmutableList.of(RULE_1, RULE_2))); - static final FilteringRuleSetDefinedDTO EMPTY_DTO = FilteringRuleSetDefinedDTO.from( - new RuleSetDefined( + ImmutableList.of(RULE_1, RULE_2)); + static final RuleSetDefined EMPTY_RULE = new RuleSetDefined( new FilteringAggregateId(Username.of("Bart")), EventId.first(), - ImmutableList.of())); - static final FilteringRuleSetDefinedDTO COMPLEX_DTO = FilteringRuleSetDefinedDTO.from( - new RuleSetDefined( + ImmutableList.of()); + static final RuleSetDefined COMPLEX_RULE = new RuleSetDefined( new FilteringAggregateId(Username.of("Bart")), EventId.first(), - ImmutableList.of(RULE_FROM, RULE_RECIPIENT, RULE_SUBJECT, RULE_TO))); - - private ObjectMapper objectMapper; - - @BeforeEach - void setUp() { - objectMapper = new ObjectMapper(); - objectMapper.registerModule(new Jdk8Module()); - objectMapper.registerModule(new GuavaModule()); - objectMapper.registerSubtypes( - new NamedType(FilteringRuleSetDefinedDTO.class, "filtering-rule-set-defined")); - - } - - @Test - void shouldSerializeDTO() throws Exception { - String serializedEvent = objectMapper.writeValueAsString(SIMPLE_DTO); - - assertThatJson(serializedEvent).isEqualTo(EVENT_JSON); - } - - @Test - void shouldDeserializeDTO() throws Exception { - FilteringRuleSetDefinedDTO dto = objectMapper.readValue(EVENT_JSON, FilteringRuleSetDefinedDTO.class); - - assertThat(dto).isEqualTo(SIMPLE_DTO); - } + ImmutableList.of(RULE_FROM, RULE_RECIPIENT, RULE_SUBJECT, RULE_TO)); @Test - void shouldSerializeEmptyDTO() throws Exception { - String serializedEvent = objectMapper.writeValueAsString(EMPTY_DTO); - - assertThatJson(serializedEvent).isEqualTo(EVENT_EMPTY_JSON); - } - - @Test - void shouldDeserializeEmptyDTO() throws Exception { - FilteringRuleSetDefinedDTO dto = objectMapper.readValue(EVENT_EMPTY_JSON, FilteringRuleSetDefinedDTO.class); - - assertThat(dto).isEqualTo(EMPTY_DTO); - } - - @Test - void shouldSerializeComplexDTO() throws Exception { - String serializedEvent = objectMapper.writeValueAsString(COMPLEX_DTO); - - assertThatJson(serializedEvent).isEqualTo(EVENT_COMPLEX_JSON); - } - - @Test - void shouldDeserializeComplexDTO() throws Exception { - FilteringRuleSetDefinedDTO dto = objectMapper.readValue(EVENT_COMPLEX_JSON, FilteringRuleSetDefinedDTO.class); - - assertThat(dto).isEqualTo(COMPLEX_DTO); + void shouldSerializeRule() throws Exception { + JsonSerializationVerifier.dtoModule(FILTERING_RULE_SET_DEFINED) + .bean(EMPTY_RULE).json(EVENT_EMPTY_JSON) + .bean(SIMPLE_RULE).json(EVENT_JSON) + .bean(COMPLEX_RULE).json(EVENT_COMPLEX_JSON) + .verify(); } } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org