]> source.dussan.org Git - sonarqube.git/commitdiff
Added pagination info in RuleSearchWS
authorStephane Gamard <stephane.gamard@searchbox.com>
Wed, 14 May 2014 10:30:37 +0000 (12:30 +0200)
committerStephane Gamard <stephane.gamard@searchbox.com>
Wed, 14 May 2014 10:31:07 +0000 (12:31 +0200)
sonar-server/src/main/java/org/sonar/server/rule2/ws/SearchAction.java
sonar-server/src/test/java/org/sonar/server/rule2/ws/RulesWebServiceTest.java
sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_2_rules.json
sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_active_rules.json
sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_active_rules_params.json
sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_no_rules.json [new file with mode: 0644]

index 54bb3732e3ca99b6242c78c2d5f0548370eceb63..adedeeda843f236eb4f670a4b5d7fa58a523e715 100644 (file)
@@ -195,6 +195,7 @@ public class SearchAction implements RequestHandler {
 
     JsonWriter json = response.newJsonWriter().beginObject();
     writeStatistics(results, json);
+    writeRequestParams(request, json);
     writeRules(results, json);
     json.endObject();
     json.close();
@@ -204,6 +205,10 @@ public class SearchAction implements RequestHandler {
     json.prop("total", results.getTotal());
   }
 
+  private void writeRequestParams(Request request,JsonWriter json ){
+    json.prop(PARAM_PAGE, request.mandatoryParamAsInt(PARAM_PAGE));
+    json.prop(PARAM_PAGE_SIZE, request.mandatoryParamAsInt(PARAM_PAGE_SIZE));
+  }
   private void writeRules(RuleResult result, JsonWriter json) {
 
     json.name("rules").beginArray();
index 7b648d506ff14f03d832d54715415a139d3b3c38..438e3c11b8b2797dfe363a7e7a25d1b15ae737e2 100644 (file)
@@ -96,7 +96,8 @@ public class RulesWebServiceTest {
     System.out.println("request.toString() = " + request.toString());
 
     WsTester.Result result = request.execute();
-    assertThat(result.outputAsString()).isEqualTo("{\"total\":0,\"rules\":[]}");
+
+    result.assertJson(this.getClass(), "search_no_rules.json");
   }
 
   @Test
index fb188308608c9459e71989e11bcaab3bb976f2c4..f41ade2b7759482dfdc7fe59a2c23d9fac15679c 100644 (file)
@@ -1,4 +1,4 @@
-{"total": 2, "rules": [
+{"total": 2, "p":1,"ps":25, "rules": [
     {
         "key": "javascript:S002",
         "repo": "javascript",
index 77fa4bbb7ea228428b276e9cc36f1b7c953652d0..84648237109ab0273507a8f9dbfe33ec534fab55 100644 (file)
@@ -1,4 +1,4 @@
-{"total": 1, "rules": [
+{"total": 1,"p":1,"ps":25, "rules": [
     {
         "key": "java:S001",
         "repo": "java",
diff --git a/sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_no_rules.json b/sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_no_rules.json
new file mode 100644 (file)
index 0000000..8c492f5
--- /dev/null
@@ -0,0 +1 @@
+{"total":0,"p":1,"ps":25,"rules":[]}
\ No newline at end of file