aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-ws/src
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2017-03-22 16:56:42 +0100
committerJulien Lancelot <julien.lancelot@sonarsource.com>2017-03-23 17:14:59 +0100
commitf1b5f1655725ea7baac861f7be9a14715f4dca14 (patch)
tree57d29804fbcc2c56e268ff31129b41ac91a97fe8 /sonar-ws/src
parented786282fc42b9aa553e0f9190812a80df17d746 (diff)
downloadsonarqube-f1b5f1655725ea7baac861f7be9a14715f4dca14.tar.gz
sonarqube-f1b5f1655725ea7baac861f7be9a14715f4dca14.zip
SONAR-8962 Add search in MeasuresService
Diffstat (limited to 'sonar-ws/src')
-rw-r--r--sonar-ws/src/main/java/org/sonarqube/ws/client/measure/MeasuresService.java9
-rw-r--r--sonar-ws/src/test/java/org/sonarqube/ws/client/measure/MeasuresServiceTest.java19
2 files changed, 28 insertions, 0 deletions
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/MeasuresService.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/MeasuresService.java
index 26d1cb462b2..72bf5763307 100644
--- a/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/MeasuresService.java
+++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/MeasuresService.java
@@ -23,6 +23,7 @@ import org.sonar.api.server.ws.WebService.Param;
import org.sonarqube.ws.WsMeasures.ComponentTreeWsResponse;
import org.sonarqube.ws.WsMeasures.ComponentWsResponse;
import org.sonarqube.ws.WsMeasures.SearchHistoryResponse;
+import org.sonarqube.ws.WsMeasures.SearchWsResponse;
import org.sonarqube.ws.client.BaseService;
import org.sonarqube.ws.client.GetRequest;
import org.sonarqube.ws.client.WsConnector;
@@ -44,6 +45,7 @@ import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_METRICS
import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_METRIC_KEYS;
import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_METRIC_SORT;
import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_METRIC_SORT_FILTER;
+import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_PROJECT_KEYS;
import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_QUALIFIERS;
import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_STRATEGY;
import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_TO;
@@ -97,4 +99,11 @@ public class MeasuresService extends BaseService {
return call(getRequest, SearchHistoryResponse.parser());
}
+
+ public SearchWsResponse search(SearchRequest request) {
+ GetRequest getRequest = new GetRequest(path(ACTION_SEARCH_HISTORY))
+ .setParam(PARAM_PROJECT_KEYS, inlineMultipleParamValue(request.getProjectKeys()))
+ .setParam(PARAM_METRIC_KEYS, inlineMultipleParamValue(request.getMetricKeys()));
+ return call(getRequest, SearchWsResponse.parser());
+ }
}
diff --git a/sonar-ws/src/test/java/org/sonarqube/ws/client/measure/MeasuresServiceTest.java b/sonar-ws/src/test/java/org/sonarqube/ws/client/measure/MeasuresServiceTest.java
index e2dea1eee56..f4ecaf06038 100644
--- a/sonar-ws/src/test/java/org/sonarqube/ws/client/measure/MeasuresServiceTest.java
+++ b/sonar-ws/src/test/java/org/sonarqube/ws/client/measure/MeasuresServiceTest.java
@@ -30,6 +30,7 @@ import org.sonarqube.ws.client.ServiceTester;
import org.sonarqube.ws.client.WsConnector;
import static com.google.common.collect.Lists.newArrayList;
+import static java.util.Arrays.asList;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_ADDITIONAL_FIELDS;
@@ -43,6 +44,7 @@ import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_METRICS
import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_METRIC_KEYS;
import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_METRIC_SORT;
import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_METRIC_SORT_FILTER;
+import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_PROJECT_KEYS;
import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_QUALIFIERS;
import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_STRATEGY;
import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_TO;
@@ -139,4 +141,21 @@ public class MeasuresServiceTest {
.hasParam("ps", VALUE_PAGE_SIZE)
.andNoOtherParam();
}
+
+ @Test
+ public void search() {
+ SearchRequest request = SearchRequest.builder()
+ .setProjectKeys(asList("P1", "P2"))
+ .setMetricKeys(asList("ncloc", "complexity"))
+ .build();
+
+ underTest.search(request);
+ GetRequest getRequest = serviceTester.getGetRequest();
+
+ assertThat(serviceTester.getGetParser()).isSameAs(WsMeasures.SearchWsResponse.parser());
+ serviceTester.assertThat(getRequest)
+ .hasParam(PARAM_PROJECT_KEYS, "P1,P2")
+ .hasParam(PARAM_METRIC_KEYS, "ncloc,complexity")
+ .andNoOtherParam();
+ }
}