TSK-1701: added integration test for task routing via REST API.
This commit is contained in:
parent
27a445fc3b
commit
aa233fec1b
|
@ -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.TaskSummaryCollectionRepresentationModel;
|
||||||
import pro.taskana.task.rest.models.TaskSummaryPagedRepresentationModel;
|
import pro.taskana.task.rest.models.TaskSummaryPagedRepresentationModel;
|
||||||
import pro.taskana.task.rest.models.TaskSummaryRepresentationModel;
|
import pro.taskana.task.rest.models.TaskSummaryRepresentationModel;
|
||||||
|
import pro.taskana.task.rest.routing.IntegrationTestTaskRouter;
|
||||||
import pro.taskana.workbasket.rest.models.WorkbasketSummaryRepresentationModel;
|
import pro.taskana.workbasket.rest.models.WorkbasketSummaryRepresentationModel;
|
||||||
|
|
||||||
/** Test Task Controller. */
|
/** Test Task Controller. */
|
||||||
|
@ -668,6 +669,30 @@ class TaskControllerIntTest {
|
||||||
assertThatThrownBy(httpCall).isInstanceOf(HttpStatusCodeException.class);
|
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
|
@Test
|
||||||
void testCreateTaskWithInvalidParameter() throws Exception {
|
void testCreateTaskWithInvalidParameter() throws Exception {
|
||||||
final String taskToCreateJson =
|
final String taskToCreateJson =
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
pro.taskana.task.rest.routing.IntegrationTestTaskRouter
|
Loading…
Reference in New Issue