assertThat(response.getCurrent().getId()).isEqualTo("T3");
}
+ @Test
+ public void canceled_tasks_must_not_be_picked_as_current_analysis() {
+ userSession.addComponentUuidPermission(UserRole.USER, "PROJECT_1", "PROJECT_1");
+ insertActivity("T1", "PROJECT_1", CeActivityDto.Status.SUCCESS);
+ insertActivity("T2", "PROJECT_2", CeActivityDto.Status.FAILED);
+ insertActivity("T3", "PROJECT_1", CeActivityDto.Status.SUCCESS);
+ insertActivity("T4", "PROJECT_1", CeActivityDto.Status.CANCELED);
+ insertActivity("T5", "PROJECT_1", CeActivityDto.Status.CANCELED);
+
+ TestResponse wsResponse = tester.newRequest()
+ .setParam("componentId", "PROJECT_1")
+ .setMediaType(MediaTypes.PROTOBUF)
+ .execute();
+
+ WsCe.ProjectResponse response = Protobuf.read(wsResponse.getInputStream(), WsCe.ProjectResponse.PARSER);
+ assertThat(response.getQueueCount()).isEqualTo(0);
+ // T3 is the latest task executed on PROJECT_1 ignoring Canceled ones
+ assertThat(response.hasCurrent()).isTrue();
+ assertThat(response.getCurrent().getId()).isEqualTo("T3");
+ }
+
private CeQueueDto insertQueue(String taskUuid, String componentUuid, CeQueueDto.Status status) {
CeQueueDto queueDto = new CeQueueDto();
queueDto.setTaskType(CeTaskTypes.REPORT);