From: Julien Lancelot Date: Mon, 24 Oct 2016 15:53:31 +0000 (+0200) Subject: SONAR-8120 Remove componentIds parameter X-Git-Tag: 6.2-RC1~273 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=4c65ae712eea26e01f0704cc6ed959aca8db2c6a;p=sonarqube.git SONAR-8120 Remove componentIds parameter --- diff --git a/server/sonar-server/src/main/java/org/sonar/server/measure/ws/ComponentDtoToWsComponent.java b/server/sonar-server/src/main/java/org/sonar/server/measure/ws/ComponentDtoToWsComponent.java index cca86c0b887..9244174094a 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/measure/ws/ComponentDtoToWsComponent.java +++ b/server/sonar-server/src/main/java/org/sonar/server/measure/ws/ComponentDtoToWsComponent.java @@ -53,7 +53,6 @@ class ComponentDtoToWsComponent { static Function dbToWsComponent() { return dbComponent -> SearchWsResponse.Component.newBuilder() - .setId(dbComponent.uuid()) .setKey(dbComponent.key()) .setName(dbComponent.name()) .build(); diff --git a/server/sonar-server/src/main/java/org/sonar/server/measure/ws/SearchAction.java b/server/sonar-server/src/main/java/org/sonar/server/measure/ws/SearchAction.java index d1fcdddaeff..f29df831428 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/measure/ws/SearchAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/measure/ws/SearchAction.java @@ -54,9 +54,6 @@ import static com.google.common.base.Preconditions.checkArgument; import static java.util.Comparator.comparing; import static java.util.Objects.requireNonNull; import static java.util.function.Function.identity; -import static org.sonar.core.util.Uuids.UUID_EXAMPLE_01; -import static org.sonar.core.util.Uuids.UUID_EXAMPLE_02; -import static org.sonar.core.util.Uuids.UUID_EXAMPLE_03; import static org.sonar.server.measure.ws.ComponentDtoToWsComponent.dbToWsComponent; import static org.sonar.server.measure.ws.MeasureDtoToWsMeasure.dbToWsMeasure; import static org.sonar.server.measure.ws.MeasuresWsParametersBuilder.createMetricKeysParameter; @@ -69,11 +66,10 @@ import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001; import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_002; import static org.sonar.server.ws.WsUtils.checkRequest; import static org.sonar.server.ws.WsUtils.writeProtobuf; +import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_COMPONENT_KEYS; import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_METRIC_KEYS; public class SearchAction implements MeasuresWsAction { - static final String PARAM_COMPONENT_IDS = "componentIds"; - static final String PARAM_COMPONENT_KEYS = "componentKeys"; private final DbClient dbClient; @@ -87,28 +83,23 @@ public class SearchAction implements MeasuresWsAction { .setInternal(true) .setDescription("Search for component measures ordered by component names.
" + "At most %d components can be provided.
" + - "Either '%s' or '%s' must be provided, not both.
" + "Requires one of the following permissions:" + "", - SearchRequest.MAX_NB_COMPONENTS, PARAM_COMPONENT_IDS, PARAM_COMPONENT_KEYS) - .setSince("6.1") + SearchRequest.MAX_NB_COMPONENTS) + .setSince("6.2") .setResponseExample(getClass().getResource("search-example.json")) .setHandler(this); createMetricKeysParameter(action); - action.createParam(PARAM_COMPONENT_IDS) - .setDescription("Comma-separated list of component ids") - .setExampleValue(String.join(",", UUID_EXAMPLE_01, UUID_EXAMPLE_02, UUID_EXAMPLE_03)); - action.createParam(PARAM_COMPONENT_KEYS) .setDescription("Comma-separated list of component keys") - .setExampleValue(String.join(",", KEY_PROJECT_EXAMPLE_001, KEY_FILE_EXAMPLE_001, KEY_PROJECT_EXAMPLE_002, KEY_FILE_EXAMPLE_002)); - + .setExampleValue(String.join(",", KEY_PROJECT_EXAMPLE_001, KEY_FILE_EXAMPLE_001, KEY_PROJECT_EXAMPLE_002, KEY_FILE_EXAMPLE_002)) + .setRequired(true); } @Override @@ -154,7 +145,6 @@ public class SearchAction implements MeasuresWsAction { private SearchRequest createRequest() { request = SearchRequest.builder() .setMetricKeys(httpRequest.mandatoryParamAsStrings(PARAM_METRIC_KEYS)) - .setComponentIds(httpRequest.paramAsStrings(PARAM_COMPONENT_IDS)) .setComponentKeys(httpRequest.paramAsStrings(PARAM_COMPONENT_KEYS)) .build(); @@ -172,23 +162,11 @@ public class SearchAction implements MeasuresWsAction { private List searchComponents() { requireNonNull(request); - if (request.hasComponentIds()) { - List componentsByUuid = searchByComponentUuids(dbSession, request.getComponentIds()); - List componentUuids = componentsByUuid.stream().map(ComponentDto::uuid).collect(Collectors.toList()); - checkArgument(componentsByUuid.size() == request.getComponentIds().size(), "The following component ids are not found: %s", - String.join(", ", difference(request.getComponentIds(), componentUuids))); - return componentsByUuid; - } else { - List componentsByKey = searchByComponentKeys(dbSession, request.getComponentKeys()); - List componentKeys = componentsByKey.stream().map(ComponentDto::key).collect(Collectors.toList()); - checkArgument(componentsByKey.size() == request.getComponentKeys().size(), "The following component keys are not found: %s", - String.join(", ", difference(request.getComponentKeys(), componentKeys))); - return componentsByKey; - } - } - - private List searchByComponentUuids(DbSession dbSession, List componentUuids) { - return dbClient.componentDao().selectByUuids(dbSession, componentUuids); + List componentsByKey = searchByComponentKeys(dbSession, request.getComponentKeys()); + List componentKeys = componentsByKey.stream().map(ComponentDto::key).collect(Collectors.toList()); + checkArgument(componentsByKey.size() == request.getComponentKeys().size(), "The following component keys are not found: %s", + String.join(", ", difference(request.getComponentKeys(), componentKeys))); + return componentsByKey; } private List searchByComponentKeys(DbSession dbSession, List componentKeys) { diff --git a/server/sonar-server/src/main/resources/org/sonar/server/measure/ws/search-example.json b/server/sonar-server/src/main/resources/org/sonar/server/measure/ws/search-example.json index 1ca772d5db5..803f4aec91a 100644 --- a/server/sonar-server/src/main/resources/org/sonar/server/measure/ws/search-example.json +++ b/server/sonar-server/src/main/resources/org/sonar/server/measure/ws/search-example.json @@ -117,22 +117,18 @@ ], "components": [ { - "id": "AVIwDXE-bJbJqrw6wFv5", "key": "com.sonarsource:java-markdown:src/main/java/com/sonarsource/markdown/impl/ElementImpl.java", "name": "ElementImpl.java" }, { - "id": "AVIwDXE_bJbJqrw6wFwJ", "key": "com.sonarsource:java-markdown:src/test/java/com/sonarsource/markdown/impl/ElementImplTest.java", "name": "ElementImplTest.java" }, { - "id": "project-id", "key": "MY_PROJECT", "name": "My Project" }, { - "id": "AVIwDXE-bJbJqrw6wFv8", "key": "com.sonarsource:java-markdown:src/main/java/com/sonarsource/markdown/impl", "name": "src/main/java/com/sonarsource/markdown/impl" } diff --git a/server/sonar-server/src/test/java/org/sonar/server/measure/ws/SearchActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/measure/ws/SearchActionTest.java index 02c578da954..543e2d170e9 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/measure/ws/SearchActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/measure/ws/SearchActionTest.java @@ -20,8 +20,10 @@ package org.sonar.server.measure.ws; +import com.google.common.base.Joiner; import com.google.common.base.Throwables; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -41,6 +43,7 @@ import org.sonar.db.component.ComponentDto; import org.sonar.db.component.SnapshotDto; import org.sonar.db.metric.MetricDto; import org.sonar.server.exceptions.BadRequestException; +import org.sonar.server.tester.UserSessionRule; import org.sonar.server.ws.TestRequest; import org.sonar.server.ws.WsActionTester; import org.sonarqube.ws.WsMeasures.Measure; @@ -57,18 +60,22 @@ import static org.sonar.db.component.ComponentTesting.newProjectDto; import static org.sonar.db.component.SnapshotTesting.newAnalysis; import static org.sonar.db.measure.MeasureTesting.newMeasureDto; import static org.sonar.db.metric.MetricTesting.newMetricDto; -import static org.sonar.server.measure.ws.SearchAction.PARAM_COMPONENT_IDS; -import static org.sonar.server.measure.ws.SearchAction.PARAM_COMPONENT_KEYS; import static org.sonar.test.JsonAssert.assertJson; import static org.sonarqube.ws.MediaTypes.PROTOBUF; +import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_COMPONENT_KEYS; import static org.sonarqube.ws.client.measure.MeasuresWsParameters.PARAM_METRIC_KEYS; public class SearchActionTest { @Rule public ExpectedException expectedException = ExpectedException.none(); + + @Rule + public UserSessionRule userSession = UserSessionRule.standalone(); + @Rule public DbTester db = DbTester.create(System2.INSTANCE); + ComponentDbTester componentDb = new ComponentDbTester(db); DbClient dbClient = db.getDbClient(); DbSession dbSession = db.getSession(); @@ -77,10 +84,10 @@ public class SearchActionTest { @Test public void json_example() { - insertJsonExampleData(); + List componentKeys = insertJsonExampleData(); String result = ws.newRequest() - .setParam(PARAM_COMPONENT_IDS, "project-id,AVIwDXE-bJbJqrw6wFv5,AVIwDXE-bJbJqrw6wFv8,AVIwDXE_bJbJqrw6wFwJ") + .setParam(PARAM_COMPONENT_KEYS, Joiner.on(",").join(componentKeys)) .setParam(PARAM_METRIC_KEYS, "ncloc, complexity, new_violations") .execute() .getInput(); @@ -93,35 +100,23 @@ public class SearchActionTest { ComponentDto dbComponent = componentDb.insertComponent(newProjectDto()); insertComplexityMetric(); - SearchWsResponse result = callByComponentUuids(singletonList(dbComponent.uuid()), singletonList("complexity")); + SearchWsResponse result = call(singletonList(dbComponent.key()), singletonList("complexity")); assertThat(result.getComponentsCount()).isEqualTo(1); SearchWsResponse.Component wsComponent = result.getComponents(0); - assertThat(wsComponent.getId()).isEqualTo(dbComponent.uuid()); assertThat(wsComponent.getKey()).isEqualTo(dbComponent.key()); assertThat(wsComponent.getName()).isEqualTo(dbComponent.name()); } - @Test - public void search_by_component_uuid() { - ComponentDto project = componentDb.insertProject(); - insertComplexityMetric(); - - SearchWsResponse result = callByComponentUuids(singletonList(project.uuid()), singletonList("complexity")); - - assertThat(result.getComponentsCount()).isEqualTo(1); - assertThat(result.getComponents(0).getId()).isEqualTo(project.uuid()); - } - @Test public void search_by_component_key() { ComponentDto project = componentDb.insertProject(); insertComplexityMetric(); - SearchWsResponse result = callByComponentKeys(singletonList(project.key()), singletonList("complexity")); + SearchWsResponse result = call(singletonList(project.key()), singletonList("complexity")); assertThat(result.getComponentsCount()).isEqualTo(1); - assertThat(result.getComponents(0).getId()).isEqualTo(project.uuid()); + assertThat(result.getComponents(0).getKey()).isEqualTo(project.key()); } @Test @@ -149,7 +144,7 @@ public class SearchActionTest { newMeasureDto(coverage, directoryDto, projectSnapshot).setValue(42.0d)); db.commit(); - SearchWsResponse result = callByComponentUuids(newArrayList(directoryDto.uuid(), file.uuid()), newArrayList("ncloc", "coverage", "new_violations")); + SearchWsResponse result = call(newArrayList(directoryDto.key(), file.key()), newArrayList("ncloc", "coverage", "new_violations")); // directory is not eligible for best value assertThat(result.getMeasuresList().stream() @@ -169,7 +164,7 @@ public class SearchActionTest { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("The 'metricKeys' parameter is missing"); - callByComponentUuids(singletonList(project.uuid()), null); + call(singletonList(project.uuid()), null); } @Test @@ -179,7 +174,7 @@ public class SearchActionTest { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Metric keys must be provided"); - callByComponentUuids(singletonList(project.uuid()), emptyList()); + call(singletonList(project.uuid()), emptyList()); } @Test @@ -190,7 +185,7 @@ public class SearchActionTest { expectedException.expect(BadRequestException.class); expectedException.expectMessage("The following metrics are not found: ncloc, violations"); - callByComponentUuids(singletonList(project.uuid()), newArrayList("violations", "complexity", "ncloc")); + call(singletonList(project.key()), newArrayList("violations", "complexity", "ncloc")); } @Test @@ -198,19 +193,9 @@ public class SearchActionTest { insertComplexityMetric(); expectedException.expect(IllegalArgumentException.class); - expectedException.expectMessage("Either component ids or component keys must be provided, not both"); - - call(null, null, singletonList("complexity")); - } - - @Test - public void fail_if_empty_component_uuid() { - insertComplexityMetric(); - - expectedException.expect(IllegalArgumentException.class); - expectedException.expectMessage("Either component ids or component keys must be provided, not both"); + expectedException.expectMessage("Component keys must be provided"); - callByComponentUuids(emptyList(), singletonList("complexity")); + call(null, singletonList("complexity")); } @Test @@ -218,20 +203,9 @@ public class SearchActionTest { insertComplexityMetric(); expectedException.expect(IllegalArgumentException.class); - expectedException.expectMessage("Either component ids or component keys must be provided, not both"); - - callByComponentKeys(emptyList(), singletonList("complexity")); - } - - @Test - public void fail_if_unknown_component_uuid() { - insertComplexityMetric(); - ComponentDto project = componentDb.insertProject(); - - expectedException.expect(IllegalArgumentException.class); - expectedException.expectMessage("The following component ids are not found: ANOTHER_PROJECT_ID, YOUR_PROJECT_ID"); + expectedException.expectMessage("Component keys must be provided"); - callByComponentUuids(newArrayList("YOUR_PROJECT_ID", project.uuid(), "ANOTHER_PROJECT_ID"), singletonList("complexity")); + call(emptyList(), singletonList("complexity")); } @Test @@ -242,18 +216,7 @@ public class SearchActionTest { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("The following component keys are not found: ANOTHER_PROJECT_KEY, YOUR_PROJECT_KEY"); - callByComponentKeys(newArrayList("YOUR_PROJECT_KEY", project.key(), "ANOTHER_PROJECT_KEY"), singletonList("complexity")); - } - - @Test - public void fail_if_component_id_and_key() { - ComponentDto project = componentDb.insertProject(); - ComponentDto anotherProject = componentDb.insertProject(); - - expectedException.expect(IllegalArgumentException.class); - expectedException.expectMessage("Either component ids or component keys must be provided, not both"); - - call(singletonList(project.uuid()), singletonList(anotherProject.key()), singletonList("complexity")); + call(newArrayList("YOUR_PROJECT_KEY", project.key(), "ANOTHER_PROJECT_KEY"), singletonList("complexity")); } @Test @@ -267,7 +230,7 @@ public class SearchActionTest { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("101 components provided, more than maximum authorized (100)"); - callByComponentUuids(uuids, singletonList("complexity")); + call(uuids, singletonList("complexity")); } @Test @@ -281,7 +244,7 @@ public class SearchActionTest { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("101 components provided, more than maximum authorized (100)"); - callByComponentKeys(keys, singletonList("complexity")); + call(keys, singletonList("complexity")); } @Test @@ -291,13 +254,12 @@ public class SearchActionTest { assertThat(result.key()).isEqualTo("search"); assertThat(result.isPost()).isFalse(); assertThat(result.isInternal()).isTrue(); - assertThat(result.since()).isEqualTo("6.1"); - assertThat(result.params()).hasSize(3); + assertThat(result.since()).isEqualTo("6.2"); + assertThat(result.params()).hasSize(2); assertThat(result.responseExampleAsString()).isNotEmpty(); assertThat(result.description()).isEqualToIgnoringWhitespace("" + "Search for component measures ordered by component names.
" + "At most 100 components can be provided.
" + - "Either 'componentIds' or 'componentKeys' must be provided, not both.
" + "Requires one of the following permissions:" + "
    " + "
  • 'Administer System'
  • " + @@ -306,21 +268,10 @@ public class SearchActionTest { "
"); } - private SearchWsResponse callByComponentUuids(@Nullable List uuids, @Nullable List metrics) { - return call(uuids, null, metrics); - } - - private SearchWsResponse callByComponentKeys(@Nullable List keys, @Nullable List metrics) { - return call(null, keys, metrics); - } - - private SearchWsResponse call(@Nullable List uuids, @Nullable List keys, @Nullable List metrics) { + private SearchWsResponse call(@Nullable List keys, @Nullable List metrics) { TestRequest request = ws.newRequest() .setMediaType(PROTOBUF); - if (uuids != null) { - request.setParam(PARAM_COMPONENT_IDS, String.join(",", uuids)); - } if (keys != null) { request.setParam(PARAM_COMPONENT_KEYS, String.join(",", keys)); } @@ -405,12 +356,14 @@ public class SearchActionTest { return metric; } - private void insertJsonExampleData() { + private List insertJsonExampleData() { + List componentKeys = new ArrayList<>(); ComponentDto project = newProjectDto("project-id") .setKey("MY_PROJECT") .setName("My Project") .setDescription("My Project Description") .setQualifier(Qualifiers.PROJECT); + componentKeys.add(project.key()); componentDb.insertComponent(project); SnapshotDto projectSnapshot = dbClient.snapshotDao().insert(dbSession, newAnalysis(project) .setPeriodDate(1, parseDateTime("2016-01-11T10:49:50+0100").getTime()) @@ -430,17 +383,21 @@ public class SearchActionTest { .setLanguage("java") .setQualifier(Qualifiers.FILE) .setPath("src/main/java/com/sonarsource/markdown/impl/ElementImpl.java")); - componentDb.insertComponent(newFileDto(project, null) + componentKeys.add(file1.key()); + ComponentDto file = newFileDto(project, null) .setUuid("AVIwDXE_bJbJqrw6wFwJ") .setKey("com.sonarsource:java-markdown:src/test/java/com/sonarsource/markdown/impl/ElementImplTest.java") .setName("ElementImplTest.java") .setLanguage("java") .setQualifier(Qualifiers.UNIT_TEST_FILE) - .setPath("src/test/java/com/sonarsource/markdown/impl/ElementImplTest.java")); + .setPath("src/test/java/com/sonarsource/markdown/impl/ElementImplTest.java"); + componentKeys.add(file.key()); + componentDb.insertComponent(file); ComponentDto dir = componentDb.insertComponent(newDirectory(project, "src/main/java/com/sonarsource/markdown/impl") .setUuid("AVIwDXE-bJbJqrw6wFv8") .setKey("com.sonarsource:java-markdown:src/main/java/com/sonarsource/markdown/impl") .setQualifier(Qualifiers.DIRECTORY)); + componentKeys.add(dir.key()); MetricDto complexity = insertComplexityMetric(); dbClient.measureDao().insert(dbSession, @@ -478,5 +435,6 @@ public class SearchActionTest { .setVariation(3, 255.0d)); db.commit(); + return componentKeys; } } diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/MeasuresWsParameters.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/MeasuresWsParameters.java index d884f76cbd1..49ce3efb27e 100644 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/MeasuresWsParameters.java +++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/MeasuresWsParameters.java @@ -43,6 +43,7 @@ public class MeasuresWsParameters { public static final String PARAM_ADDITIONAL_FIELDS = "additionalFields"; public static final String PARAM_COMPONENT_ID = "componentId"; public static final String PARAM_COMPONENT_KEY = "componentKey"; + public static final String PARAM_COMPONENT_KEYS = "componentKeys"; public static final String PARAM_DEVELOPER_ID = "developerId"; public static final String PARAM_DEVELOPER_KEY = "developerKey"; public static final String ADDITIONAL_METRICS = "metrics"; diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/SearchRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/SearchRequest.java index 7beedebec9f..a9e76772970 100644 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/SearchRequest.java +++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/measure/SearchRequest.java @@ -23,18 +23,15 @@ package org.sonarqube.ws.client.measure; import java.util.List; import static com.google.common.base.Preconditions.checkArgument; -import static java.util.Objects.requireNonNull; public class SearchRequest { public static final int MAX_NB_COMPONENTS = 100; private final List metricKeys; - private final List componentIds; private final List componentKeys; public SearchRequest(Builder builder) { metricKeys = builder.metricKeys; - componentIds = builder.componentIds; componentKeys = builder.componentKeys; } @@ -42,20 +39,8 @@ public class SearchRequest { return metricKeys; } - public boolean hasComponentIds() { - return componentIds != null; - } - - public List getComponentIds() { - return requireNonNull(componentIds, "No component id in request"); - } - - public boolean hasComponentKeys() { - return componentKeys != null; - } - public List getComponentKeys() { - return requireNonNull(componentKeys, "No component key in request"); + return componentKeys; } public static Builder builder() { @@ -64,7 +49,6 @@ public class SearchRequest { public static class Builder { private List metricKeys; - private List componentIds; private List componentKeys; private Builder() { @@ -76,11 +60,6 @@ public class SearchRequest { return this; } - public Builder setComponentIds(List componentIds) { - this.componentIds = componentIds; - return this; - } - public Builder setComponentKeys(List componentKeys) { this.componentKeys = componentKeys; return this; @@ -88,16 +67,10 @@ public class SearchRequest { public SearchRequest build() { checkArgument(metricKeys != null && !metricKeys.isEmpty(), "Metric keys must be provided"); - checkArgument( - (componentIds != null && !componentIds.isEmpty()) - ^ (componentKeys != null && !componentKeys.isEmpty()), - "Either component ids or component keys must be provided, not both"); - int nbComponents = componentIds == null ? componentKeys.size() : componentIds.size(); - checkArgument((componentIds != null && componentIds.size() < MAX_NB_COMPONENTS) - || (componentKeys != null && componentKeys.size() < MAX_NB_COMPONENTS), - "%s components provided, more than maximum authorized (%s)", - nbComponents, - MAX_NB_COMPONENTS); + checkArgument(componentKeys != null && !componentKeys.isEmpty(), "Component keys must be provided"); + int nbComponents = componentKeys.size(); + checkArgument(nbComponents < MAX_NB_COMPONENTS, + "%s components provided, more than maximum authorized (%s)", nbComponents, MAX_NB_COMPONENTS); return new SearchRequest(this); } } diff --git a/sonar-ws/src/test/java/org/sonarqube/ws/client/measure/SearchRequestTest.java b/sonar-ws/src/test/java/org/sonarqube/ws/client/measure/SearchRequestTest.java index ee6de73dfd5..6e174d78ed5 100644 --- a/sonar-ws/src/test/java/org/sonarqube/ws/client/measure/SearchRequestTest.java +++ b/sonar-ws/src/test/java/org/sonarqube/ws/client/measure/SearchRequestTest.java @@ -35,18 +35,6 @@ public class SearchRequestTest { SearchRequest.Builder underTest = SearchRequest.builder(); - @Test - public void with_component_ids() { - SearchRequest result = underTest - .setMetricKeys(singletonList("metric")) - .setComponentIds(singletonList("uuid")) - .build(); - - assertThat(result.getMetricKeys()).containsExactly("metric"); - assertThat(result.getComponentIds()).containsExactly("uuid"); - assertThat(result.hasComponentKeys()).isFalse(); - } - @Test public void with_component_keys() { SearchRequest result = underTest @@ -56,7 +44,6 @@ public class SearchRequestTest { assertThat(result.getMetricKeys()).containsExactly("metric"); assertThat(result.getComponentKeys()).containsExactly("key"); - assertThat(result.hasComponentIds()).isFalse(); } @Test @@ -80,27 +67,6 @@ public class SearchRequestTest { underTest.build(); } - @Test - public void fail_when_component_ids_and_keys_provided() { - expectExceptionOnComponents(); - - underTest - .setMetricKeys(singletonList("metric")) - .setComponentIds(singletonList("uuid")) - .setComponentKeys(singletonList("key")) - .build(); - } - - @Test - public void fail_when_component_ids_is_empty() { - expectExceptionOnComponents(); - - underTest - .setMetricKeys(singletonList("metric")) - .setComponentIds(emptyList()) - .build(); - } - @Test public void fail_when_component_keys_is_empty() { expectExceptionOnComponents(); @@ -118,6 +84,6 @@ public class SearchRequestTest { private void expectExceptionOnComponents() { expectedException.expect(IllegalArgumentException.class); - expectedException.expectMessage("Either component ids or component keys must be provided, not both"); + expectedException.expectMessage("Component keys must be provided"); } }