From 683a197994747c831641d2514acb5943db6f6aa6 Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Thu, 23 Nov 2017 22:42:27 +0100 Subject: Generate client for api/rules --- .../org/sonarqube/ws/client/DefaultWsClient.java | 2 +- .../java/org/sonarqube/ws/client/WsClient.java | 2 +- .../sonarqube/ws/client/rule/CreateWsRequest.java | 131 ---------- .../org/sonarqube/ws/client/rule/RulesService.java | 99 -------- .../ws/client/rule/RulesWsParameters.java | 102 -------- .../sonarqube/ws/client/rule/SearchWsRequest.java | 269 --------------------- .../org/sonarqube/ws/client/rule/package-info.java | 24 -- .../sonarqube/ws/client/rule/RulesServiceTest.java | 184 -------------- 8 files changed, 2 insertions(+), 811 deletions(-) delete mode 100644 sonar-ws/src/main/java/org/sonarqube/ws/client/rule/CreateWsRequest.java delete mode 100644 sonar-ws/src/main/java/org/sonarqube/ws/client/rule/RulesService.java delete mode 100644 sonar-ws/src/main/java/org/sonarqube/ws/client/rule/RulesWsParameters.java delete mode 100644 sonar-ws/src/main/java/org/sonarqube/ws/client/rule/SearchWsRequest.java delete mode 100644 sonar-ws/src/main/java/org/sonarqube/ws/client/rule/package-info.java delete mode 100644 sonar-ws/src/test/java/org/sonarqube/ws/client/rule/RulesServiceTest.java (limited to 'sonar-ws/src') diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/DefaultWsClient.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/DefaultWsClient.java index e57f10037cc..7c1445edcb2 100644 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/DefaultWsClient.java +++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/DefaultWsClient.java @@ -34,7 +34,7 @@ import org.sonarqube.ws.client.projectlinks.ProjectLinksService; import org.sonarqube.ws.client.qualitygates.QualitygatesService; import org.sonarqube.ws.client.qualityprofile.QualityProfilesService; import org.sonarqube.ws.client.roots.RootsService; -import org.sonarqube.ws.client.rule.RulesService; +import org.sonarqube.ws.client.rules.RulesService; import org.sonarqube.ws.client.settings.SettingsService; import org.sonarqube.ws.client.system.SystemService; import org.sonarqube.ws.client.user.UsersService; diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/WsClient.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/WsClient.java index e05f08dfecf..2854977c5df 100644 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/WsClient.java +++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/WsClient.java @@ -34,7 +34,7 @@ import org.sonarqube.ws.client.projectlinks.ProjectLinksService; import org.sonarqube.ws.client.qualitygates.QualitygatesService; import org.sonarqube.ws.client.qualityprofile.QualityProfilesService; import org.sonarqube.ws.client.roots.RootsService; -import org.sonarqube.ws.client.rule.RulesService; +import org.sonarqube.ws.client.rules.RulesService; import org.sonarqube.ws.client.settings.SettingsService; import org.sonarqube.ws.client.system.SystemService; import org.sonarqube.ws.client.user.UsersService; diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/rule/CreateWsRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/rule/CreateWsRequest.java deleted file mode 100644 index 9f6c2956d4a..00000000000 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/rule/CreateWsRequest.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2017 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -package org.sonarqube.ws.client.rule; - -public class CreateWsRequest { - - private String customKey; - private String markdownDescription; - private String name; - private String params; - private Boolean preventReactivation; - private String severity; - private String status; - private String templateKey; - - private CreateWsRequest(Builder builder) { - this.customKey = builder.customKey; - this.markdownDescription = builder.markdownDescription; - this.name = builder.name; - this.params = builder.params; - this.preventReactivation = builder.preventReactivation; - this.severity = builder.severity; - this.status = builder.status; - this.templateKey = builder.templateKey; - } - - public String getCustomKey() { - return customKey; - } - - public String getMarkdownDescription() { - return markdownDescription; - } - - public String getName() { - return name; - } - - public String getParams() { - return params; - } - - public Boolean getPreventReactivation() { - return preventReactivation; - } - - public String getSeverity() { - return severity; - } - - public String getStatus() { - return status; - } - - public String getTemplateKey() { - return templateKey; - } - - public static class Builder { - private String customKey; - private String markdownDescription; - private String name; - private String params; - private Boolean preventReactivation; - private String severity; - private String status; - private String templateKey; - - public Builder setCustomKey(String customKey) { - this.customKey = customKey; - return this; - } - - public Builder setMarkdownDescription(String markdownDescription) { - this.markdownDescription = markdownDescription; - return this; - } - - public Builder setName(String name) { - this.name = name; - return this; - } - - public Builder setParams(String params) { - this.params = params; - return this; - } - - public Builder setPreventReactivation(Boolean preventReactivation) { - this.preventReactivation = preventReactivation; - return this; - } - - public Builder setSeverity(String severity) { - this.severity = severity; - return this; - } - - public Builder setStatus(String status) { - this.status = status; - return this; - } - - public Builder setTemplateKey(String templateKey) { - this.templateKey = templateKey; - return this; - } - - public CreateWsRequest build() { - return new CreateWsRequest(this); - } - } - -} diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/rule/RulesService.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/rule/RulesService.java deleted file mode 100644 index e744ff84ea5..00000000000 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/rule/RulesService.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2017 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -package org.sonarqube.ws.client.rule; - -import javax.annotation.Nullable; -import org.sonarqube.ws.Rules; -import org.sonarqube.ws.Rules.SearchResponse; -import org.sonarqube.ws.client.BaseService; -import org.sonarqube.ws.client.GetRequest; -import org.sonarqube.ws.client.PostRequest; -import org.sonarqube.ws.client.WsConnector; - -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_ACTIVATION; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_ACTIVE_SEVERITIES; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_AVAILABLE_SINCE; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_COMPARE_TO_PROFILE; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_INHERITANCE; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_IS_TEMPLATE; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_LANGUAGES; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_QPROFILE; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_REPOSITORIES; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_RULE_KEY; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_SEVERITIES; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_STATUSES; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_TAGS; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_TEMPLATE_KEY; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_TYPES; - -public class RulesService extends BaseService { - - public RulesService(WsConnector wsConnector) { - super(wsConnector, "api/rules"); - } - - public SearchResponse search(SearchWsRequest request) { - return call( - new GetRequest(path("search")) - .setParam(PARAM_ACTIVATION, request.getActivation()) - .setParam(PARAM_ACTIVE_SEVERITIES, inlineMultipleParamValue(request.getActiveSeverities())) - .setParam("asc", request.getAsc()) - .setParam(PARAM_AVAILABLE_SINCE, request.getAvailableSince()) - .setParam("f", inlineMultipleParamValue(request.getFields())) - .setParam("facets", inlineMultipleParamValue(request.getFacets())) - .setParam(PARAM_INHERITANCE, inlineMultipleParamValue(request.getInheritance())) - .setParam(PARAM_IS_TEMPLATE, request.getIsTemplate()) - .setParam(PARAM_LANGUAGES, inlineMultipleParamValue(request.getLanguages())) - .setParam("p", request.getPage()) - .setParam("ps", request.getPageSize()) - .setParam("q", request.getQuery()) - .setParam(PARAM_QPROFILE, request.getQProfile()) - .setParam(PARAM_COMPARE_TO_PROFILE, request.getCompareToProfile()) - .setParam(PARAM_REPOSITORIES, inlineMultipleParamValue(request.getRepositories())) - .setParam(PARAM_RULE_KEY, request.getRuleKey()) - .setParam("s", request.getSort()) - .setParam(PARAM_SEVERITIES, inlineMultipleParamValue(request.getSeverities())) - .setParam(PARAM_STATUSES, inlineMultipleParamValue(request.getStatuses())) - .setParam(PARAM_TAGS, inlineMultipleParamValue(request.getTags())) - .setParam(PARAM_TEMPLATE_KEY, request.getTemplateKey()) - .setParam(PARAM_TYPES, inlineMultipleParamValue(request.getTypes())), - SearchResponse.parser()); - } - - public Rules.ShowResponse show(@Nullable String organization, String key) { - GetRequest request = new GetRequest(path("show")) - .setParam("organization", organization) - .setParam("key", key); - return call(request, Rules.ShowResponse.parser()); - } - - public void create(CreateWsRequest request) { - PostRequest httpRequest = new PostRequest(path("create")); - httpRequest.setParam("custom_key", request.getCustomKey()); - httpRequest.setParam("markdown_description", request.getMarkdownDescription()); - httpRequest.setParam("name", request.getName()); - httpRequest.setParam("params", request.getParams()); - httpRequest.setParam("prevent_reactivation", request.getPreventReactivation()); - httpRequest.setParam("severity", request.getSeverity()); - httpRequest.setParam("status", request.getStatus()); - httpRequest.setParam("template_key", request.getTemplateKey()); - call(httpRequest); - } -} diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/rule/RulesWsParameters.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/rule/RulesWsParameters.java deleted file mode 100644 index c820d8247dd..00000000000 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/rule/RulesWsParameters.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2017 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -package org.sonarqube.ws.client.rule; - -import com.google.common.collect.ImmutableSet; -import java.util.Set; - -public class RulesWsParameters { - public static final String PARAM_REPOSITORIES = "repositories"; - public static final String PARAM_RULE_KEY = "rule_key"; - public static final String PARAM_ACTIVATION = "activation"; - public static final String PARAM_QPROFILE = "qprofile"; - public static final String PARAM_SEVERITIES = "severities"; - public static final String PARAM_AVAILABLE_SINCE = "available_since"; - public static final String PARAM_STATUSES = "statuses"; - public static final String PARAM_LANGUAGES = "languages"; - public static final String PARAM_TAGS = "tags"; - public static final String PARAM_TYPES = "types"; - public static final String PARAM_INHERITANCE = "inheritance"; - public static final String PARAM_ACTIVE_SEVERITIES = "active_severities"; - public static final String PARAM_IS_TEMPLATE = "is_template"; - public static final String PARAM_TEMPLATE_KEY = "template_key"; - public static final String PARAM_ORGANIZATION = "organization"; - public static final String PARAM_COMPARE_TO_PROFILE = "compareToProfile"; - - public static final String FIELD_REPO = "repo"; - public static final String FIELD_NAME = "name"; - public static final String FIELD_CREATED_AT = "createdAt"; - public static final String FIELD_SEVERITY = "severity"; - public static final String FIELD_STATUS = "status"; - public static final String FIELD_INTERNAL_KEY = "internalKey"; - public static final String FIELD_IS_TEMPLATE = "isTemplate"; - public static final String FIELD_TEMPLATE_KEY = "templateKey"; - public static final String FIELD_TAGS = "tags"; - public static final String FIELD_SYSTEM_TAGS = "sysTags"; - public static final String FIELD_LANGUAGE = "lang"; - public static final String FIELD_LANGUAGE_NAME = "langName"; - public static final String FIELD_HTML_DESCRIPTION = "htmlDesc"; - public static final String FIELD_MARKDOWN_DESCRIPTION = "mdDesc"; - public static final String FIELD_NOTE_LOGIN = "noteLogin"; - public static final String FIELD_MARKDOWN_NOTE = "mdNote"; - public static final String FIELD_HTML_NOTE = "htmlNote"; - - /** - * @deprecated since 5.5, replaced by {@link #FIELD_DEFAULT_REM_FUNCTION} - */ - @Deprecated - public static final String FIELD_DEFAULT_DEBT_REM_FUNCTION = "defaultDebtRemFn"; - public static final String FIELD_DEFAULT_REM_FUNCTION = "defaultRemFn"; - - /** - * @deprecated since 5.5, replaced by {@link #FIELD_REM_FUNCTION} - */ - @Deprecated - public static final String FIELD_DEBT_REM_FUNCTION = "debtRemFn"; - public static final String FIELD_REM_FUNCTION = "remFn"; - - /** - * @deprecated since 5.5, replaced by {@link #FIELD_GAP_DESCRIPTION} - */ - @Deprecated - public static final String FIELD_EFFORT_TO_FIX_DESCRIPTION = "effortToFixDescription"; - public static final String FIELD_GAP_DESCRIPTION = "gapDescription"; - - /** - * @deprecated since 5.5, replaced by {@link #FIELD_REM_FUNCTION_OVERLOADED} - */ - @Deprecated - public static final String FIELD_DEBT_OVERLOADED = "debtOverloaded"; - public static final String FIELD_REM_FUNCTION_OVERLOADED = "remFnOverloaded"; - - public static final String FIELD_PARAMS = "params"; - public static final String FIELD_ACTIVES = "actives"; - - public static final Set OPTIONAL_FIELDS = ImmutableSet.of(FIELD_REPO, FIELD_NAME, FIELD_CREATED_AT, FIELD_SEVERITY, FIELD_STATUS, FIELD_INTERNAL_KEY, FIELD_IS_TEMPLATE, - FIELD_TEMPLATE_KEY, FIELD_TAGS, FIELD_SYSTEM_TAGS, FIELD_LANGUAGE, FIELD_LANGUAGE_NAME, FIELD_HTML_DESCRIPTION, FIELD_MARKDOWN_DESCRIPTION, FIELD_NOTE_LOGIN, - FIELD_MARKDOWN_NOTE, FIELD_HTML_NOTE, - FIELD_DEFAULT_DEBT_REM_FUNCTION, FIELD_EFFORT_TO_FIX_DESCRIPTION, FIELD_DEBT_OVERLOADED, FIELD_DEBT_REM_FUNCTION, - FIELD_DEFAULT_REM_FUNCTION, FIELD_GAP_DESCRIPTION, FIELD_REM_FUNCTION_OVERLOADED, FIELD_REM_FUNCTION, - FIELD_PARAMS, FIELD_ACTIVES); - - private RulesWsParameters() { - // prevent instantiation - } -} diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/rule/SearchWsRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/rule/SearchWsRequest.java deleted file mode 100644 index 5e0255ed732..00000000000 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/rule/SearchWsRequest.java +++ /dev/null @@ -1,269 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2017 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -package org.sonarqube.ws.client.rule; - -import java.util.List; -import javax.annotation.CheckForNull; -import javax.annotation.Nullable; - -public class SearchWsRequest { - private Boolean activation; - private List activeSeverities; - private Boolean asc; - private String availableSince; - private List fields; - private List facets; - private List inheritance; - private Boolean isTemplate; - private List languages; - private Integer page; - private Integer pageSize; - private String query; - private String qProfile; - private String compareToProfile; - private List repositories; - private String ruleKey; - private String sort; - private List severities; - private List statuses; - private List tags; - private String templateKey; - private List types; - - @CheckForNull - public Boolean getActivation() { - return activation; - } - - public SearchWsRequest setActivation(@Nullable Boolean activation) { - this.activation = activation; - return this; - } - - @CheckForNull - public List getActiveSeverities() { - return activeSeverities; - } - - public SearchWsRequest setActiveSeverities(@Nullable List activeSeverities) { - this.activeSeverities = activeSeverities; - return this; - } - - @CheckForNull - public Boolean getAsc() { - return asc; - } - - public SearchWsRequest setAsc(Boolean asc) { - this.asc = asc; - return this; - } - - @CheckForNull - public String getAvailableSince() { - return availableSince; - } - - public SearchWsRequest setAvailableSince(@Nullable String availableSince) { - this.availableSince = availableSince; - return this; - } - - @CheckForNull - public List getFields() { - return fields; - } - - public SearchWsRequest setFields(@Nullable List fields) { - this.fields = fields; - return this; - } - - @CheckForNull - public List getFacets() { - return facets; - } - - public SearchWsRequest setFacets(@Nullable List facets) { - this.facets = facets; - return this; - } - - @CheckForNull - public List getInheritance() { - return inheritance; - } - - public SearchWsRequest setInheritance(@Nullable List inheritance) { - this.inheritance = inheritance; - return this; - } - - @CheckForNull - public Boolean getIsTemplate() { - return isTemplate; - } - - public SearchWsRequest setIsTemplate(@Nullable Boolean isTemplate) { - this.isTemplate = isTemplate; - return this; - } - - @CheckForNull - public List getLanguages() { - return languages; - } - - public SearchWsRequest setLanguages(@Nullable List languages) { - this.languages = languages; - return this; - } - - @CheckForNull - public Integer getPage() { - return page; - } - - public SearchWsRequest setPage(@Nullable Integer page) { - this.page = page; - return this; - } - - @CheckForNull - public Integer getPageSize() { - return pageSize; - } - - public SearchWsRequest setPageSize(@Nullable Integer pageSize) { - this.pageSize = pageSize; - return this; - } - - @CheckForNull - public String getQuery() { - return query; - } - - public SearchWsRequest setQuery(@Nullable String query) { - this.query = query; - return this; - } - - @CheckForNull - public String getQProfile() { - return qProfile; - } - - public SearchWsRequest setQProfile(@Nullable String qProfile) { - this.qProfile = qProfile; - return this; - } - - @CheckForNull - public String getCompareToProfile() { - return compareToProfile; - } - - public SearchWsRequest setCompareToProfile(@Nullable String compareToProfile) { - this.compareToProfile = compareToProfile; - return this; - } - - @CheckForNull - public List getRepositories() { - return repositories; - } - - public SearchWsRequest setRepositories(@Nullable List repositories) { - this.repositories = repositories; - return this; - } - - @CheckForNull - public String getRuleKey() { - return ruleKey; - } - - public SearchWsRequest setRuleKey(@Nullable String ruleKey) { - this.ruleKey = ruleKey; - return this; - } - - @CheckForNull - public String getSort() { - return sort; - } - - public SearchWsRequest setSort(@Nullable String sort) { - this.sort = sort; - return this; - } - - @CheckForNull - public List getSeverities() { - return severities; - } - - public SearchWsRequest setSeverities(@Nullable List severities) { - this.severities = severities; - return this; - } - - @CheckForNull - public List getStatuses() { - return statuses; - } - - public SearchWsRequest setStatuses(@Nullable List statuses) { - this.statuses = statuses; - return this; - } - - @CheckForNull - public List getTags() { - return tags; - } - - public SearchWsRequest setTags(@Nullable List tags) { - this.tags = tags; - return this; - } - - @CheckForNull - public String getTemplateKey() { - return templateKey; - } - - public SearchWsRequest setTemplateKey(@Nullable String templateKey) { - this.templateKey = templateKey; - return this; - } - - @CheckForNull - public List getTypes() { - return types; - } - - public SearchWsRequest setTypes(@Nullable List types) { - this.types = types; - return this; - } -} diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/rule/package-info.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/rule/package-info.java deleted file mode 100644 index f781f2f0914..00000000000 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/rule/package-info.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2017 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -@ParametersAreNonnullByDefault -package org.sonarqube.ws.client.rule; - -import javax.annotation.ParametersAreNonnullByDefault; - diff --git a/sonar-ws/src/test/java/org/sonarqube/ws/client/rule/RulesServiceTest.java b/sonar-ws/src/test/java/org/sonarqube/ws/client/rule/RulesServiceTest.java deleted file mode 100644 index 45248faa16b..00000000000 --- a/sonar-ws/src/test/java/org/sonarqube/ws/client/rule/RulesServiceTest.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2017 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -package org.sonarqube.ws.client.rule; - -import com.google.common.collect.Lists; -import java.util.List; -import org.junit.Rule; -import org.junit.Test; -import org.sonarqube.ws.Rules; -import org.sonarqube.ws.Rules.SearchResponse; -import org.sonarqube.ws.client.GetRequest; -import org.sonarqube.ws.client.PostRequest; -import org.sonarqube.ws.client.ServiceTester; -import org.sonarqube.ws.client.WsConnector; - -import static com.google.common.collect.Lists.newArrayList; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.mock; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_ACTIVATION; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_ACTIVE_SEVERITIES; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_AVAILABLE_SINCE; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_COMPARE_TO_PROFILE; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_INHERITANCE; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_IS_TEMPLATE; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_LANGUAGES; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_QPROFILE; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_REPOSITORIES; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_RULE_KEY; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_SEVERITIES; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_STATUSES; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_TAGS; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_TEMPLATE_KEY; -import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_TYPES; - -public class RulesServiceTest { - static final boolean ACTIVATION_VALUE = true; - static final List ACTIVE_SEVERITIES_VALUE = Lists.newArrayList("CRITICAL", "BLOCKER"); - static final String ACTIVE_SEVERITIES_VALUE_INLINED = "CRITICAL,BLOCKER"; - static final boolean ASC_VALUE = false; - static final String AVAILABLE_SINCE_VALUE = "2015-06-22"; - static final List FIELDS_VALUE = newArrayList("repo", "name"); - static final String FIELDS_VALUE_INLINED = "repo,name"; - static final List FACETS_VALUE = newArrayList("languages", "repositories"); - static final String FACETS_VALUE_INLINED = "languages,repositories"; - static final List INHERITANCE_VALUE = newArrayList("INHERITED", "OVERRIDES"); - static final String INHERITANCE_VALUE_INLINED = "INHERITED,OVERRIDES"; - static final boolean IS_TEMPLATE_VALUE = true; - static final List LANGUAGES_VALUE = newArrayList("java", "js"); - static final String LANGUAGES_VALUE_INLINED = "java,js"; - static final int PAGE_VALUE = 12; - static final int PAGE_SIZE_VALUE = 42; - static final String QUERY_VALUE = "query-value"; - static final String QPROFILE_VALUE = "qprofile-key"; - static final List REPOSITORIES_VALUE = newArrayList("findbugs", "checkstyle"); - static final String REPOSITORIES_VALUE_INLINED = "findbugs,checkstyle"; - static final String RULE_KEY_VALUE = "rule-key-value"; - static final String SORT_VALUE = "name"; - static final List SEVERITIES_VALUE = newArrayList("INFO", "MINOR"); - static final String SEVERITIES_VALUE_INLINED = "INFO,MINOR"; - static final List STATUSES_VALUE = newArrayList("BETA", "DEPRECATED"); - static final String STATUSES_VALUE_INLINED = "BETA,DEPRECATED"; - static final List TAGS_VALUE = newArrayList("clumsy", "java8"); - static final String TAGS_VALUE_INLINED = "clumsy,java8"; - static final String TEMPLATE_KEY_VALUE = "template-key-value"; - static final List TYPES_VALUE = newArrayList("CODE_SMELL", "BUG"); - static final String TYPES_VALUE_INLINED = "CODE_SMELL,BUG"; - - @Rule - public ServiceTester serviceTester = new ServiceTester<>(new RulesService(mock(WsConnector.class))); - - private RulesService underTest = serviceTester.getInstanceUnderTest(); - - @Test - public void test_search() { - underTest.search(new SearchWsRequest() - .setActivation(ACTIVATION_VALUE) - .setActiveSeverities(ACTIVE_SEVERITIES_VALUE) - .setAsc(ASC_VALUE) - .setAvailableSince(AVAILABLE_SINCE_VALUE) - .setFields(FIELDS_VALUE) - .setFacets(FACETS_VALUE) - .setInheritance(INHERITANCE_VALUE) - .setIsTemplate(IS_TEMPLATE_VALUE) - .setLanguages(LANGUAGES_VALUE) - .setPage(PAGE_VALUE) - .setPageSize(PAGE_SIZE_VALUE) - .setQuery(QUERY_VALUE) - .setQProfile(QPROFILE_VALUE) - .setCompareToProfile("CompareTo") - .setRepositories(REPOSITORIES_VALUE) - .setRuleKey(RULE_KEY_VALUE) - .setSort(SORT_VALUE) - .setSeverities(SEVERITIES_VALUE) - .setStatuses(STATUSES_VALUE) - .setTags(TAGS_VALUE) - .setTemplateKey(TEMPLATE_KEY_VALUE) - .setTypes(TYPES_VALUE)); - - assertThat(serviceTester.getGetParser()).isSameAs(SearchResponse.parser()); - GetRequest getRequest = serviceTester.getGetRequest(); - serviceTester.assertThat(getRequest) - .hasPath("search") - .hasParam(PARAM_ACTIVATION, ACTIVATION_VALUE) - .hasParam(PARAM_ACTIVE_SEVERITIES, ACTIVE_SEVERITIES_VALUE_INLINED) - .hasParam("asc", ASC_VALUE) - .hasParam(PARAM_AVAILABLE_SINCE, AVAILABLE_SINCE_VALUE) - .hasParam("f", FIELDS_VALUE_INLINED) - .hasParam("facets", FACETS_VALUE_INLINED) - .hasParam(PARAM_INHERITANCE, INHERITANCE_VALUE_INLINED) - .hasParam(PARAM_IS_TEMPLATE, IS_TEMPLATE_VALUE) - .hasParam("p", PAGE_VALUE) - .hasParam("ps", PAGE_SIZE_VALUE) - .hasParam("q", QUERY_VALUE) - .hasParam(PARAM_QPROFILE, QPROFILE_VALUE) - .hasParam(PARAM_COMPARE_TO_PROFILE, "CompareTo") - .hasParam(PARAM_REPOSITORIES, REPOSITORIES_VALUE_INLINED) - .hasParam(PARAM_RULE_KEY, RULE_KEY_VALUE) - .hasParam(PARAM_LANGUAGES, LANGUAGES_VALUE_INLINED) - .hasParam("s", SORT_VALUE) - .hasParam(PARAM_SEVERITIES, SEVERITIES_VALUE_INLINED) - .hasParam(PARAM_STATUSES, STATUSES_VALUE_INLINED) - .hasParam(PARAM_TAGS, TAGS_VALUE_INLINED) - .hasParam(PARAM_TEMPLATE_KEY, TEMPLATE_KEY_VALUE) - .hasParam(PARAM_TYPES, TYPES_VALUE_INLINED) - .andNoOtherParam(); - } - - @Test - public void test_show() { - underTest.show("the-org", "the-rule/key"); - - assertThat(serviceTester.getGetParser()).isSameAs(Rules.ShowResponse.parser()); - GetRequest getRequest = serviceTester.getGetRequest(); - serviceTester.assertThat(getRequest) - .hasPath("show") - .hasParam("organization", "the-org") - .hasParam("key", "the-rule/key") - .andNoOtherParam(); - } - - @Test - public void test_create() { - underTest.create(new CreateWsRequest.Builder() - .setTemplateKey("the-template-key") - .setCustomKey("the-custom-key") - .setSeverity("BLOCKER") - .setParams("the-params") - .setPreventReactivation(true) - .setMarkdownDescription("the-desc") - .setStatus("BETA") - .setName("the-name") - .build()); - - PostRequest postRequest = serviceTester.getPostRequest(); - serviceTester.assertThat(postRequest) - .hasPath("create") - .hasParam("template_key", "the-template-key") - .hasParam("custom_key", "the-custom-key") - .hasParam("severity", "BLOCKER") - .hasParam("params", "the-params") - .hasParam("prevent_reactivation", "true") - .hasParam("markdown_description", "the-desc") - .hasParam("status", "BETA") - .hasParam("name", "the-name") - .andNoOtherParam(); - } -} -- cgit v1.2.3