diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2017-03-22 16:56:42 +0100 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2017-03-23 17:14:59 +0100 |
commit | f1b5f1655725ea7baac861f7be9a14715f4dca14 (patch) | |
tree | 57d29804fbcc2c56e268ff31129b41ac91a97fe8 /sonar-ws/src | |
parent | ed786282fc42b9aa553e0f9190812a80df17d746 (diff) | |
download | sonarqube-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.java | 9 | ||||
-rw-r--r-- | sonar-ws/src/test/java/org/sonarqube/ws/client/measure/MeasuresServiceTest.java | 19 |
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(); + } } |