From c15d7c47912a4c456c363c1d3001a14f1ac9e06f Mon Sep 17 00:00:00 2001 From: Stephane Gamard Date: Wed, 14 May 2014 12:30:37 +0200 Subject: [PATCH] Added pagination info in RuleSearchWS --- .../main/java/org/sonar/server/rule2/ws/SearchAction.java | 5 +++++ .../java/org/sonar/server/rule2/ws/RulesWebServiceTest.java | 3 ++- .../server/rule2/ws/RulesWebServiceTest/search_2_rules.json | 2 +- .../rule2/ws/RulesWebServiceTest/search_active_rules.json | 2 +- .../ws/RulesWebServiceTest/search_active_rules_params.json | 2 +- .../server/rule2/ws/RulesWebServiceTest/search_no_rules.json | 1 + 6 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_no_rules.json diff --git a/sonar-server/src/main/java/org/sonar/server/rule2/ws/SearchAction.java b/sonar-server/src/main/java/org/sonar/server/rule2/ws/SearchAction.java index 54bb3732e3c..adedeeda843 100644 --- a/sonar-server/src/main/java/org/sonar/server/rule2/ws/SearchAction.java +++ b/sonar-server/src/main/java/org/sonar/server/rule2/ws/SearchAction.java @@ -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(); diff --git a/sonar-server/src/test/java/org/sonar/server/rule2/ws/RulesWebServiceTest.java b/sonar-server/src/test/java/org/sonar/server/rule2/ws/RulesWebServiceTest.java index 7b648d506ff..438e3c11b8b 100644 --- a/sonar-server/src/test/java/org/sonar/server/rule2/ws/RulesWebServiceTest.java +++ b/sonar-server/src/test/java/org/sonar/server/rule2/ws/RulesWebServiceTest.java @@ -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 diff --git a/sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_2_rules.json b/sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_2_rules.json index fb188308608..f41ade2b775 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_2_rules.json +++ b/sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_2_rules.json @@ -1,4 +1,4 @@ -{"total": 2, "rules": [ +{"total": 2, "p":1,"ps":25, "rules": [ { "key": "javascript:S002", "repo": "javascript", diff --git a/sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_active_rules.json b/sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_active_rules.json index 77fa4bbb7ea..84648237109 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_active_rules.json +++ b/sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_active_rules.json @@ -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_active_rules_params.json b/sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_active_rules_params.json index 2fd13e24191..54584e7cdf4 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_active_rules_params.json +++ b/sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_active_rules_params.json @@ -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 index 00000000000..8c492f5d4b2 --- /dev/null +++ b/sonar-server/src/test/resources/org/sonar/server/rule2/ws/RulesWebServiceTest/search_no_rules.json @@ -0,0 +1 @@ +{"total":0,"p":1,"ps":25,"rules":[]} \ No newline at end of file -- 2.39.5