aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2016-04-14 10:52:35 +0200
committerSimon Brandhof <simon.brandhof@sonarsource.com>2016-04-14 15:40:01 +0200
commit21ce21cce54dbeaa40ee9ff3d57d4256e9e5cc3d (patch)
tree202672b825740fd3252b4f5a7c34c1af579e6821
parente0da0f210c26738ef7c18809a507d46d6eb09610 (diff)
downloadsonarqube-21ce21cce54dbeaa40ee9ff3d57d4256e9e5cc3d.tar.gz
sonarqube-21ce21cce54dbeaa40ee9ff3d57d4256e9e5cc3d.zip
Add support of WS api/ce/task to sonar-ws
-rw-r--r--sonar-ws/src/main/java/org/sonarqube/ws/client/ce/CeService.java13
-rw-r--r--sonar-ws/src/test/java/org/sonarqube/ws/client/ce/CeServiceTest.java9
2 files changed, 22 insertions, 0 deletions
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/ce/CeService.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/ce/CeService.java
index a05d383c67d..1871cd800d9 100644
--- a/sonar-ws/src/main/java/org/sonarqube/ws/client/ce/CeService.java
+++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/ce/CeService.java
@@ -20,6 +20,7 @@
package org.sonarqube.ws.client.ce;
+import org.sonarqube.ws.WsCe;
import org.sonarqube.ws.WsCe.ActivityResponse;
import org.sonarqube.ws.WsCe.TaskTypesWsResponse;
import org.sonarqube.ws.client.BaseService;
@@ -33,6 +34,9 @@ import static org.sonarqube.ws.client.ce.CeWsParameters.PARAM_ONLY_CURRENTS;
import static org.sonarqube.ws.client.ce.CeWsParameters.PARAM_STATUS;
import static org.sonarqube.ws.client.ce.CeWsParameters.PARAM_TYPE;
+/**
+ * Maps web service {@code api/ce} (Compute Engine).
+ */
public class CeService extends BaseService {
public CeService(WsConnector wsConnector) {
@@ -58,4 +62,13 @@ public class CeService extends BaseService {
return call(new GetRequest(path("task_types")), TaskTypesWsResponse.parser());
}
+ /**
+ * Gets details of a Compute Engine task.
+ *
+ * @throws org.sonarqube.ws.client.HttpException if HTTP status code is not 2xx.
+ * @since 5.5
+ */
+ public WsCe.TaskResponse task(String id) {
+ return call(new GetRequest(path("task")).setParam("id", id), WsCe.TaskResponse.parser());
+ }
}
diff --git a/sonar-ws/src/test/java/org/sonarqube/ws/client/ce/CeServiceTest.java b/sonar-ws/src/test/java/org/sonarqube/ws/client/ce/CeServiceTest.java
index 1125072b933..51cc5293bc6 100644
--- a/sonar-ws/src/test/java/org/sonarqube/ws/client/ce/CeServiceTest.java
+++ b/sonar-ws/src/test/java/org/sonarqube/ws/client/ce/CeServiceTest.java
@@ -30,6 +30,7 @@ import org.sonarqube.ws.client.ServiceTester;
import org.sonarqube.ws.client.WsConnector;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.data.MapEntry.entry;
import static org.mockito.Mockito.mock;
import static org.sonarqube.ws.client.ce.CeWsParameters.PARAM_COMPONENT_ID;
import static org.sonarqube.ws.client.ce.CeWsParameters.PARAM_MAX_EXECUTED_AT;
@@ -94,4 +95,12 @@ public class CeServiceTest {
assertThat(serviceTester.getGetParser()).isSameAs(WsCe.TaskTypesWsResponse.parser());
}
+
+ @Test
+ public void task() {
+ underTest.task("task_id");
+
+ assertThat(serviceTester.getGetRequest().getPath()).isEqualTo("api/ce/task");
+ assertThat(serviceTester.getGetRequest().getParams()).containsOnly(entry("id", "task_id"));
+ }
}