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 <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
