aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-server/src/test/java
diff options
context:
space:
mode:
authorDuarte Meneses <duarte.meneses@sonarsource.com>2019-05-09 10:48:58 -0500
committerSonarTech <sonartech@sonarsource.com>2019-06-03 20:21:18 +0200
commit36d13bae20087735ae51a096af7fef7985c86e11 (patch)
treeef2b838038c07670f42e64fbd579dbbcba3846f8 /server/sonar-server/src/test/java
parentc4840639ebb1d2271bb650043aba1125ed5c23a7 (diff)
downloadsonarqube-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/java')
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/ce/ws/ActivityStatusActionTest.java38
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();
}