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 bt...@apache.org on 2019/12/17 01:55:40 UTC
[james-project] 19/24: JAMES-3006 TaskIdDTO should not be
responsible of its response encoding
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 b81e633174d2d1c00b1ad1d7be1d39821e7ba664
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Dec 12 10:54:56 2019 +0100
JAMES-3006 TaskIdDTO should not be responsible of its response encoding
---
.../apache/james/webadmin/tasks/TaskGenerator.java | 10 ++++++++--
.../org/apache/james/webadmin/tasks/TaskIdDto.java | 16 +---------------
.../{TaskIdDtoTest.java => TaskGeneratorTest.java} | 22 +++++++++++++++-------
3 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/tasks/TaskGenerator.java b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/tasks/TaskGenerator.java
index 8cd139b..913e742 100644
--- a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/tasks/TaskGenerator.java
+++ b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/tasks/TaskGenerator.java
@@ -19,9 +19,13 @@
package org.apache.james.webadmin.tasks;
+import static org.eclipse.jetty.http.HttpHeader.LOCATION;
+
import org.apache.james.task.Task;
import org.apache.james.task.TaskId;
import org.apache.james.task.TaskManager;
+import org.apache.james.webadmin.routes.TasksRoutes;
+import org.eclipse.jetty.http.HttpStatus;
import spark.Request;
import spark.Response;
@@ -38,10 +42,12 @@ public interface TaskGenerator {
}
@Override
- public Object handle(Request request, Response response) throws Exception {
+ public TaskIdDto handle(Request request, Response response) throws Exception {
Task task = taskGenerator.generate(request);
TaskId taskId = taskManager.submit(task);
- return TaskIdDto.respond(response, taskId);
+ response.status(HttpStatus.CREATED_201);
+ response.header(LOCATION.asString(), TasksRoutes.BASE + "/" + taskId.asString());
+ return new TaskIdDto(taskId.getValue());
}
}
diff --git a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/tasks/TaskIdDto.java b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/tasks/TaskIdDto.java
index ab8a1b2..074ec87 100644
--- a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/tasks/TaskIdDto.java
+++ b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/tasks/TaskIdDto.java
@@ -19,26 +19,12 @@
package org.apache.james.webadmin.tasks;
-import static org.eclipse.jetty.http.HttpHeader.LOCATION;
-
import java.util.UUID;
-import org.apache.james.task.TaskId;
-import org.apache.james.webadmin.routes.TasksRoutes;
-import org.eclipse.jetty.http.HttpStatus;
-
-import spark.Response;
-
public class TaskIdDto {
- static TaskIdDto respond(Response response, TaskId taskId) {
- response.status(HttpStatus.CREATED_201);
- response.header(LOCATION.asString(), TasksRoutes.BASE + "/" + taskId.asString());
- return new TaskIdDto(taskId.getValue());
- }
-
private final UUID uuid;
- private TaskIdDto(UUID uuid) {
+ TaskIdDto(UUID uuid) {
this.uuid = uuid;
}
diff --git a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/tasks/TaskIdDtoTest.java b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/tasks/TaskGeneratorTest.java
similarity index 71%
rename from server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/tasks/TaskIdDtoTest.java
rename to server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/tasks/TaskGeneratorTest.java
index 1e41f5e..a7995b8 100644
--- a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/tasks/TaskIdDtoTest.java
+++ b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/tasks/TaskGeneratorTest.java
@@ -23,26 +23,34 @@ import static org.eclipse.jetty.http.HttpHeader.LOCATION;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+import org.apache.james.task.Task;
import org.apache.james.task.TaskId;
+import org.apache.james.task.TaskManager;
import org.eclipse.jetty.http.HttpStatus;
import org.junit.Test;
+import spark.Request;
import spark.Response;
-public class TaskIdDtoTest {
- private static final String UID_VALUE = "ce5316cb-c924-40eb-9ca0-c5828e276297";
+public class TaskGeneratorTest {
+ static final Task TASK = mock(Task.class);
+ static final String UUID_VALUE = "ce5316cb-c924-40eb-9ca0-c5828e276297";
@Test
- public void respondShouldReturnCreatedWithTaskIdHeader() {
+ public void handleShouldReturnCreatedWithTaskIdHeader() throws Exception {
+ Request request = mock(Request.class);
Response response = mock(Response.class);
- TaskId taskId = TaskId.fromString(UID_VALUE);
- TaskIdDto.respond(response, taskId);
+ TaskGenerator taskGenerator = any -> TASK;
+ TaskManager taskManager = mock(TaskManager.class);
+ when(taskManager.submit(TASK)).thenReturn(TaskId.fromString(UUID_VALUE));
+
+ taskGenerator.asRoute(taskManager).handle(request, response);
verify(response).status(HttpStatus.CREATED_201);
- verify(response).header(LOCATION.asString(), "/tasks/" + UID_VALUE);
+ verify(response).header(LOCATION.asString(), "/tasks/" + UUID_VALUE);
verifyNoMoreInteractions(response);
}
-
}
\ 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