From 41959b471deb06e239e11f9fd5774db913182216 Mon Sep 17 00:00:00 2001 From: Sébastien Lesaint Date: Thu, 3 Dec 2015 15:19:06 +0100 Subject: SONAR-6925 cancelled tasks must not be the last task for a component --- .../server/computation/ws/ComponentActionTest.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'server/sonar-server') diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/ws/ComponentActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/ws/ComponentActionTest.java index dc3d62589c6..15c2dffa707 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/ws/ComponentActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/ws/ComponentActionTest.java @@ -99,6 +99,27 @@ public class ComponentActionTest { 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); -- cgit v1.2.3