diff options
author | Duarte Meneses <duarte.meneses@sonarsource.com> | 2019-05-09 10:48:58 -0500 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2019-06-03 20:21:18 +0200 |
commit | 36d13bae20087735ae51a096af7fef7985c86e11 (patch) | |
tree | ef2b838038c07670f42e64fbd579dbbcba3846f8 /server/sonar-server/src/test | |
parent | c4840639ebb1d2271bb650043aba1125ed5c23a7 (diff) | |
download | sonarqube-36d13bae20087735ae51a096af7fef7985c86e11.tar.gz sonarqube-36d13bae20087735ae51a096af7fef7985c86e11.zip |
SONAR-12038 Add pendingTime to api/ce/activity_status and ComputeEngineTasks JMX metrics
Diffstat (limited to 'server/sonar-server/src/test')
-rw-r--r-- | server/sonar-server/src/test/java/org/sonar/server/ce/ws/ActivityStatusActionTest.java | 38 |
1 files changed, 34 insertions, 4 deletions
diff --git a/server/sonar-server/src/test/java/org/sonar/server/ce/ws/ActivityStatusActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/ce/ws/ActivityStatusActionTest.java index 4c942cf118c..8e5f8f5ce58 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/ce/ws/ActivityStatusActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/ce/ws/ActivityStatusActionTest.java @@ -44,6 +44,8 @@ import org.sonar.server.ws.WsActionTester; import org.sonarqube.ws.Ce; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; import static org.sonar.db.ce.CeQueueTesting.newCeQueueDto; import static org.sonar.db.component.ComponentTesting.newPrivateProjectDto; import static org.sonar.server.ce.ws.CeWsParameters.DEPRECATED_PARAM_COMPONENT_KEY; @@ -59,9 +61,11 @@ public class ActivityStatusActionTest { @Rule public DbTester db = DbTester.create(System2.INSTANCE); + private System2 system2 = mock(System2.class); + private DbClient dbClient = db.getDbClient(); private DbSession dbSession = db.getSession(); - private WsActionTester ws = new WsActionTester(new ActivityStatusAction(userSession, dbClient, TestComponentFinder.from(db))); + private WsActionTester ws = new WsActionTester(new ActivityStatusAction(userSession, dbClient, TestComponentFinder.from(db), system2)); @Test public void test_definition() { @@ -74,7 +78,8 @@ public class ActivityStatusActionTest { @Test public void json_example() { - dbClient.ceQueueDao().insert(dbSession, newCeQueueDto("ce-queue-uuid-1").setStatus(CeQueueDto.Status.PENDING)); + when(system2.now()).thenReturn(200123L); + dbClient.ceQueueDao().insert(dbSession, newCeQueueDto("ce-queue-uuid-1").setStatus(CeQueueDto.Status.PENDING).setCreatedAt(100000)); dbClient.ceQueueDao().insert(dbSession, newCeQueueDto("ce-queue-uuid-2").setStatus(CeQueueDto.Status.PENDING)); dbClient.ceQueueDao().insert(dbSession, newCeQueueDto("ce-queue-uuid-3").setStatus(CeQueueDto.Status.IN_PROGRESS)); for (int i = 0; i < 5; i++) { @@ -119,6 +124,23 @@ public class ActivityStatusActionTest { } @Test + public void add_pending_time() { + String projectUuid = "project-uuid"; + OrganizationDto organizationDto = db.organizations().insert(); + ComponentDto project = newPrivateProjectDto(organizationDto, projectUuid); + db.components().insertComponent(project); + + userSession.logIn().addProjectPermission(UserRole.ADMIN, project); + when(system2.now()).thenReturn(2000L); + insertInQueue(CeQueueDto.Status.PENDING, project, 1000L); + Ce.ActivityStatusWsResponse result = call(projectUuid); + + assertThat(result).extracting(Ce.ActivityStatusWsResponse::getPending, Ce.ActivityStatusWsResponse::getFailing, + Ce.ActivityStatusWsResponse::getInProgress, Ce.ActivityStatusWsResponse::getPendingTime) + .containsOnly(1, 0, 0, 1000L); + } + + @Test public void empty_status() { Ce.ActivityStatusWsResponse result = call(); @@ -171,9 +193,17 @@ public class ActivityStatusActionTest { } private void insertInQueue(CeQueueDto.Status status, @Nullable ComponentDto componentDto) { - dbClient.ceQueueDao().insert(dbSession, newCeQueueDto(Uuids.createFast()) + insertInQueue(status, componentDto, null); + } + + private void insertInQueue(CeQueueDto.Status status, @Nullable ComponentDto componentDto, @Nullable Long createdAt) { + CeQueueDto ceQueueDto = newCeQueueDto(Uuids.createFast()) .setStatus(status) - .setComponent(componentDto)); + .setComponent(componentDto); + if (createdAt != null) { + ceQueueDto.setCreatedAt(createdAt); + } + dbClient.ceQueueDao().insert(dbSession, ceQueueDto); db.commit(); } |