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]

Reply via email to