aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorTeryk Bellahsene <teryk.bellahsene@sonarsource.com>2017-10-16 14:50:36 +0200
committerTeryk Bellahsene <teryk@users.noreply.github.com>2017-10-16 16:53:19 +0200
commita47d4a1f0a15b34581364f2a45faee2544f92132 (patch)
treee10c863f97a3fa3e005c9507cac2c90fa1914ee1 /server
parent06de23dbd2ae73dfffdd71c2e601b3ecb158d166 (diff)
downloadsonarqube-a47d4a1f0a15b34581364f2a45faee2544f92132.tar.gz
sonarqube-a47d4a1f0a15b34581364f2a45faee2544f92132.zip
SONAR-9986 Add back id to WS api/components/search_projects
Diffstat (limited to 'server')
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/component/ws/SearchProjectsAction.java4
-rw-r--r--server/sonar-server/src/main/resources/org/sonar/server/component/ws/search_projects-example.json3
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/component/ws/SearchProjectsActionTest.java17
3 files changed, 13 insertions, 11 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/component/ws/SearchProjectsAction.java b/server/sonar-server/src/main/java/org/sonar/server/component/ws/SearchProjectsAction.java
index 3aabfa94b70..d6faf28ef75 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/component/ws/SearchProjectsAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/component/ws/SearchProjectsAction.java
@@ -115,8 +115,7 @@ public class SearchProjectsAction implements ComponentsWsAction {
new Change("6.4", "The 'visibility' field is added"),
new Change("6.5", "The 'filter' parameter now allows 'NO_DATA' as value for numeric metrics"),
new Change("6.5", "Added the option 'analysisDate' for the 'sort' parameter"),
- new Change("6.5", format("Value '%s' is added to parameter '%s'", LEAK_PERIOD_DATE, FIELDS)),
- new Change("6.6", "The 'id' field is removed from the response"))
+ new Change("6.5", format("Value '%s' is added to parameter '%s'", LEAK_PERIOD_DATE, FIELDS)))
.setHandler(this);
action.createFieldsParam(POSSIBLE_FIELDS)
@@ -424,6 +423,7 @@ public class SearchProjectsAction implements ComponentsWsAction {
wsComponent
.clear()
.setOrganization(organizationDto.getKey())
+ .setId(dbComponent.uuid())
.setKey(dbComponent.getDbKey())
.setName(dbComponent.name())
.setVisibility(Visibility.getLabel(dbComponent.isPrivate()));
diff --git a/server/sonar-server/src/main/resources/org/sonar/server/component/ws/search_projects-example.json b/server/sonar-server/src/main/resources/org/sonar/server/component/ws/search_projects-example.json
index ddb458d04ac..41d9cfa4c75 100644
--- a/server/sonar-server/src/main/resources/org/sonar/server/component/ws/search_projects-example.json
+++ b/server/sonar-server/src/main/resources/org/sonar/server/component/ws/search_projects-example.json
@@ -7,6 +7,7 @@
"components": [
{
"organization": "my-org-key-1",
+ "id": "AU-Tpxb--iU5OvuD2FLy",
"key": "my_project",
"name": "My Project 1",
"isFavorite": true,
@@ -18,6 +19,7 @@
},
{
"organization": "my-org-key-1",
+ "id": "AU-TpxcA-iU5OvuD2FLz",
"key": "another_project",
"name": "My Project 2",
"isFavorite": false,
@@ -26,6 +28,7 @@
},
{
"organization": "my-org-key-2",
+ "id": "AU-TpxcA-iU5OvuD2FL0",
"key": "third_project",
"name": "My Project 3",
"isFavorite": false,
diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/ws/SearchProjectsActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/ws/SearchProjectsActionTest.java
index 0f1c5e3989c..1428b905147 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/component/ws/SearchProjectsActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/component/ws/SearchProjectsActionTest.java
@@ -151,8 +151,7 @@ public class SearchProjectsActionTest {
tuple("6.4", "The 'visibility' field is added"),
tuple("6.5", "The 'filter' parameter now allows 'NO_DATA' as value for numeric metrics"),
tuple("6.5", "Added the option 'analysisDate' for the 'sort' parameter"),
- tuple("6.5", "Value 'leakPeriodDate' is added to parameter 'f'"),
- tuple("6.6", "The 'id' field is removed from the response"));
+ tuple("6.5", "Value 'leakPeriodDate' is added to parameter 'f'"));
Param organization = def.param("organization");
assertThat(organization.isRequired()).isFalse();
@@ -205,23 +204,23 @@ public class SearchProjectsActionTest {
.setName("My Project 1")
.setTagsString("finance, java"),
new Measure(coverage, c -> c.setValue(80d)));
- insertProject(organization1Dto, c -> c
+ ComponentDto project2 = insertProject(organization1Dto, c -> c
.setDbKey(KeyExamples.KEY_PROJECT_EXAMPLE_002)
.setName("My Project 2"),
new Measure(coverage, c -> c.setValue(90d)));
- insertProject(organization2Dto, c -> c
+ ComponentDto project3 = insertProject(organization2Dto, c -> c
.setDbKey(KeyExamples.KEY_PROJECT_EXAMPLE_003)
.setName("My Project 3")
.setTagsString("sales, offshore, java"),
new Measure(coverage, c -> c.setValue(20d)));
addFavourite(project1);
- String result = ws.newRequest()
- .setParam(Param.FACETS, COVERAGE)
- .execute().getInput();
+ String jsonResult = ws.newRequest().setParam(Param.FACETS, COVERAGE).execute().getInput();
+ SearchProjectsWsResponse protobufResult = ws.newRequest().setParam(Param.FACETS, COVERAGE).executeProtobuf(SearchProjectsWsResponse.class);
- assertJson(result).withStrictArrayOrder().isSimilarTo(ws.getDef().responseExampleAsString());
- assertJson(ws.getDef().responseExampleAsString()).withStrictArrayOrder().isSimilarTo(result);
+ assertJson(jsonResult).withStrictArrayOrder().ignoreFields("id").isSimilarTo(ws.getDef().responseExampleAsString());
+ assertJson(ws.getDef().responseExampleAsString()).ignoreFields("id").withStrictArrayOrder().isSimilarTo(jsonResult);
+ assertThat(protobufResult.getComponentsList()).extracting(Component::getId).containsExactly(project1.uuid(), project2.uuid(), project3.uuid());
}
@Test