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:49 UTC

[james-project] 05/15: JAMES-2993 Add a JsonSerializationVerifier::testCase method

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 984467a8e43e6623b81a0dcbc50ae8753239baf0
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Dec 19 09:23:03 2019 +0700

    JAMES-2993 Add a JsonSerializationVerifier::testCase method
---
 .../apache/james/JsonSerializationVerifier.java    |  4 ++
 .../james/mailbox/quota/cassandra/dto/DTOTest.java |  8 ++--
 .../james/jmap/cassandra/filtering/DTOTest.java    |  6 +--
 .../distributed/TaskEventsSerializationTest.java   | 48 +++++++++++-----------
 4 files changed, 35 insertions(+), 31 deletions(-)

diff --git a/json/src/test/java/org/apache/james/JsonSerializationVerifier.java b/json/src/test/java/org/apache/james/JsonSerializationVerifier.java
index a842ca9..7de4bfd 100644
--- a/json/src/test/java/org/apache/james/JsonSerializationVerifier.java
+++ b/json/src/test/java/org/apache/james/JsonSerializationVerifier.java
@@ -68,6 +68,10 @@ public class JsonSerializationVerifier<T, U extends DTO> {
                 .build());
     }
 
+    public JsonSerializationVerifier<T, U> testCase(T bean, String json) {
+        return bean(bean).json(json);
+    }
+
     public void verify() throws IOException {
         testValues.forEach(Throwing.<Pair<String, T>>consumer(this::verify).sneakyThrow());
     }
diff --git a/mailbox/plugin/quota-mailing-cassandra/src/test/java/org/apache/james/mailbox/quota/cassandra/dto/DTOTest.java b/mailbox/plugin/quota-mailing-cassandra/src/test/java/org/apache/james/mailbox/quota/cassandra/dto/DTOTest.java
index 98b4292..2673f28 100644
--- a/mailbox/plugin/quota-mailing-cassandra/src/test/java/org/apache/james/mailbox/quota/cassandra/dto/DTOTest.java
+++ b/mailbox/plugin/quota-mailing-cassandra/src/test/java/org/apache/james/mailbox/quota/cassandra/dto/DTOTest.java
@@ -138,10 +138,10 @@ class DTOTest {
     @Test
     void shouldSerializeQuotaThresholdChangedEvent() throws Exception {
         JsonSerializationVerifier.dtoModule(QUOTA_THRESHOLD_CHANGE)
-            .bean(EVENT).json(EVENT_JSON)
-            .bean(EVENT_2).json(EVENT_JSON_2)
-            .bean(EVENT_3).json(EVENT_JSON_3)
-            .bean(EVENT_4).json(EVENT_JSON_4)
+            .testCase(EVENT, EVENT_JSON)
+            .testCase(EVENT_2, EVENT_JSON_2)
+            .testCase(EVENT_3, EVENT_JSON_3)
+            .testCase(EVENT_4, EVENT_JSON_4)
             .verify();
     }
 }
\ No newline at end of file
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 0d432d2..452f59d 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
@@ -57,9 +57,9 @@ class DTOTest {
     @Test
     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)
+            .testCase(EMPTY_RULE, EVENT_EMPTY_JSON)
+            .testCase(SIMPLE_RULE, EVENT_JSON)
+            .testCase(COMPLEX_RULE, EVENT_COMPLEX_JSON)
             .verify();
     }
 }
diff --git a/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/TaskEventsSerializationTest.java b/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/TaskEventsSerializationTest.java
index 8246466..e7cb068 100644
--- a/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/TaskEventsSerializationTest.java
+++ b/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/TaskEventsSerializationTest.java
@@ -74,30 +74,30 @@ class TaskEventsSerializationTest {
             .withNestedTypeModules(
                 MemoryReferenceWithCounterTaskAdditionalInformationDTO.SERIALIZATION_MODULE,
                 TestTaskDTOModules.COMPLETED_TASK_MODULE))
-            .bean(new Created(AGGREGATE_ID, EVENT_ID, TASK, HOSTNAME))
-                .json("{\"task\":{\"type\":\"completed-task\"},\"type\":\"task-manager-created\",\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"hostname\":\"foo\"}")
-            .bean(new Started(AGGREGATE_ID, EVENT_ID, HOSTNAME))
-                .json("{\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-started\",\"hostname\":\"foo\"}")
-            .bean(new CancelRequested(AGGREGATE_ID, EVENT_ID, HOSTNAME))
-                .json("{\"type\":\"task-manager-cancel-requested\",\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"hostname\":\"foo\"}")
-            .bean(new Completed(AGGREGATE_ID, EVENT_ID, Task.Result.COMPLETED, Option.empty()))
-                .json("{\"result\":\"COMPLETED\",\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-completed\"}")
-            .bean(new Completed(AGGREGATE_ID, EVENT_ID, Task.Result.PARTIAL, Option.empty()))
-                .json("{\"result\":\"PARTIAL\",\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-completed\"}")
-            .bean(new Failed(AGGREGATE_ID, EVENT_ID, Option.empty(), Option.empty(), Option.empty()))
-                .json("{\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-failed\"}")
-            .bean(new Failed(AGGREGATE_ID, EVENT_ID, Option.empty(), Option.apply("contextual message"), Option.apply("my exception")))
-                .json("{\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-failed\", \"errorMessage\": \"contextual message\", \"exception\": \"my exception\"}")
-            .bean(new Cancelled(AGGREGATE_ID, EVENT_ID, Option.empty()))
-                .json("{\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-cancelled\"}")
-            .bean(new Completed(AGGREGATE_ID, EVENT_ID, Task.Result.COMPLETED, Option.apply(COUNTER_ADDITIONAL_INFORMATION)))
-                .json("{\"result\":\"COMPLETED\",\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-completed\",\"additionalInformation\":{\"type\":\"memory-reference-task-with-counter\",\"count\":3,\"timestamp\":\"2018-11-13T12:00:55Z\"}}")
-            .bean(new Completed(AGGREGATE_ID, EVENT_ID, Task.Result.PARTIAL, Option.apply(COUNTER_ADDITIONAL_INFORMATION)))
-                .json("{\"result\":\"PARTIAL\",\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-completed\",\"additionalInformation\":{\"type\":\"memory-reference-task-with-counter\",\"count\":3,\"timestamp\":\"2018-11-13T12:00:55Z\"}}")
-            .bean(new Failed(AGGREGATE_ID, EVENT_ID, Option.apply(COUNTER_ADDITIONAL_INFORMATION), Option.empty(), Option.empty()))
-                .json("{\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-failed\",\"additionalInformation\":{\"type\":\"memory-reference-task-with-counter\",\"count\":3,\"timestamp\":\"2018-11-13T12:00:55Z\"}}")
-            .bean(new Cancelled(AGGREGATE_ID, EVENT_ID, Option.apply(COUNTER_ADDITIONAL_INFORMATION)))
-                .json("{\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-cancelled\",\"additionalInformation\":{\"type\":\"memory-reference-task-with-counter\",\"count\":3,\"timestamp\":\"2018-11-13T12:00:55Z\"}}")
+            .testCase(new Created(AGGREGATE_ID, EVENT_ID, TASK, HOSTNAME),
+                "{\"task\":{\"type\":\"completed-task\"},\"type\":\"task-manager-created\",\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"hostname\":\"foo\"}")
+            .testCase(new Started(AGGREGATE_ID, EVENT_ID, HOSTNAME),
+                "{\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-started\",\"hostname\":\"foo\"}")
+            .testCase(new CancelRequested(AGGREGATE_ID, EVENT_ID, HOSTNAME),
+                "{\"type\":\"task-manager-cancel-requested\",\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"hostname\":\"foo\"}")
+            .testCase(new Completed(AGGREGATE_ID, EVENT_ID, Task.Result.COMPLETED, Option.empty()),
+                "{\"result\":\"COMPLETED\",\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-completed\"}")
+            .testCase(new Completed(AGGREGATE_ID, EVENT_ID, Task.Result.PARTIAL, Option.empty()),
+                "{\"result\":\"PARTIAL\",\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-completed\"}")
+            .testCase(new Failed(AGGREGATE_ID, EVENT_ID, Option.empty(), Option.empty(), Option.empty()),
+                "{\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-failed\"}")
+            .testCase(new Failed(AGGREGATE_ID, EVENT_ID, Option.empty(), Option.apply("contextual message"), Option.apply("my exception")),
+                "{\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-failed\", \"errorMessage\": \"contextual message\", \"exception\": \"my exception\"}")
+            .testCase(new Cancelled(AGGREGATE_ID, EVENT_ID, Option.empty()),
+                "{\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-cancelled\"}")
+            .testCase(new Completed(AGGREGATE_ID, EVENT_ID, Task.Result.COMPLETED, Option.apply(COUNTER_ADDITIONAL_INFORMATION)),
+                "{\"result\":\"COMPLETED\",\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-completed\",\"additionalInformation\":{\"type\":\"memory-reference-task-with-counter\",\"count\":3,\"timestamp\":\"2018-11-13T12:00:55Z\"}}")
+            .testCase(new Completed(AGGREGATE_ID, EVENT_ID, Task.Result.PARTIAL, Option.apply(COUNTER_ADDITIONAL_INFORMATION)),
+                "{\"result\":\"PARTIAL\",\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-completed\",\"additionalInformation\":{\"type\":\"memory-reference-task-with-counter\",\"count\":3,\"timestamp\":\"2018-11-13T12:00:55Z\"}}")
+            .testCase(new Failed(AGGREGATE_ID, EVENT_ID, Option.apply(COUNTER_ADDITIONAL_INFORMATION), Option.empty(), Option.empty()),
+                "{\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-failed\",\"additionalInformation\":{\"type\":\"memory-reference-task-with-counter\",\"count\":3,\"timestamp\":\"2018-11-13T12:00:55Z\"}}")
+            .testCase(new Cancelled(AGGREGATE_ID, EVENT_ID, Option.apply(COUNTER_ADDITIONAL_INFORMATION)),
+                "{\"aggregate\":\"2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd\",\"event\":42,\"type\":\"task-manager-cancelled\",\"additionalInformation\":{\"type\":\"memory-reference-task-with-counter\",\"count\":3,\"timestamp\":\"2018-11-13T12:00:55Z\"}}")
             .verify();
     }
 }
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org