@Override public void define(Context context) { NewController controller = context.createController("api/updatecenter") .setDescription("Get list of installed plugins") .setSince("2.10"); Arrays.stream(actions).forEach(action -> action.define(controller)); controller.done(); } }
@Override public void define(Context context) { NewController controller = context.createController("api/project_pull_requests") .setSince("7.1") .setDescription("Manage pull request (only available when the Branch plugin is installed)"); stream(actions).forEach(action -> action.define(controller)); controller.done(); }
@Override public void define(Context context) { NewController controller = context.createController(CONTROLLER) .setSince("2.10") .setDescription("Manage project existence."); Arrays.stream(actions).forEach(action -> action.define(controller)); controller.done(); }
@Override public void define(Context context) { NewController languages = context.createController("api/languages") .setDescription("Get the list of programming languages supported in this instance.") .setSince("5.1"); list.define(languages); languages.done(); }
@Test public void log_if_action_description_is_empty() { ((WebService) context -> { NewController newController = context.createController("api/rule"); newDefaultAction(newController, "list") .setDescription(""); newController.done(); }).define(context); assertThat(logTester.logs(LoggerLevel.WARN)) .contains("Description is not set on action api/rule/list"); }
@Test public void post_action_without_response_example() { WebService ws = context -> { NewController newController = context.createController("api/rule"); newDefaultAction(newController, "list").setPost(true).setResponseExample(null); newController.done(); }; ws.define(context); assertThat(logTester.logs(LoggerLevel.WARN)) .doesNotContain("The response example is not set on action api/rule/list"); }
@Test public void param_with_maximum_value() { ((WebService) context -> { NewController newController = context.createController("api/custom_measures"); NewAction create = newDefaultAction(newController, "create"); create.createParam("numeric_value") .setMaximumValue(10); newController.done(); }).define(context); WebService.Action action = context.controller("api/custom_measures").action("create"); assertThat(action.param("numeric_value").maximumValue()).isEqualTo(10); }
@Override public void define(Context context) { NewController controller = context.createController("api/plugins"); controller.setDescription("Manage the plugins on the server, including installing, uninstalling, and upgrading.") .setSince("5.2"); for (PluginsWsAction action : actions) { action.define(controller); } controller.done(); } }
@Override public void define(Context context) { NewController controller = context.createController(ENDPOINT) .setDescription("Manage custom measures for a project. See also api/metrics.<br/>" + "Custom measures are deprecated. Please use projects tags instead.") .setSince("5.2"); for (CustomMeasuresWsAction action : actions) { action.define(controller); } controller.done(); } }
@Override public void define(Context context) { NewController controller = context.createController(ENDPOINT); controller.setDescription("Get information on automatic metrics, and manage custom metrics. See also api/custom_measures."); controller.setSince("2.6"); for (MetricsWsAction action : actions) { action.define(controller); } controller.done(); } }
@Override public void define(Context context) { NewController controller = context.createController("api/favorites") .setDescription("Manage user favorites") .setSince("6.3"); for (FavoritesWsAction action : actions) { action.define(controller); } controller.done(); } }
@Test public void log_if_action_description_is_null() { ((WebService) context -> { NewController newController = context.createController("api/rule"); newDefaultAction(newController, "list") .setDescription(null); newController.done(); }).define(context); assertThat(logTester.logs(LoggerLevel.WARN)) .contains("Description is not set on action api/rule/list"); }
@Test public void fail_if_get_and_no_response_example() { ((WebService) context -> { NewController newController = context.createController("api/rule"); newDefaultAction(newController, "list").setResponseExample(null); newController.done(); }).define(context); assertThat(logTester.logs(LoggerLevel.WARN)) .contains("The response example is not set on action api/rule/list"); }
@Test public void fail_if_required_param_has_default_value() { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Default value must not be set on parameter 'api/rule/create?key' as it's marked as required"); ((WebService) context -> { NewController controller = context.createController("api/rule"); NewAction action = newDefaultAction(controller, "create"); action.createParam("key").setRequired(true).setDefaultValue("abc"); controller.done(); }).define(context); }
@Test public void param_with_minimum_length() { ((WebService) context -> { NewController newController = context.createController("api/custom_measures"); NewAction create = newDefaultAction(newController, "create"); create.createParam("string_value") .setMinimumLength(3); newController.done(); }).define(context); WebService.Action action = context.controller("api/custom_measures").action("create"); assertThat(action.param("string_value").minimumLength()).isEqualTo(3); }
@Test public void fail_if_duplicated_ws_keys() { expectedException.expect(IllegalStateException.class); expectedException.expectMessage("The web service 'api/metric' is defined multiple times"); MetricWs metricWs = new MetricWs(); metricWs.define(context); ((WebService) context -> { NewController newController = context.createController("api/metric"); newDefaultAction(newController, "delete"); newController.done(); }).define(context); }
@Override public void define(Context context) { NewController controller = context.createController("api/user_groups") .setDescription("Manage user groups.") .setSince("5.2"); for (UserGroupsWsAction action : actions) { action.define(controller); } controller.done(); }
@Override public void define(Context context) { NewController controller = context .createController("api/rules") .setDescription("Get and update some details of automatic rules, and manage custom rules."); for (RulesWsAction action : actions) { action.define(controller); } controller.done(); } }
@Override public void define(Context context) { NewController controller = context.createController(CONTROLLER); controller.setDescription("Manage permission templates, and the granting and revoking of permissions at the global and project levels."); controller.setSince("3.7"); for (PermissionsWsAction action : actions) { action.define(controller); } controller.done(); } }
@Override public void define(Context context) { NewController controller = context.createController("api/user_properties"); controller.setDescription("Removed since 6.3, please use api/favorites and api/notifications instead"); controller.setSince("2.6"); defineIndexAction(controller); controller.done(); }