diff options
author | Simon Brandhof <simon.brandhof@gmail.com> | 2014-01-24 10:01:44 +0100 |
---|---|---|
committer | Simon Brandhof <simon.brandhof@gmail.com> | 2014-01-24 10:26:00 +0100 |
commit | 5c1b16ad0a7941ff3a5f02be6f926e3b7e5eae84 (patch) | |
tree | ac6d925873dd46df50f4cfc1ea974e3d13c67433 /sonar-testing-harness | |
parent | b16c495b004e952cea0cc9dba5beb303d7724840 (diff) | |
download | sonarqube-5c1b16ad0a7941ff3a5f02be6f926e3b7e5eae84.tar.gz sonarqube-5c1b16ad0a7941ff3a5f02be6f926e3b7e5eae84.zip |
SONAR-5010 improve WS API
* remove "throws Exception" from signature of RequestHandler
* add Request#action()
* prefer action "list" over "index"
Diffstat (limited to 'sonar-testing-harness')
-rw-r--r-- | sonar-testing-harness/src/main/java/org/sonar/api/server/ws/WsTester.java | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/sonar-testing-harness/src/main/java/org/sonar/api/server/ws/WsTester.java b/sonar-testing-harness/src/main/java/org/sonar/api/server/ws/WsTester.java index aad0844ea5c..6ae58c338cb 100644 --- a/sonar-testing-harness/src/main/java/org/sonar/api/server/ws/WsTester.java +++ b/sonar-testing-harness/src/main/java/org/sonar/api/server/ws/WsTester.java @@ -43,13 +43,18 @@ public class WsTester { public static class TestRequest extends Request { private final WebService.Controller controller; - private final String actionKey; + private final WebService.Action action; private String method = "GET"; private Map<String, String> params = new HashMap<String, String>(); - private TestRequest(WebService.Controller controller, String actionKey) { + private TestRequest(WebService.Controller controller, WebService.Action action) { this.controller = controller; - this.actionKey = actionKey; + this.action = action; + } + + @Override + public WebService.Action action() { + return action; } @Override @@ -81,10 +86,6 @@ public class WsTester { } public Result execute() throws Exception { - WebService.Action action = controller.action(actionKey); - if (action == null) { - throw new IllegalArgumentException("Action not found: " + actionKey); - } TestResponse response = new TestResponse(); action.handler().handle(this, response); return new Result(response); @@ -207,10 +208,17 @@ public class WsTester { if (context.controllers().size() != 1) { throw new IllegalStateException("The method newRequest(String) requires to define one, and only one, controller"); } - return new TestRequest(context.controllers().get(0), actionKey); + WebService.Controller controller = context.controllers().get(0); + WebService.Action action = controller.action(actionKey); + if (action == null) { + throw new IllegalArgumentException("Action not found: " + actionKey); + } + return new TestRequest(controller, action); } public TestRequest newRequest(String controllerPath, String actionKey) { - return new TestRequest(context.controller(controllerPath), actionKey); + WebService.Controller controller = context.controller(controllerPath); + WebService.Action action = controller.action(actionKey); + return new TestRequest(controller, action); } } |