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 ro...@apache.org on 2019/08/28 07:28:39 UTC
[james-project] 08/09: JAMES-2813 Add parameterized tests in
TaskSerializationTest
This is an automated email from the ASF dual-hosted git repository.
rouazana pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 4134cfe6ee8ecb8d38affd572e30bfda8f5ce3c1
Author: Gautier DI FOLCO <gd...@linagora.com>
AuthorDate: Thu Aug 22 14:21:10 2019 +0200
JAMES-2813 Add parameterized tests in TaskSerializationTest
---
server/task-json/pom.xml | 5 ++
.../server/task/json/TaskSerializationTest.java | 69 ++++++++++------------
2 files changed, 37 insertions(+), 37 deletions(-)
diff --git a/server/task-json/pom.xml b/server/task-json/pom.xml
index 5f88cb0..bcae769 100644
--- a/server/task-json/pom.xml
+++ b/server/task-json/pom.xml
@@ -77,6 +77,11 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-params</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<scope>test</scope>
diff --git a/server/task-json/src/test/java/org/apache/james/server/task/json/TaskSerializationTest.java b/server/task-json/src/test/java/org/apache/james/server/task/json/TaskSerializationTest.java
index 67d89d0..85205ad 100644
--- a/server/task-json/src/test/java/org/apache/james/server/task/json/TaskSerializationTest.java
+++ b/server/task-json/src/test/java/org/apache/james/server/task/json/TaskSerializationTest.java
@@ -19,56 +19,63 @@ package org.apache.james.server.task.json;
import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;
import static org.apache.james.server.task.json.dto.TestTaskDTOModules.COMPLETED_TASK_MODULE;
-import static org.apache.james.server.task.json.dto.TestTaskDTOModules.MEMORY_REFERENCE_TASK_MODULE;
import static org.apache.james.server.task.json.dto.TestTaskDTOModules.FAILED_TASK_MODULE;
+import static org.apache.james.server.task.json.dto.TestTaskDTOModules.MEMORY_REFERENCE_TASK_MODULE;
import static org.apache.james.server.task.json.dto.TestTaskDTOModules.THROWING_TASK_MODULE;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.IOException;
+import java.util.stream.Stream;
import org.apache.james.server.task.json.dto.MemoryReferenceTaskStore;
+import org.apache.james.server.task.json.dto.TaskDTOModule;
import org.apache.james.task.CompletedTask;
import org.apache.james.task.FailedTask;
import org.apache.james.task.MemoryReferenceTask;
import org.apache.james.task.Task;
import org.apache.james.task.ThrowingTask;
-import org.junit.jupiter.api.Test;
import com.fasterxml.jackson.core.JsonProcessingException;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
class TaskSerializationTest {
- private static final String SERIALIZED_FAILED_TASK = "{\"type\": \"failed-task\"}";
private static final String SERIALIZED_COMPLETED_TASK = "{\"type\": \"completed-task\"}";
+ private static final String SERIALIZED_FAILED_TASK = "{\"type\": \"failed-task\"}";
private static final String SERIALIZED_MEMORY_REFERENCE_TASK = "{\"type\": \"memory-reference-task\", \"reference\": 0}";
private static final String SERIALIZED_THROWING_TASK = "{\"type\": \"throwing-task\"}";
- @Test
- void failedTaskShouldSerialize() throws JsonProcessingException {
- FailedTask failedTask = new FailedTask();
-
- String actual = new JsonTaskSerializer(FAILED_TASK_MODULE).serialize(failedTask);
- assertThatJson(actual).isEqualTo(SERIALIZED_FAILED_TASK);
+ @ParameterizedTest
+ @MethodSource
+ void taskShouldBeSerializable(Task task, TaskDTOModule<?, ?> module, String expectedJson) throws Exception {
+ String actual = new JsonTaskSerializer(module).serialize(task);
+ assertThatJson(actual).isEqualTo(expectedJson);
}
- @Test
- void failedTaskShouldDeserialize() throws IOException {
- Task task = new JsonTaskSerializer(FAILED_TASK_MODULE).deserialize(SERIALIZED_FAILED_TASK);
- assertThat(task).isInstanceOf(FailedTask.class);
+ private static Stream<Arguments> taskShouldBeSerializable() throws Exception {
+ return validTasks();
}
- @Test
- void completedTaskShouldSerialize() throws JsonProcessingException {
- CompletedTask completedTask = new CompletedTask();
+ @ParameterizedTest
+ @MethodSource
+ void taskShouldBeDeserializable(Task task, TaskDTOModule<?, ?> module, String serializedJson) throws Exception {
+ assertThat(new JsonTaskSerializer(module).deserialize(serializedJson))
+ .isInstanceOf(task.getClass());
+ }
- String actual = new JsonTaskSerializer(COMPLETED_TASK_MODULE).serialize(completedTask);
- assertThatJson(actual).isEqualTo(SERIALIZED_COMPLETED_TASK);
+ private static Stream<Arguments> taskShouldBeDeserializable() throws Exception {
+ return validTasks();
}
- @Test
- void completedTaskShouldDeserialize() throws IOException {
- Task task = new JsonTaskSerializer(COMPLETED_TASK_MODULE).deserialize(SERIALIZED_COMPLETED_TASK);
- assertThat(task).isInstanceOf(CompletedTask.class);
+ private static Stream<Arguments> validTasks() throws Exception {
+ return Stream.of(
+ Arguments.of(new CompletedTask(), COMPLETED_TASK_MODULE, SERIALIZED_COMPLETED_TASK),
+ Arguments.of(new FailedTask(), FAILED_TASK_MODULE, SERIALIZED_FAILED_TASK),
+ Arguments.of(new ThrowingTask(), THROWING_TASK_MODULE, SERIALIZED_THROWING_TASK)
+ );
}
@Test
@@ -82,22 +89,10 @@ class TaskSerializationTest {
@Test
void memoryReferenceTaskShouldDeserialize() throws IOException {
MemoryReferenceTaskStore memoryReferenceTaskStore = new MemoryReferenceTaskStore();
- memoryReferenceTaskStore.add(new MemoryReferenceTask(() -> Task.Result.COMPLETED));
+ MemoryReferenceTask memoryReferenceTask = new MemoryReferenceTask(() -> Task.Result.COMPLETED);
+ memoryReferenceTaskStore.add(memoryReferenceTask);
+
Task task = new JsonTaskSerializer(MEMORY_REFERENCE_TASK_MODULE.apply(memoryReferenceTaskStore)).deserialize(SERIALIZED_MEMORY_REFERENCE_TASK);
assertThat(task).isInstanceOf(MemoryReferenceTask.class);
}
-
- @Test
- void throwingTaskShouldSerialize() throws JsonProcessingException {
- ThrowingTask throwingTask = new ThrowingTask();
-
- String actual = new JsonTaskSerializer(THROWING_TASK_MODULE).serialize(throwingTask);
- assertThatJson(actual).isEqualTo(SERIALIZED_THROWING_TASK);
- }
-
- @Test
- void throwingTaskShouldDeserialize() throws IOException {
- Task task = new JsonTaskSerializer(THROWING_TASK_MODULE).deserialize(SERIALIZED_THROWING_TASK);
- assertThat(task).isInstanceOf(ThrowingTask.class);
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org