From 31aaa06f409a98a27e4f2ce1696676b78ee57ded Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Fri, 15 Jul 2016 12:34:11 +0200 Subject: [PATCH] SONAR-7889 Return id and deprecate uuid in api/qualityprofiles/projects --- .../qualityprofile/ws/ProjectsAction.java | 2 ++ .../qualityprofile/ws/example-projects.json | 8 ++--- .../qualityprofile/ws/ProjectsActionTest.java | 19 +++++++++++ .../ws/ProjectsActionTest/all.json | 8 ++--- .../ws/ProjectsActionTest/all_filtered.json | 4 +-- .../authorized_selected.json | 2 +- .../ws/ProjectsActionTest/deselected.json | 4 +-- .../return_deprecated_uuid_field.json | 33 +++++++++++++++++++ .../ws/ProjectsActionTest/selected_page1.json | 2 +- .../ws/ProjectsActionTest/selected_page2.json | 4 +-- .../selected_ps3_page1.json | 6 ++-- .../selected_ps3_page2.json | 2 +- 12 files changed, 74 insertions(+), 20 deletions(-) create mode 100644 server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/return_deprecated_uuid_field.json diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProjectsAction.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProjectsAction.java index 8e13ad5899c..130474ab6f3 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProjectsAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProjectsAction.java @@ -164,7 +164,9 @@ public class ProjectsAction implements QProfileWsAction { json.name("results").beginArray(); for (ProjectQprofileAssociationDto project : projects) { json.beginObject() + // uuid is deprecated since 6.0 .prop("uuid", project.getProjectUuid()) + .prop("id", project.getProjectUuid()) .prop("key", project.getProjectKey()) .prop("name", project.getProjectName()) .prop("selected", project.isAssociated()) diff --git a/server/sonar-server/src/main/resources/org/sonar/server/qualityprofile/ws/example-projects.json b/server/sonar-server/src/main/resources/org/sonar/server/qualityprofile/ws/example-projects.json index e88ba525795..8da87945f84 100644 --- a/server/sonar-server/src/main/resources/org/sonar/server/qualityprofile/ws/example-projects.json +++ b/server/sonar-server/src/main/resources/org/sonar/server/qualityprofile/ws/example-projects.json @@ -1,25 +1,25 @@ { "results": [ { - "uuid": "5eab015a-1f76-4ba4-bd89-bf547132d673", + "id": "5eab015a-1f76-4ba4-bd89-bf547132d673", "key": "org.sonarsource.javascript:javascript", "name": "JavaScript Plugin", "selected": true }, { - "uuid": "f1ab623e-d00d-401b-bf9e-c45e91976bf0", + "id": "f1ab623e-d00d-401b-bf9e-c45e91976bf0", "key": "org.jenkins-ci.plugins:sonar", "name": "Jenkins SonarQube Plugin", "selected": false }, { - "uuid": "69e57151-be0d-4157-adff-c06741d88879", + "id": "69e57151-be0d-4157-adff-c06741d88879", "key": "org.sonarsource.sonarqube:sonarqube", "name": "SonarQube", "selected": false }, { - "uuid": "c355a0fe-9b77-4d39-9837-8364a41ce10d", + "id": "c355a0fe-9b77-4d39-9837-8364a41ce10d", "key": "org.sonarsource.android:sonar-android", "name": "SonarQube Android Plugin", "selected": false diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ProjectsActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ProjectsActionTest.java index 0fb8e20c6b8..a54473afbec 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ProjectsActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ProjectsActionTest.java @@ -212,6 +212,25 @@ public class ProjectsActionTest { newRequest().setParam("key", "unknown").setParam("selected", "all").execute(); } + @Test + public void return_deprecated_uuid_field() throws Exception { + project1 = newProject("ABCD", "Project One"); + project2 = newProject("BCDE", "Project Two"); + project3 = newProject("CDEF", "Project Three"); + project4 = newProject("DEFA", "Project Four"); + dbClient.componentDao().insert(session, project1, project2, project3, project4); + + addBrowsePermissionToAnyone(session, project1, project2, project3, project4); + + associateProjectsWithProfile(session, xooP1, project1, project2); + // project3 is associated with P2, must appear as not associated with xooP1 + associateProjectsWithProfile(session, xooP2, project3); + + session.commit(); + + newRequest().setParam("key", xooP1.getKey()).setParam("selected", "all").execute().assertJson(this.getClass(), "return_deprecated_uuid_field.json"); + } + private void createProfiles() { xooP1 = QProfileTesting.newXooP1(); xooP2 = QProfileTesting.newXooP2(); diff --git a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/all.json b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/all.json index eddf70a0ed7..c5af6b1dd32 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/all.json +++ b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/all.json @@ -1,25 +1,25 @@ { "results": [ { - "uuid": "DEFA", + "id": "DEFA", "key": "KEY_DEFA", "name": "Project Four", "selected": false }, { - "uuid": "ABCD", + "id": "ABCD", "key": "KEY_ABCD", "name": "Project One", "selected": true }, { - "uuid": "CDEF", + "id": "CDEF", "key": "KEY_CDEF", "name": "Project Three", "selected": false }, { - "uuid": "BCDE", + "id": "BCDE", "key": "KEY_BCDE", "name": "Project Two", "selected": true diff --git a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/all_filtered.json b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/all_filtered.json index 9f05b72bc2b..76ef1f18a49 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/all_filtered.json +++ b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/all_filtered.json @@ -2,13 +2,13 @@ "results": [ { - "uuid": "CDEF", + "id": "CDEF", "key": "KEY_CDEF", "name": "Project Three", "selected": false }, { - "uuid": "BCDE", + "id": "BCDE", "key": "KEY_BCDE", "name": "Project Two", "selected": true diff --git a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/authorized_selected.json b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/authorized_selected.json index 304782c0593..786617f8b92 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/authorized_selected.json +++ b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/authorized_selected.json @@ -2,7 +2,7 @@ "results": [ { - "uuid": "ABCD", + "id": "ABCD", "key": "KEY_ABCD", "name": "Project One", "selected": true diff --git a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/deselected.json b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/deselected.json index 8e82fb5f10d..f4a11d0044a 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/deselected.json +++ b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/deselected.json @@ -2,13 +2,13 @@ "results": [ { - "uuid": "DEFA", + "id": "DEFA", "key": "KEY_DEFA", "name": "Project Four", "selected": false }, { - "uuid": "CDEF", + "id": "CDEF", "key": "KEY_CDEF", "name": "Project Three", "selected": false diff --git a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/return_deprecated_uuid_field.json b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/return_deprecated_uuid_field.json new file mode 100644 index 00000000000..698b409356d --- /dev/null +++ b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/return_deprecated_uuid_field.json @@ -0,0 +1,33 @@ +{ + "results": [ + { + "uuid": "DEFA", + "id": "DEFA", + "key": "KEY_DEFA", + "name": "Project Four", + "selected": false + }, + { + "uuid": "ABCD", + "id": "ABCD", + "key": "KEY_ABCD", + "name": "Project One", + "selected": true + }, + { + "uuid": "CDEF", + "id": "CDEF", + "key": "KEY_CDEF", + "name": "Project Three", + "selected": false + }, + { + "uuid": "BCDE", + "id": "BCDE", + "key": "KEY_BCDE", + "name": "Project Two", + "selected": true + } + ], + "more": false +} diff --git a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_page1.json b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_page1.json index 9d034715037..0633017aece 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_page1.json +++ b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_page1.json @@ -2,7 +2,7 @@ "results": [ { - "uuid": "DEFA", + "id": "DEFA", "key": "KEY_DEFA", "name": "Project Four", "selected": true diff --git a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_page2.json b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_page2.json index 993c5455f1a..f32c97b7946 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_page2.json +++ b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_page2.json @@ -2,13 +2,13 @@ "results": [ { - "uuid": "CDEF", + "id": "CDEF", "key": "KEY_CDEF", "name": "Project Three", "selected": true }, { - "uuid": "BCDE", + "id": "BCDE", "key": "KEY_BCDE", "name": "Project Two", "selected": true diff --git a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_ps3_page1.json b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_ps3_page1.json index d8ba3e523cc..adc3dfb5657 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_ps3_page1.json +++ b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_ps3_page1.json @@ -2,19 +2,19 @@ "results": [ { - "uuid": "DEFA", + "id": "DEFA", "key": "KEY_DEFA", "name": "Project Four", "selected": true }, { - "uuid": "ABCD", + "id": "ABCD", "key": "KEY_ABCD", "name": "Project One", "selected": true }, { - "uuid": "CDEF", + "id": "CDEF", "key": "KEY_CDEF", "name": "Project Three", "selected": true diff --git a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_ps3_page2.json b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_ps3_page2.json index a59b347d3fc..51941a6cbce 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_ps3_page2.json +++ b/server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_ps3_page2.json @@ -2,7 +2,7 @@ "results": [ { - "uuid": "BCDE", + "id": "BCDE", "key": "KEY_BCDE", "name": "Project Two", "selected": true -- 2.39.5