TSK-1701: added integration test for task routing via REST API.

This commit is contained in:
Holger Hagen 2021-08-12 12:06:07 +02:00 committed by holgerhagen
parent 27a445fc3b
commit aa233fec1b
3 changed files with 52 additions and 0 deletions

View File

@ -43,6 +43,7 @@ import pro.taskana.task.rest.models.TaskRepresentationModel.CustomAttribute;
import pro.taskana.task.rest.models.TaskSummaryCollectionRepresentationModel;
import pro.taskana.task.rest.models.TaskSummaryPagedRepresentationModel;
import pro.taskana.task.rest.models.TaskSummaryRepresentationModel;
import pro.taskana.task.rest.routing.IntegrationTestTaskRouter;
import pro.taskana.workbasket.rest.models.WorkbasketSummaryRepresentationModel;
/** Test Task Controller. */
@ -668,6 +669,30 @@ class TaskControllerIntTest {
assertThatThrownBy(httpCall).isInstanceOf(HttpStatusCodeException.class);
}
@Test
void should_RouteCreatedTask_When_CreatingTaskWithoutWorkbasketInformation() {
TaskRepresentationModel taskRepresentationModel = getTaskResourceSample();
taskRepresentationModel.setWorkbasketSummary(null);
String url = restHelper.toUrl(RestEndpoints.URL_TASKS);
HttpEntity<TaskRepresentationModel> auth =
new HttpEntity<>(taskRepresentationModel, RestHelper.generateHeadersForUser("user-1-1"));
ResponseEntity<TaskRepresentationModel> responseCreate =
TEMPLATE.exchange(url, HttpMethod.POST, auth, TASK_MODEL_TYPE);
assertThat(responseCreate.getBody().getWorkbasketSummary().getWorkbasketId())
.isEqualTo(IntegrationTestTaskRouter.DEFAULT_ROUTING_TARGET);
String url2 =
restHelper.toUrl(RestEndpoints.URL_TASKS_ID, responseCreate.getBody().getTaskId());
HttpEntity<Object> auth2 = new HttpEntity<>(RestHelper.generateHeadersForUser("admin"));
ResponseEntity<TaskRepresentationModel> responseDeleted =
TEMPLATE.exchange(
url2, HttpMethod.DELETE, auth2, ParameterizedTypeReference.forType(Void.class));
assertThat(responseDeleted.getStatusCode()).isEqualTo(HttpStatus.NO_CONTENT);
}
@Test
void testCreateTaskWithInvalidParameter() throws Exception {
final String taskToCreateJson =

View File

@ -0,0 +1,26 @@
package pro.taskana.task.rest.routing;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import pro.taskana.common.api.TaskanaEngine;
import pro.taskana.spi.routing.api.TaskRoutingProvider;
import pro.taskana.task.api.models.Task;
public class IntegrationTestTaskRouter implements TaskRoutingProvider {
public static final String DEFAULT_ROUTING_TARGET = "WBI:100000000000000000000000000000000002";
private static final Logger LOGGER = LoggerFactory.getLogger(IntegrationTestTaskRouter.class);
private TaskanaEngine taskanaEngine;
@Override
public void initialize(TaskanaEngine taskanaEngine) {
this.taskanaEngine = taskanaEngine;
}
@Override
public String determineWorkbasketId(Task task) {
return DEFAULT_ROUTING_TARGET;
}
}

View File

@ -0,0 +1 @@
pro.taskana.task.rest.routing.IntegrationTestTaskRouter