]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-7889 Return id and deprecate uuid in api/qualityprofiles/projects
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Fri, 15 Jul 2016 10:34:11 +0000 (12:34 +0200)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Fri, 15 Jul 2016 14:52:29 +0000 (16:52 +0200)
12 files changed:
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProjectsAction.java
server/sonar-server/src/main/resources/org/sonar/server/qualityprofile/ws/example-projects.json
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ProjectsActionTest.java
server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/all.json
server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/all_filtered.json
server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/authorized_selected.json
server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/deselected.json
server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/return_deprecated_uuid_field.json [new file with mode: 0644]
server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_page1.json
server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_page2.json
server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_ps3_page1.json
server/sonar-server/src/test/resources/org/sonar/server/qualityprofile/ws/ProjectsActionTest/selected_ps3_page2.json

index 8e13ad5899cdf367c486085bff5610c3af8edb63..130474ab6f3a5f9fc3c816768b09480da035fba3 100644 (file)
@@ -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())
index e88ba52579562348b1eb57b0371dcff9aa088362..8da87945f8417d1bf948a0f44a93d7f85e44aaa6 100644 (file)
@@ -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
index 0fb8e20c6b8b98398180073d1c43331449b9a48d..a54473afbec58064c821e6e13f1e9440537d0f32 100644 (file)
@@ -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();
index eddf70a0ed7acbe274e3a62a51d4e87b356c754f..c5af6b1dd32f3a3d852a1bde1dd687ad40f239f6 100644 (file)
@@ -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
index 9f05b72bc2b0e716362769f4c955b5e7806945d9..76ef1f18a49ab0f90627cf901b285d6ed18c500d 100644 (file)
@@ -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
index 304782c059300dce899d4f60b50006684b9f3361..786617f8b926f126fed18d6e72deb2cd09837672 100644 (file)
@@ -2,7 +2,7 @@
   "results":
   [
     {
-      "uuid": "ABCD",
+      "id": "ABCD",
       "key": "KEY_ABCD",
       "name": "Project One",
       "selected": true
index 8e82fb5f10dee1155dced321981addd1a64af6f8..f4a11d0044af572a3da0f7b3334c053749dfc5d9 100644 (file)
@@ -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 (file)
index 0000000..698b409
--- /dev/null
@@ -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
+}
index 9d0347150371d19fd286aa8c4ff5310dea6e2a88..0633017aece9ef4a56d13a88c388da485a57ff29 100644 (file)
@@ -2,7 +2,7 @@
   "results":
   [
     {
-      "uuid": "DEFA",
+      "id": "DEFA",
       "key": "KEY_DEFA",
       "name": "Project Four",
       "selected": true
index 993c5455f1a44777504e384ef3e02ab2cce3bae9..f32c97b7946140926cd434cf752544e5ef26b5d6 100644 (file)
@@ -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
index d8ba3e523ccbd91199ad9525e8391f8503253b48..adc3dfb5657b8129755b3b280301f11aff9d1259 100644 (file)
@@ -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
index a59b347d3fcb51ef531da84f834b94d1d2cea1b5..51941a6cbceda9e6cf1e623be607e0a47ca51990 100644 (file)
@@ -2,7 +2,7 @@
   "results":
   [
     {
-      "uuid": "BCDE",
+      "id": "BCDE",
       "key": "KEY_BCDE",
       "name": "Project Two",
       "selected": true