@Test public void test_definition() { WebService.Action def = ws.getDef(); assertThat(def.isPost()).isFalse(); assertThat(def.since()).isEqualTo("4.4"); assertThat(def.isInternal()).isFalse(); assertThat(def.responseExampleAsString()).isNotEmpty(); assertThat(def.params()).hasSize(24); WebService.Param compareToProfile = def.param("compareToProfile"); assertThat(compareToProfile.since()).isEqualTo("6.5"); assertThat(compareToProfile.isRequired()).isFalse(); assertThat(compareToProfile.isInternal()).isTrue(); assertThat(compareToProfile.description()).isEqualTo("Quality profile key to filter rules that are activated. Meant to compare easily to profile set in 'qprofile'"); }
@Test public void definition() { WebService.Action definition = ws.getDef(); assertThat(definition.key()).isEqualTo("set"); assertThat(definition.isPost()).isTrue(); assertThat(definition.isInternal()).isFalse(); assertThat(definition.since()).isEqualTo("6.1"); assertThat(definition.params()).extracting(Param::key) .containsOnly("key", "value", "values", "fieldValues", "component", "branch", "pullRequest"); Param branch = definition.param("branch"); assertThat(branch.isInternal()).isTrue(); assertThat(branch.since()).isEqualTo("6.6"); assertThat(branch.description()).isEqualTo("Branch key. Only available on following settings : sonar.leak.period"); }
@Test public void definition() { WebService.Action action = ws.getDef(); assertThat(action.key()).isEqualTo("ghosts"); assertThat(action.description()).isEqualTo("List ghost projects.<br> " + "With the current architecture, it's no more possible to have invisible ghost projects. Therefore, the web service is deprecated.<br> " + "Requires 'Administer System' permission."); assertThat(action.since()).isEqualTo("5.2"); assertThat(action.isInternal()).isFalse(); assertThat(action.deprecatedSince()).isEqualTo("6.6"); assertThat(action.params()).hasSize(5); Param organization = action.param("organization"); assertThat(organization.description()).isEqualTo("Organization key"); assertThat(organization.since()).isEqualTo("6.3"); assertThat(organization.isRequired()).isFalse(); assertThat(organization.isInternal()).isTrue(); }
@Test public void verify_definition() { WebService.Action action = ws.getDef(); assertThat(action.key()).isEqualTo("set_homepage"); assertThat(action.isInternal()).isTrue(); assertThat(action.isPost()).isTrue(); assertThat(action.since()).isEqualTo("7.0"); assertThat(action.description()).isEqualTo("Set homepage of current user.<br> Requires authentication."); assertThat(action.responseExample()).isNull(); assertThat(action.params()).hasSize(4); WebService.Param typeParam = action.param("type"); assertThat(typeParam.isRequired()).isTrue(); assertThat(typeParam.description()).isEqualTo("Type of the requested page"); WebService.Param componentParam = action.param("component"); assertThat(componentParam.isRequired()).isFalse(); assertThat(componentParam.description()).isEqualTo("Project key. It should only be used when parameter 'type' is set to 'PROJECT'"); assertThat(componentParam.since()).isEqualTo("7.1"); WebService.Param branchParam = action.param("branch"); assertThat(branchParam.isRequired()).isFalse(); assertThat(branchParam.description()).isEqualTo("Branch key. It can only be used when parameter 'type' is set to 'PROJECT'"); assertThat(branchParam.since()).isEqualTo("7.1"); WebService.Param organizationParam = action.param("organization"); assertThat(organizationParam.isRequired()).isFalse(); assertThat(organizationParam.description()).isEqualTo("Organization key. It should only be used when parameter 'type' is set to 'ORGANIZATION'"); assertThat(organizationParam.since()).isEqualTo("7.1"); }
@Test public void verify_definition() { WebService.Action action = ws.getDef(); assertThat(action.since()).isEqualTo("6.3"); assertThat(action.isPost()).isFalse(); assertThat(action.isInternal()).isFalse(); assertThat(action.changelog()).extracting(Change::getVersion, Change::getDescription).containsExactlyInAnyOrder( tuple("7.6", "The use of 'BRC' as value for parameter 'qualifiers' is deprecated")); assertThat(action.responseExampleAsString()).isNotEmpty(); assertThat(action.params()).hasSize(6); WebService.Param pageSize = action.param("ps"); assertThat(pageSize.isRequired()).isFalse(); assertThat(pageSize.defaultValue()).isEqualTo("100"); assertThat(pageSize.maximumValue()).isEqualTo(500); assertThat(pageSize.description()).isEqualTo("Page size. Must be greater than 0 and less or equal than 500"); WebService.Param qualifiers = action.param("qualifiers"); assertThat(qualifiers.isRequired()).isTrue(); WebService.Param organization = action.param("organization"); assertThat(organization.isRequired()).isFalse(); assertThat(organization.description()).isEqualTo("Organization key"); assertThat(organization.isInternal()).isTrue(); assertThat(organization.exampleValue()).isEqualTo("my-org"); assertThat(organization.since()).isEqualTo("6.3"); }
@Test public void should_define() { Action action = tester.getDef(); assertThat(action.description()).isNotEmpty(); assertThat(action.responseExampleAsString()).isNotEmpty(); assertThat(action.isPost()).isFalse(); assertThat(action.isInternal()).isTrue(); assertThat(action.handler()).isEqualTo(underTest); assertThat(action.params()).hasSize(3); Param query = action.param("componentUuid"); assertThat(query.isRequired()).isTrue(); assertThat(query.description()).isNotEmpty(); assertThat(query.exampleValue()).isNotEmpty(); Param createdAfter = action.param("createdAfter"); assertThat(createdAfter.isRequired()).isFalse(); assertThat(createdAfter.description()).isNotEmpty(); assertThat(createdAfter.exampleValue()).isNotEmpty(); Param pageSize = action.param("ps"); assertThat(pageSize.isRequired()).isFalse(); assertThat(pageSize.defaultValue()).isEqualTo("10"); assertThat(pageSize.description()).isNotEmpty(); assertThat(pageSize.exampleValue()).isNotEmpty(); }
@Test public void verify_definition() { WebService.Action action = wsTester.getDef(); assertThat(action.key()).isEqualTo("set_root"); assertThat(action.isInternal()).isTrue(); assertThat(action.isPost()).isTrue(); assertThat(action.since()).isEqualTo("6.2"); assertThat(action.description()).isEqualTo("Make the specified user root.<br/>" + "Requires to be root."); assertThat(action.responseExample()).isNull(); assertThat(action.deprecatedKey()).isNull(); assertThat(action.deprecatedSince()).isNull(); assertThat(action.handler()).isSameAs(underTest); assertThat(action.params()).hasSize(1); WebService.Param param = action.param("login"); assertThat(param.isRequired()).isTrue(); assertThat(param.description()).isEqualTo("A user login"); assertThat(param.defaultValue()).isNull(); assertThat(param.deprecatedSince()).isNull(); assertThat(param.deprecatedKey()).isNull(); assertThat(param.exampleValue()).isEqualTo("admin"); }
@Test public void verify_definition() { WebService.Action action = wsTester.getDef(); assertThat(action.key()).isEqualTo("unset_root"); assertThat(action.isInternal()).isTrue(); assertThat(action.isPost()).isTrue(); assertThat(action.since()).isEqualTo("6.2"); assertThat(action.description()).isEqualTo("Make the specified user not root.<br/>" + "Requires to be root."); assertThat(action.responseExample()).isNull(); assertThat(action.deprecatedKey()).isNull(); assertThat(action.deprecatedSince()).isNull(); assertThat(action.handler()).isSameAs(underTest); assertThat(action.params()).hasSize(1); WebService.Param param = action.param("login"); assertThat(param.isRequired()).isTrue(); assertThat(param.description()).isEqualTo("A user login"); assertThat(param.defaultValue()).isNull(); assertThat(param.deprecatedSince()).isNull(); assertThat(param.deprecatedKey()).isNull(); assertThat(param.exampleValue()).isEqualTo("admin"); }
@Test public void action_update_is_defined() { logInAsSystemAdministrator(); WsTester wsTester = new WsTester(); WebService.NewController newController = wsTester.context().createController(DUMMY_CONTROLLER_KEY); underTest.define(newController); newController.done(); WebService.Controller controller = wsTester.controller(DUMMY_CONTROLLER_KEY); assertThat(controller.actions()).extracting("key").containsExactly(ACTION_KEY); WebService.Action action = controller.actions().iterator().next(); assertThat(action.isPost()).isTrue(); assertThat(action.description()).isNotEmpty(); assertThat(action.responseExample()).isNull(); assertThat(action.params()).hasSize(1); WebService.Param key = action.param(KEY_PARAM); assertThat(key).isNotNull(); assertThat(key.isRequired()).isTrue(); assertThat(key.description()).isNotNull(); }
@Test public void definition() { init(); WebService.Action action = ws.getDef(); assertThat(action.since()).isEqualTo("5.2"); assertThat(action.isPost()).isFalse(); assertThat(action.isInternal()).isTrue(); assertThat(action.description()).isNotNull(); assertThat(action.responseExample()).isNotNull(); assertThat(action.changelog()).extracting(Change::getVersion, Change::getDescription).containsExactlyInAnyOrder( tuple("6.4", "The 'visibility' field is added"), tuple("7.3", "The 'almRepoUrl' and 'almId' fields are added"), tuple("7.6", "The use of module keys in parameter 'component' is deprecated")); WebService.Param componentId = action.param(PARAM_COMPONENT); assertThat(componentId.isRequired()).isFalse(); assertThat(componentId.description()).isNotNull(); assertThat(componentId.exampleValue()).isNotNull(); assertThat(componentId.deprecatedKey()).isEqualTo("componentKey"); assertThat(componentId.deprecatedKeySince()).isEqualTo("6.4"); }
@Test public void test_definition() { Action action = ws.getDef(); assertThat(action.description()).isNotEmpty(); assertThat(action.responseExampleAsString()).isNotEmpty(); assertThat(action.isPost()).isTrue(); assertThat(action.isInternal()).isFalse(); assertThat(action.params()).hasSize(2); Param query = action.param("issue"); assertThat(query.isRequired()).isTrue(); assertThat(query.description()).isNotEmpty(); assertThat(query.exampleValue()).isNotEmpty(); Param pageSize = action.param("tags"); assertThat(pageSize.isRequired()).isFalse(); assertThat(pageSize.defaultValue()).isNull(); assertThat(pageSize.description()).isNotEmpty(); assertThat(pageSize.exampleValue()).isNotEmpty(); }
@Test public void definition() { WebService.Action action = ws.getDef(); assertThat(action.description()).isEqualTo("Get the list of provisioned projects.<br> " + "Web service is deprecated. Use api/projects/search instead, with onProvisionedOnly=true.<br> " + "Require 'Create Projects' permission."); assertThat(action.since()).isEqualTo("5.2"); assertThat(action.changelog()).extracting(Change::getVersion, Change::getDescription).containsExactlyInAnyOrder( tuple("6.4", "The 'uuid' field is deprecated in the response"), tuple("6.4", "Paging response fields is now in a Paging object")); assertThat(action.deprecatedSince()).isEqualTo("6.6"); assertThat(action.params()).hasSize(5); Param organization = action.param(PARAM_ORGANIZATION); assertThat(organization.description()).isEqualTo("The key of the organization"); assertThat(organization.isInternal()).isTrue(); assertThat(organization.isRequired()).isFalse(); assertThat(organization.since()).isEqualTo("6.3"); }
@Test public void verify_define() { WebService.Action action = wsTester.getDef(); assertThat(action.key()).isEqualTo(ACTION); assertThat(action.isPost()).isTrue(); assertThat(action.description()).isNotEmpty(); assertThat(action.isInternal()).isTrue(); assertThat(action.since()).isEqualTo("6.4"); assertThat(action.handler()).isEqualTo(underTest); assertThat(action.changelog()) .extracting(Change::getVersion, Change::getDescription) .contains(tuple("7.3", "This WS used to be located at /api/organizations/update_project_visibility")); WebService.Param projectVisibility = action.param(PARAM_PROJECT_VISIBILITY); assertThat(projectVisibility.isRequired()).isTrue(); assertThat(projectVisibility.possibleValues()).containsExactlyInAnyOrder("private", "public"); assertThat(projectVisibility.description()).isEqualTo("Default visibility for projects"); } }
@Test public void test_definition() { WebService.Action action = ws.getDef(); assertThat(action.key()).isEqualTo("show"); assertThat(action.responseExampleAsString()).isNotEmpty(); assertThat(action.isPost()).isFalse(); assertThat(action.since()).isEqualTo("6.5"); WebService.Param profile = action.param("key"); assertThat(profile.isRequired()).isTrue(); assertThat(profile.isInternal()).isFalse(); assertThat(profile.description()).isNotEmpty(); WebService.Param compareToSonarWay = action.param("compareToSonarWay"); assertThat(compareToSonarWay.isRequired()).isFalse(); assertThat(compareToSonarWay.isInternal()).isTrue(); assertThat(compareToSonarWay.description()).isNotEmpty(); assertThat(compareToSonarWay.defaultValue()).isEqualTo("false"); assertThat(compareToSonarWay.possibleValues()).contains("true", "false"); }
@Test public void action_uninstall_is_defined() { logInAsSystemAdministrator(); WsTester wsTester = new WsTester(); WebService.NewController newController = wsTester.context().createController(DUMMY_CONTROLLER_KEY); underTest.define(newController); newController.done(); WebService.Controller controller = wsTester.controller(DUMMY_CONTROLLER_KEY); assertThat(controller.actions()).extracting("key").containsExactly(ACTION_KEY); WebService.Action action = controller.actions().iterator().next(); assertThat(action.isPost()).isTrue(); assertThat(action.description()).isNotEmpty(); assertThat(action.responseExample()).isNull(); assertThat(action.params()).hasSize(1); WebService.Param keyParam = action.param(KEY_PARAM); assertThat(keyParam).isNotNull(); assertThat(keyParam.isRequired()).isTrue(); assertThat(keyParam.description()).isNotNull(); }
@Test public void action_install_is_defined() { logInAsSystemAdministrator(); WsTester wsTester = new WsTester(); WebService.NewController newController = wsTester.context().createController(DUMMY_CONTROLLER_KEY); underTest.define(newController); newController.done(); WebService.Controller controller = wsTester.controller(DUMMY_CONTROLLER_KEY); assertThat(controller.actions()).extracting("key").containsExactly(ACTION_KEY); WebService.Action action = controller.actions().iterator().next(); assertThat(action.isPost()).isTrue(); assertThat(action.description()).isNotEmpty(); assertThat(action.responseExample()).isNull(); assertThat(action.params()).hasSize(1); WebService.Param keyParam = action.param(KEY_PARAM); assertThat(keyParam).isNotNull(); assertThat(keyParam.isRequired()).isTrue(); assertThat(keyParam.description()).isNotNull(); }
@Test public void verify_definition() { WebService.Action action = ws.getDef(); assertThat(action.since()).isEqualTo("5.2"); assertThat(action.isPost()).isFalse(); assertThat(action.isInternal()).isFalse(); assertThat(action.responseExampleAsString()).isNotEmpty(); assertThat(action.params()).extracting(Param::key).containsOnly("p", "q", "ps", "login", "selected", "organization"); WebService.Param qualifiers = action.param("login"); assertThat(qualifiers.isRequired()).isTrue(); WebService.Param organization = action.param("organization"); assertThat(organization.isRequired()).isFalse(); assertThat(organization.description()).isEqualTo("Organization key"); assertThat(organization.isInternal()).isTrue(); assertThat(organization.exampleValue()).isEqualTo("my-org"); assertThat(organization.since()).isEqualTo("6.4"); }
private static void writeParam(JsonWriter writer, WebService.Param param) { writer.beginObject(); writer.prop("key", param.key()); writer.prop("description", param.description()); writer.prop("since", param.since()); writer.prop("required", param.isRequired()); writer.prop("internal", param.isInternal()); writer.prop("defaultValue", param.defaultValue()); writer.prop("exampleValue", param.exampleValue()); writer.prop("deprecatedSince", param.deprecatedSince()); writer.prop("deprecatedKey", param.deprecatedKey()); writer.prop("deprecatedKeySince", param.deprecatedKeySince()); 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(); }
@Test public void definition() { WebService.Action action = wsTester.getDef(); assertThat(action.key()).isEqualTo("delete"); assertThat(action.isPost()).isTrue(); assertThat(action.description()).isEqualTo("Delete an organization.<br/>" + "Require 'Administer System' permission on the specified organization. Organization support must be enabled."); assertThat(action.isInternal()).isTrue(); assertThat(action.since()).isEqualTo("6.2"); assertThat(action.handler()).isNotNull(); assertThat(action.params()).hasSize(1); assertThat(action.responseExample()).isNull(); assertThat(action.param("organization")) .matches(param -> param.isRequired()) .matches(param -> "foo-company".equals(param.exampleValue())) .matches(param -> "Organization key".equals(param.description())); }
@Test public void verify_definition() { WebService.Action def = ws.getDef(); assertThat(def.isInternal()).isTrue(); assertThat(def.description()).isEqualTo("Get information concerning organization navigation for the current user"); assertThat(def.since()).isEqualTo("6.3"); assertThat(def.changelog()).extracting(Change::getVersion, Change::getDescription).containsExactlyInAnyOrder( tuple("6.4", "The field 'projectVisibility' is added")); assertThat(def.params()).hasSize(1); WebService.Param organization = def.param("organization"); assertThat(organization.description()).isEqualTo("the organization key"); assertThat(organization.isRequired()).isTrue(); assertThat(organization.exampleValue()).isEqualTo("my-org"); }