]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6615 ws custom_measures/search update documentation and tests to include the...
authorTeryk Bellahsene <teryk.bellahsene@sonarsource.com>
Tue, 14 Jul 2015 13:10:58 +0000 (15:10 +0200)
committerTeryk Bellahsene <teryk.bellahsene@sonarsource.com>
Tue, 14 Jul 2015 13:10:58 +0000 (15:10 +0200)
server/sonar-server/src/main/java/org/sonar/server/measure/custom/ws/SearchAction.java
server/sonar-server/src/main/resources/org/sonar/server/measure/custom/ws/example-search.json
server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/CreateActionTest.java
server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/SearchActionTest.java
server/sonar-server/src/test/resources/org/sonar/server/measure/custom/ws/SearchActionTest/custom-measures.json [new file with mode: 0644]
server/sonar-server/src/test/resources/org/sonar/server/measure/custom/ws/SearchActionTest/metrics.json [deleted file]

index 9c40edbd6484771ffcde27d5a5108789af752ba3..07034962fabb4fb9ef6bb4a41f0477a36aa18500 100644 (file)
@@ -130,7 +130,7 @@ public class SearchAction implements CustomMeasuresWsAction {
   }
 
   private void writeResponse(Response response, List<CustomMeasureDto> customMeasures, int nbCustomMeasures, ComponentDto project, Map<Integer, MetricDto> metricsById,
-    Map<String, User> usersByLogin, @Nullable Long lastAnalysisDate, SearchOptions searchOptions, List<String> fieldsToReturn) {
+                             Map<String, User> usersByLogin, @Nullable Long lastAnalysisDate, SearchOptions searchOptions, List<String> fieldsToReturn) {
     JsonWriter json = response.newJsonWriter();
     json.beginObject();
     customMeasureJsonWriter.write(json, customMeasures, project, metricsById, usersByLogin, lastAnalysisDate, fieldsToReturn);
index bbdb201c18e2a9fc5013cf63eceea2bb5181fce5..bfe0c9891d084c89a4533eece30952d02c4c88ee 100644 (file)
@@ -4,10 +4,13 @@
       "description": "New arrivals",
       "metric": {
         "key": "team_size",
+        "name": "Team Size",
+        "domain": "Tests",
         "type": "INT"
       },
       "projectId": "project-uuid",
       "projectKey": "project-key",
+      "pending": true,
       "user": {
         "active": true,
         "email": "login@login.com",
       "description": "New funds",
       "metric": {
         "key": "burned_budget",
+        "name": "Burned Budget",
+        "domain": "Activity",
         "type": "INT"
       },
       "projectId": "project-uuid",
       "projectKey": "project-key",
+      "pending": false,
       "user": {
         "active": true,
         "email": "login@login.com",
       "description": "Great coverage",
       "metric": {
         "key": "uncovered_lines",
+        "name": "Uncovered lines",
+        "domain": "Code Coverage",
         "type": "INT"
       },
       "projectId": "project-uuid",
       "projectKey": "project-key",
+      "pending": false,
       "user": {
         "active": true,
         "email": "login@login.com",
index 54d0f03c39a84b8b4a45e20c7fd492fecf3d4498..ecf2acf19543b8b5e4b498f473afab6c35d985ef 100644 (file)
@@ -46,6 +46,7 @@ import org.sonar.server.component.ComponentFinder;
 import org.sonar.server.component.ComponentTesting;
 import org.sonar.server.db.DbClient;
 import org.sonar.server.es.EsTester;
+import org.sonar.server.exceptions.BadRequestException;
 import org.sonar.server.exceptions.ForbiddenException;
 import org.sonar.server.exceptions.NotFoundException;
 import org.sonar.server.exceptions.ServerException;
@@ -393,8 +394,7 @@ public class CreateActionTest {
   public void fail_when_value_is_not_well_formatted() throws Exception {
     MetricDto metric = insertMetricAndProject(ValueType.BOOL, DEFAULT_PROJECT_UUID);
 
-    expectedException.expect(IllegalArgumentException.class);
-    expectedException.expectMessage("Incorrect value 'non-correct-boolean-value' for metric type 'BOOL'");
+    expectedException.expect(BadRequestException.class);
 
     newRequest()
       .setParam(CreateAction.PARAM_PROJECT_ID, DEFAULT_PROJECT_UUID)
index 31354e2e91b79009d0facf9d4ec0d23e42b6514a..61b30a7dcc41a8a9b9e14426da99d27b22ef2f7d 100644 (file)
@@ -125,7 +125,7 @@ public class SearchActionTest {
       .setParam(SearchAction.PARAM_PROJECT_ID, DEFAULT_PROJECT_UUID)
       .execute();
 
-    response.assertJson(getClass(), "metrics.json");
+    response.assertJson(getClass(), "custom-measures.json");
     String responseAsString = response.outputAsString();
     assertThat(responseAsString).matches(nameStringValuePattern("id", metric1.getId().toString()));
     assertThat(responseAsString).matches(nameStringValuePattern("id", metric2.getId().toString()));
@@ -302,7 +302,7 @@ public class SearchActionTest {
   }
 
   private static MetricDto newCustomMetric(String metricKey) {
-    return newMetricDto().setEnabled(true).setUserManaged(true).setKey(metricKey).setValueType(ValueType.STRING.name());
+    return newMetricDto().setEnabled(true).setUserManaged(true).setKey(metricKey).setDomain(metricKey + "-domain").setShortName(metricKey + "-name").setValueType(ValueType.STRING.name());
   }
 
   private CustomMeasureDto insertCustomMeasure(int id, MetricDto metric) {
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/measure/custom/ws/SearchActionTest/custom-measures.json b/server/sonar-server/src/test/resources/org/sonar/server/measure/custom/ws/SearchActionTest/custom-measures.json
new file mode 100644 (file)
index 0000000..342ef9a
--- /dev/null
@@ -0,0 +1,64 @@
+{
+  "customMeasures": [
+    {
+      "description": "description-1",
+      "metric": {
+        "key": "metric-key-1",
+        "name": "metric-key-1-name",
+        "domain": "metric-key-1-domain",
+        "type": "STRING"
+      },
+      "projectId": "project-uuid",
+      "projectKey": "project-key",
+      "pending":true,
+      "user": {
+        "active": true,
+        "email": "login@login.com",
+        "login": "login",
+        "name": "Login"
+      },
+      "value": "text-value-1"
+    },
+    {
+      "description": "description-2",
+      "metric": {
+        "key": "metric-key-2",
+        "name": "metric-key-2-name",
+        "domain": "metric-key-2-domain",
+        "type": "STRING"
+      },
+      "projectId": "project-uuid",
+      "projectKey": "project-key",
+      "pending":true,
+      "user": {
+        "active": true,
+        "email": "login@login.com",
+        "login": "login",
+        "name": "Login"
+      },
+      "value": "text-value-2"
+    },
+    {
+      "description": "description-3",
+      "metric": {
+        "key": "metric-key-3",
+        "name": "metric-key-3-name",
+        "domain": "metric-key-3-domain",
+        "type": "STRING"
+      },
+      "projectId": "project-uuid",
+      "projectKey": "project-key",
+      "pending":true,
+      "user": {
+        "active": true,
+        "email": "login@login.com",
+        "login": "login",
+        "name": "Login"
+      },
+      "value": "text-value-3"
+    }
+  ],
+  "p": 1,
+  "ps": 100,
+  "total": 3
+}
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/measure/custom/ws/SearchActionTest/metrics.json b/server/sonar-server/src/test/resources/org/sonar/server/measure/custom/ws/SearchActionTest/metrics.json
deleted file mode 100644 (file)
index 5b1cb2a..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-{
-  "customMeasures": [
-    {
-      "description": "description-1",
-      "metric": {
-        "key": "metric-key-1",
-        "type": "STRING"
-      },
-      "projectId": "project-uuid",
-      "projectKey": "project-key",
-      "pending":true,
-      "user": {
-        "active": true,
-        "email": "login@login.com",
-        "login": "login",
-        "name": "Login"
-      },
-      "value": "text-value-1"
-    },
-    {
-      "description": "description-2",
-      "metric": {
-        "key": "metric-key-2",
-        "type": "STRING"
-      },
-      "projectId": "project-uuid",
-      "projectKey": "project-key",
-      "pending":true,
-      "user": {
-        "active": true,
-        "email": "login@login.com",
-        "login": "login",
-        "name": "Login"
-      },
-      "value": "text-value-2"
-    },
-    {
-      "description": "description-3",
-      "metric": {
-        "key": "metric-key-3",
-        "type": "STRING"
-      },
-      "projectId": "project-uuid",
-      "projectKey": "project-key",
-      "pending":true,
-      "user": {
-        "active": true,
-        "email": "login@login.com",
-        "login": "login",
-        "name": "Login"
-      },
-      "value": "text-value-3"
-    }
-  ],
-  "p": 1,
-  "ps": 100,
-  "total": 3
-}