@Test public void verify_definition() { assertThat(wsTester.context().controllers()).hasSize(1); WebService.Controller controller = wsTester.context().controller("api/roots"); assertThat(controller.description()).isEqualTo("Manage root users"); assertThat(controller.since()).isEqualTo("6.2"); }
@Test public void no_web_services_by_default() { assertThat(context.controllers()).isEmpty(); assertThat(context.controller("metric")).isNull(); }
@Override public void handle(Request request, Response response) throws Exception { checkState(context != null && !context.controllers().isEmpty(), "Web service controllers must be loaded before calling the action"); boolean includeInternals = request.mandatoryParamAsBoolean("include_internals"); JsonWriter writer = response.newJsonWriter(); writer.beginObject(); writer.name("webServices").beginArray(); // sort controllers by path Ordering<WebService.Controller> ordering = Ordering.natural().onResultOf(WebService.Controller::path); for (WebService.Controller controller : ordering.sortedCopy(context.controllers())) { writeController(writer, controller, includeInternals); } writer.endArray(); writer.endObject(); writer.close(); }
@Override public void handle(Request request, Response response) throws Exception { checkState(context != null && !context.controllers().isEmpty(), "Web service controllers must be loaded before calling the action"); boolean includeInternals = request.mandatoryParamAsBoolean("include_internals"); JsonWriter writer = response.newJsonWriter(); writer.beginObject(); writer.name("webServices").beginArray(); // sort controllers by path Ordering<WebService.Controller> ordering = Ordering.natural().onResultOf(WebService.Controller::path); for (WebService.Controller controller : ordering.sortedCopy(context.controllers())) { writeController(writer, controller, includeInternals); } writer.endArray(); writer.endObject(); writer.close(); }
List<WebService.Controller> controllers() { return getContext().controllers(); }
List<WebService.Controller> controllers() { return getContext().controllers(); }
@Test public void define() { RestartAction action1 = new RestartAction(mock(UserSession.class), mock(ProcessCommandWrapper.class), mock(RestartFlagHolder.class), mock(WebServer.class)); InfoAction action2 = new InfoAction(new AnonymousMockUserSession(), mock(SystemInfoWriter.class)); SystemWs ws = new SystemWs(action1, action2); WebService.Context context = new WebService.Context(); ws.define(context); assertThat(context.controllers()).hasSize(1); assertThat(context.controller("api/system").actions()).hasSize(2); assertThat(context.controller("api/system").action("info")).isNotNull(); } }