From 7774bfe48a8028c799cbe7cf322bcd6f0dddda47 Mon Sep 17 00:00:00 2001 From: Guillaume Jambet Date: Tue, 7 Nov 2017 11:14:06 +0100 Subject: SONAR-10046 adding minimum length validation to Request api --- .../src/main/java/org/sonar/server/ws/ws/ListAction.java | 1 + .../resources/org/sonar/server/ws/ws/list-example.json | 14 ++++++++++---- .../java/org/sonar/server/ws/ws/WebServicesWsTest.java | 11 +++++++++-- .../ws/ws/WebServicesWsTest/list_including_internals.json | 11 ++++++++++- 4 files changed, 30 insertions(+), 7 deletions(-) (limited to 'server') diff --git a/server/sonar-server/src/main/java/org/sonar/server/ws/ws/ListAction.java b/server/sonar-server/src/main/java/org/sonar/server/ws/ws/ListAction.java index 126bfd341f6..d2e5ef809c1 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/ws/ws/ListAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/ws/ws/ListAction.java @@ -136,6 +136,7 @@ public class ListAction implements WebServicesWsAction { writer.prop("maxValuesAllowed", param.maxValuesAllowed()); ofNullable(param.possibleValues()).ifPresent(possibleValues -> writer.name("possibleValues").beginArray().values(possibleValues).endArray()); ofNullable(param.maximumLength()).ifPresent(maximumLength -> writer.prop("maximumLength", maximumLength)); + ofNullable(param.minimumLength()).ifPresent(minimumLength -> writer.prop("minimumLength", minimumLength)); ofNullable(param.maximumValue()).ifPresent(maximumValue -> writer.prop("maximumValue", maximumValue)); writer.endObject(); } diff --git a/server/sonar-server/src/main/resources/org/sonar/server/ws/ws/list-example.json b/server/sonar-server/src/main/resources/org/sonar/server/ws/ws/list-example.json index ade270b1dbd..a01a7493008 100644 --- a/server/sonar-server/src/main/resources/org/sonar/server/ws/ws/list-example.json +++ b/server/sonar-server/src/main/resources/org/sonar/server/ws/ws/list-example.json @@ -29,10 +29,17 @@ ], "params": [ { - "key": "maximum_value", - "maximumValue": 12, + "key": "constrained_numeric_param", "required": false, - "internal": false + "internal": false, + "maximumValue": 12 + }, + { + "key": "constrained_string_param", + "required": false, + "internal": false, + "maximumLength": 64, + "minimumLength": 3 }, { "key": "name", @@ -41,7 +48,6 @@ }, { "key": "severity", - "maximumLength": 20, "description": "Severity", "required": false, "internal": false, diff --git a/server/sonar-server/src/test/java/org/sonar/server/ws/ws/WebServicesWsTest.java b/server/sonar-server/src/test/java/org/sonar/server/ws/ws/WebServicesWsTest.java index d9e1fc2fc4f..7151638d961 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/ws/ws/WebServicesWsTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/ws/ws/WebServicesWsTest.java @@ -114,7 +114,6 @@ public class WebServicesWsTest { create .createParam("severity") - .setMaximumLength(20) .setDescription("Severity") .setSince("4.4") .setDeprecatedSince("5.2") @@ -125,7 +124,15 @@ public class WebServicesWsTest { .setDefaultValue("BLOCKER"); create.createParam("name"); create.createParam("internal").setInternal(true); - create.createParam("maximum_value").setMaximumValue(12); + + create + .createParam("constrained_string_param") + .setMaximumLength(64) + .setMinimumLength(3); + + create + .createParam("constrained_numeric_param") + .setMaximumValue(12); newController.createAction("internal_action") .setDescription("Internal Action Description") diff --git a/server/sonar-server/src/test/resources/org/sonar/server/ws/ws/WebServicesWsTest/list_including_internals.json b/server/sonar-server/src/test/resources/org/sonar/server/ws/ws/WebServicesWsTest/list_including_internals.json index dddcd8edbe6..d118e6e60cf 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/ws/ws/WebServicesWsTest/list_including_internals.json +++ b/server/sonar-server/src/test/resources/org/sonar/server/ws/ws/WebServicesWsTest/list_including_internals.json @@ -14,9 +14,18 @@ "hasResponseExample": true, "params": [ { - "key": "maximum_value", + "key": "constrained_numeric_param", + "required": false, + "internal": false, "maximumValue": 12 }, + { + "key": "constrained_string_param", + "required": false, + "internal": false, + "maximumLength": 64, + "minimumLength": 3 + }, { "key": "name", "required": false, -- cgit v1.2.3