diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-03-05 14:33:37 +0100 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-03-05 18:46:29 +0100 |
commit | 5db887d91de4e330ac6370a90251050f8ec93517 (patch) | |
tree | f8469d6f64b08868afed3a0984eb2068eef79ae7 /sonar-server/src | |
parent | 50aca35f98ddaf325772979e73a8e25ec7aa262b (diff) | |
download | sonarqube-5db887d91de4e330ac6370a90251050f8ec93517.tar.gz sonarqube-5db887d91de4e330ac6370a90251050f8ec93517.zip |
SONAR-5056 Add debt columns on rules and update Rule API to define some debt data
Diffstat (limited to 'sonar-server/src')
33 files changed, 338 insertions, 125 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/rule/RuleRegistration.java b/sonar-server/src/main/java/org/sonar/server/rule/RuleRegistration.java index c9641831cb9..3356625a869 100644 --- a/sonar-server/src/main/java/org/sonar/server/rule/RuleRegistration.java +++ b/sonar-server/src/main/java/org/sonar/server/rule/RuleRegistration.java @@ -27,9 +27,9 @@ import org.apache.ibatis.session.SqlSession; import org.picocontainer.Startable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.sonar.api.rule.RemediationFunction; import org.sonar.api.rule.RuleKey; import org.sonar.api.rules.Rule; -import org.sonar.api.rules.RulePriority; import org.sonar.api.server.rule.RuleDefinitions; import org.sonar.api.utils.System2; import org.sonar.api.utils.TimeProfiler; @@ -152,6 +152,7 @@ public class RuleRegistration implements Startable { } private RuleDto enableAndInsert(Buffer buffer, SqlSession sqlSession, RuleDefinitions.Rule ruleDef) { + RemediationFunction remediationFunction = ruleDef.remediationFunction(); RuleDto ruleDto = new RuleDto() .setCardinality(ruleDef.template() ? Cardinality.MULTIPLE : Cardinality.SINGLE) .setConfigKey(ruleDef.internalKey()) @@ -160,10 +161,15 @@ public class RuleRegistration implements Startable { .setName(ruleDef.name()) .setRepositoryKey(ruleDef.repository().key()) .setRuleKey(ruleDef.key()) - .setSeverity(RulePriority.valueOf(ruleDef.severity()).name()) + .setSeverity(ruleDef.severity()) .setCreatedAt(buffer.now()) .setUpdatedAt(buffer.now()) - .setStatus(ruleDef.status().name()); + .setStatus(ruleDef.status().name()) + // TODO set default characteristic id + .setDefaultRemediationFunction(remediationFunction != null ? remediationFunction.name() : null) + .setDefaultRemediationFactor(ruleDef.remediationFactor()) + .setDefaultRemediationOffset(ruleDef.remediationOffset()) + .setEffortToFixL10nKey(ruleDef.effortToFixL10nKey()); ruleDao.insert(ruleDto, sqlSession); buffer.add(ruleDto); @@ -204,7 +210,7 @@ public class RuleRegistration implements Startable { dto.setConfigKey(def.internalKey()); changed = true; } - String severity = RulePriority.valueOf(def.severity()).name(); + String severity = def.severity(); if (!ObjectUtils.equals(dto.getSeverityString(), severity)) { dto.setSeverity(severity); changed = true; @@ -219,6 +225,28 @@ public class RuleRegistration implements Startable { dto.setStatus(status); changed = true; } + + // TODO add characteristic id change verification + + RemediationFunction remediationFunction = def.remediationFunction(); + String remediationFunctionString = remediationFunction != null ? remediationFunction.name() : null; + if (!StringUtils.equals(dto.getDefaultRemediationFunction(), remediationFunctionString)) { + dto.setDefaultRemediationFunction(remediationFunctionString); + changed = true; + } + if (!StringUtils.equals(dto.getDefaultRemediationFactor(), def.remediationFactor())) { + dto.setDefaultRemediationFactor(def.remediationFactor()); + changed = true; + } + if (!StringUtils.equals(dto.getDefaultRemediationOffset(), def.remediationOffset())) { + dto.setDefaultRemediationOffset(def.remediationOffset()); + changed = true; + } + if (!StringUtils.equals(dto.getEffortToFixL10nKey(), def.effortToFixL10nKey())) { + dto.setEffortToFixL10nKey(def.effortToFixL10nKey()); + changed = true; + } + if (!StringUtils.equals(dto.getLanguage(), def.repository().language())) { dto.setLanguage(def.repository().language()); changed = true; @@ -345,6 +373,11 @@ public class RuleRegistration implements Startable { // TODO merge params and tags ? ruleDto.setLanguage(parent.getLanguage()); ruleDto.setStatus(parent.getStatus()); + ruleDto.setDefaultCharacteristicId(parent.getDefaultCharacteristicId()); + ruleDto.setDefaultRemediationFunction(parent.getDefaultRemediationFunction()); + ruleDto.setDefaultRemediationFactor(parent.getDefaultRemediationFactor()); + ruleDto.setDefaultRemediationOffset(parent.getDefaultRemediationOffset()); + ruleDto.setEffortToFixL10nKey(parent.getEffortToFixL10nKey()); ruleDto.setUpdatedAt(buffer.now()); ruleDao.update(ruleDto, sqlSession); toBeRemoved = false; diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/520_add_debt_columns_to_rules.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/520_add_debt_columns_to_rules.rb new file mode 100644 index 00000000000..f78d6091694 --- /dev/null +++ b/sonar-server/src/main/webapp/WEB-INF/db/migrate/520_add_debt_columns_to_rules.rb @@ -0,0 +1,40 @@ +# +# SonarQube, open source software quality management tool. +# Copyright (C) 2008-2013 SonarSource +# mailto:contact AT sonarsource DOT com +# +# SonarQube 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. +# +# SonarQube 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. +# + +# +# Sonar 4.3 +# SONAR-5056 +# +class AddDebtColumnsToRules < ActiveRecord::Migration + + def self.up + add_column 'rules', :characteristic_id, :integer, :null => true + add_column 'rules', :default_characteristic_id, :integer, :null => true + add_column 'rules', :remediation_function, :string, :null => true, :limit => 20 + add_column 'rules', :default_remediation_function, :string, :null => true, :limit => 20 + add_column 'rules', :remediation_factor, :string, :null => true, :limit => 20 + add_column 'rules', :default_remediation_factor, :string, :null => true, :limit => 20 + add_column 'rules', :remediation_offset, :string, :null => true, :limit => 20 + add_column 'rules', :default_remediation_offset, :string, :null => true, :limit => 20 + add_column 'rules', :effort_to_fix_l10n_key, :string, :null => true, :limit => 100 + end + +end + diff --git a/sonar-server/src/test/java/org/sonar/server/rule/RuleRegistrationTest.java b/sonar-server/src/test/java/org/sonar/server/rule/RuleRegistrationTest.java index a4f125a0867..3853bff4914 100644 --- a/sonar-server/src/test/java/org/sonar/server/rule/RuleRegistrationTest.java +++ b/sonar-server/src/test/java/org/sonar/server/rule/RuleRegistrationTest.java @@ -22,6 +22,7 @@ package org.sonar.server.rule; import org.junit.Before; import org.junit.Test; +import org.sonar.api.rule.RemediationFunction; import org.sonar.api.rule.RuleStatus; import org.sonar.api.rule.Severity; import org.sonar.api.server.rule.RuleDefinitions; @@ -37,8 +38,11 @@ import static org.mockito.Mockito.*; public class RuleRegistrationTest extends AbstractDaoTestCase { - private static final String[] EXCLUDED_COLUMN_NAMES = { - "created_at", "updated_at", "note_data", "note_user_login", "note_created_at", "note_updated_at"}; + private static final String[] EXCLUDED_COLUMN_NAMES = {"created_at", "updated_at", "note_data", "note_user_login", "note_created_at", "note_updated_at"}; + private static final String[] EXCLUDED_COLUMN_NAMES_INCLUDING_DEBT = {"created_at", "updated_at", "note_data", "note_user_login", "note_created_at", "note_updated_at", + "characteristic_id", "default_characteristic_id", + "remediation_function", "default_remediation_function", "remediation_factor", "default_remediation_factor", "remediation_offset", "default_remediation_offset", + "effort_to_fix_l10n_key"}; RuleRegistration task; ProfilesManager profilesManager = mock(ProfilesManager.class); @@ -62,19 +66,19 @@ public class RuleRegistrationTest extends AbstractDaoTestCase { } @Test - public void should_insert_new_rules() { + public void insert_new_rules() { setupData("shared"); task.start(); - checkTables("should_insert_new_rules", EXCLUDED_COLUMN_NAMES, "rules", "rules_parameters", "rules_rule_tags", "rule_tags"); + checkTables("insert_new_rules", EXCLUDED_COLUMN_NAMES, "rules", "rules_parameters", "rules_rule_tags", "rule_tags"); } @Test - public void should_update_template_rule_language() { - setupData("should_update_template_rule_language"); + public void update_template_rule_language() { + setupData("update_template_rule_language"); task.start(); - checkTables("should_update_template_rule_language", EXCLUDED_COLUMN_NAMES, "rules"); + checkTables("update_template_rule_language", EXCLUDED_COLUMN_NAMES, "rules"); } /** @@ -100,11 +104,11 @@ public class RuleRegistrationTest extends AbstractDaoTestCase { } @Test - public void should_reactivate_disabled_rules() { - setupData("should_reactivate_disabled_rules"); + public void reactivate_disabled_rules() { + setupData("reactivate_disabled_rules"); task.start(); - checkTables("should_reactivate_disabled_rules", EXCLUDED_COLUMN_NAMES, "rules"); + checkTables("reactivate_disabled_rules", EXCLUDED_COLUMN_NAMES_INCLUDING_DEBT, "rules"); assertThat(ruleDao.selectById(1).getUpdatedAt()).isNotNull(); } @@ -114,72 +118,72 @@ public class RuleRegistrationTest extends AbstractDaoTestCase { setupData("reactivate_disabled_template_rules"); task.start(); - checkTables("reactivate_disabled_template_rules", EXCLUDED_COLUMN_NAMES, "rules"); + checkTables("reactivate_disabled_template_rules", EXCLUDED_COLUMN_NAMES_INCLUDING_DEBT, "rules"); } @Test - public void should_disable_deprecated_active_rules() { - setupData("should_disable_deprecated_active_rules"); + public void disable_deprecated_active_rules() { + setupData("disable_deprecated_active_rules"); task.start(); - checkTables("should_disable_deprecated_active_rules", EXCLUDED_COLUMN_NAMES, "rules"); + checkTables("disable_deprecated_active_rules", EXCLUDED_COLUMN_NAMES_INCLUDING_DEBT, "rules"); } @Test - public void should_disable_deprecated_active_rule_params() { - setupData("should_disable_deprecated_active_rule_params"); + public void disable_deprecated_active_rule_params() { + setupData("disable_deprecated_active_rule_params"); task.start(); - checkTables("should_disable_deprecated_active_rule_params", EXCLUDED_COLUMN_NAMES, "rules", "rules_parameters", "active_rules", "active_rule_parameters"); + checkTables("disable_deprecated_active_rule_params", EXCLUDED_COLUMN_NAMES_INCLUDING_DEBT, "rules", "rules_parameters", "active_rules", "active_rule_parameters"); } @Test - public void should_disable_deprecated_rules() { - setupData("should_disable_deprecated_rules"); + public void disable_deprecated_rules() { + setupData("disable_deprecated_rules"); task.start(); - checkTables("should_disable_deprecated_rules", EXCLUDED_COLUMN_NAMES, "rules", "rules_parameters", "rules_rule_tags", "rule_tags"); + checkTables("disable_deprecated_rules", EXCLUDED_COLUMN_NAMES_INCLUDING_DEBT, "rules", "rules_parameters", "rules_rule_tags", "rule_tags"); } @Test - public void should_update_rule_fields() { - setupData("updadeRuleFields"); + public void update_rule_fields() { + setupData("update_rule_fields"); task.start(); - checkTables("updadeRuleFields", EXCLUDED_COLUMN_NAMES, "rules", "rules_parameters", "rule_tags", "rules_rule_tags"); + checkTables("update_rule_fields", EXCLUDED_COLUMN_NAMES, "rules", "rules_parameters", "rule_tags", "rules_rule_tags"); } @Test - public void should_update_rule_parameters() { - setupData("should_update_rule_parameters"); + public void update_rule_parameters() { + setupData("update_rule_parameters"); task.start(); - checkTables("should_update_rule_parameters", EXCLUDED_COLUMN_NAMES, "rules", "rules_parameters"); + checkTables("update_rule_parameters", EXCLUDED_COLUMN_NAMES_INCLUDING_DEBT, "rules", "rules_parameters"); } @Test - public void should_not_disable_template_rules_if_parent_is_enabled() { - setupData("doNotDisableUserRulesIfParentIsEnabled"); + public void not_disable_template_rules_if_parent_is_enabled() { + setupData("not_disable_template_rules_if_parent_is_enabled"); task.start(); - checkTables("doNotDisableUserRulesIfParentIsEnabled", EXCLUDED_COLUMN_NAMES, "rules"); + checkTables("not_disable_template_rules_if_parent_is_enabled", EXCLUDED_COLUMN_NAMES_INCLUDING_DEBT, "rules"); } @Test - public void should_disable_template_rules_if_parent_is_disabled() { - setupData("disableUserRulesIfParentIsDisabled"); + public void disable_template_rules_if_parent_is_disabled() { + setupData("disable_template_rules_if_parent_is_disabled"); task.start(); - checkTables("disableUserRulesIfParentIsDisabled", EXCLUDED_COLUMN_NAMES, "rules"); + checkTables("disable_template_rules_if_parent_is_disabled", EXCLUDED_COLUMN_NAMES_INCLUDING_DEBT, "rules"); } @Test - public void should_not_disable_manual_rules() { + public void not_disable_manual_rules() { // the hardcoded repository "manual" is used for manual violations - setupData("shouldNotDisableManualRules"); + setupData("not_disable_manual_rules"); task.start(); - checkTables("shouldNotDisableManualRules", EXCLUDED_COLUMN_NAMES, "rules"); + checkTables("not_disable_manual_rules", EXCLUDED_COLUMN_NAMES_INCLUDING_DEBT, "rules"); } @Test @@ -197,15 +201,15 @@ public class RuleRegistrationTest extends AbstractDaoTestCase { } @Test - public void should_insert_extended_repositories() { + public void insert_extended_repositories() { task = new RuleRegistration(new RuleDefinitionsLoader(mock(RuleRepositories.class), new RuleDefinitions[]{ - new FindbugsRepository(), new FbContribRepository()}), + new FindbugsRepository(), new FbContribRepository()}), profilesManager, ruleRegistry, esRuleTags, ruleTagOperations, myBatis, ruleDao, ruleTagDao, activeRuleDao); setupData("empty"); task.start(); - checkTables("should_insert_extended_repositories", EXCLUDED_COLUMN_NAMES, "rules"); + checkTables("insert_extended_repositories", EXCLUDED_COLUMN_NAMES_INCLUDING_DEBT, "rules"); } static class FakeRepository implements RuleDefinitions { @@ -214,19 +218,24 @@ public class RuleRegistrationTest extends AbstractDaoTestCase { NewRepository repo = context.newRepository("fake", "java"); NewRule rule1 = repo.newRule("rule1") - .setName("One") - .setHtmlDescription("Description of One") - .setSeverity(Severity.BLOCKER) - .setInternalKey("config1") - .setTags("tag1", "tag3", "tag5"); + .setName("One") + .setHtmlDescription("Description of One") + .setSeverity(Severity.BLOCKER) + .setCharacteristicKey("COMPILER") + .setRemediationFunction(RemediationFunction.LINEAR_OFFSET) + .setRemediationFactor("5d") + .setRemediationOffset("10h") + .setEffortToFixL10nKey("squid.S115.effortToFix") + .setInternalKey("config1") + .setTags("tag1", "tag3", "tag5"); rule1.newParam("param1").setDescription("parameter one").setDefaultValue("default value one"); rule1.newParam("param2").setDescription("parameter two").setDefaultValue("default value two"); repo.newRule("rule2") - .setName("Two") - .setHtmlDescription("Description of Two") - .setSeverity(Severity.INFO) - .setStatus(RuleStatus.DEPRECATED); + .setName("Two") + .setHtmlDescription("Description of Two") + .setSeverity(Severity.INFO) + .setStatus(RuleStatus.DEPRECATED); repo.done(); } } @@ -239,11 +248,11 @@ public class RuleRegistrationTest extends AbstractDaoTestCase { NewRepository repo = context.newRepository("big", "java"); for (int i = 0; i < SIZE; i++) { NewRule rule = repo.newRule("rule" + i) - .setName("name of " + i) - .setHtmlDescription("description of " + i) - .setSeverity(Severity.BLOCKER) - .setInternalKey("config1") - .setTags("tag1", "tag3", "tag5"); + .setName("name of " + i) + .setHtmlDescription("description of " + i) + .setSeverity(Severity.BLOCKER) + .setInternalKey("config1") + .setTags("tag1", "tag3", "tag5"); for (int j = 0; j < 20; j++) { rule.newParam("param" + j); } @@ -258,8 +267,8 @@ public class RuleRegistrationTest extends AbstractDaoTestCase { public void define(Context context) { NewRepository repo = context.newRepository("findbugs", "java"); repo.newRule("rule1") - .setName("Rule One") - .setHtmlDescription("Description of Rule One"); + .setName("Rule One") + .setHtmlDescription("Description of Rule One"); repo.done(); } } @@ -269,8 +278,8 @@ public class RuleRegistrationTest extends AbstractDaoTestCase { public void define(Context context) { NewExtendedRepository repo = context.extendRepository("findbugs", "java"); repo.newRule("rule2") - .setName("Rule Two") - .setHtmlDescription("Description of Rule Two"); + .setName("Rule Two") + .setHtmlDescription("Description of Rule Two"); repo.done(); } } diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_disable_deprecated_active_rule_params-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_deprecated_active_rule_params-result.xml index d802714fa76..d802714fa76 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_disable_deprecated_active_rule_params-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_deprecated_active_rule_params-result.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_disable_deprecated_active_rule_params.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_deprecated_active_rule_params.xml index 8b124e9c6c6..8b124e9c6c6 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_disable_deprecated_active_rule_params.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_deprecated_active_rule_params.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_disable_deprecated_active_rules-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_deprecated_active_rules-result.xml index 9d782421156..9d782421156 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_disable_deprecated_active_rules-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_deprecated_active_rules-result.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_disable_deprecated_active_rules.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_deprecated_active_rules.xml index 1e4bfe7b714..1e4bfe7b714 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_disable_deprecated_active_rules.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_deprecated_active_rules.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_disable_deprecated_repositories-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_deprecated_repositories-result.xml index c360f7632fe..c360f7632fe 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_disable_deprecated_repositories-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_deprecated_repositories-result.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_disable_deprecated_rules-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_deprecated_rules-result.xml index 6fbbd458ed6..6fbbd458ed6 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_disable_deprecated_rules-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_deprecated_rules-result.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_disable_deprecated_rules.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_deprecated_rules.xml index 02da4a352cd..02da4a352cd 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_disable_deprecated_rules.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_deprecated_rules.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disableUserRulesIfParentIsDisabled-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_template_rules_if_parent_is_disabled-result.xml index 9b4c8e7fec4..9b4c8e7fec4 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disableUserRulesIfParentIsDisabled-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_template_rules_if_parent_is_disabled-result.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disableUserRulesIfParentIsDisabled.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_template_rules_if_parent_is_disabled.xml index 3d583d9b472..3ec546d9b46 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disableUserRulesIfParentIsDisabled.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/disable_template_rules_if_parent_is_disabled.xml @@ -16,4 +16,4 @@ <rules id="4" plugin_rule_key="template_rule2" plugin_name="fake" plugin_config_key="[null]" name="User rule" description="[null]" status="READY" priority="4" cardinality="SINGLE" parent_id="3"/> -</dataset>
\ No newline at end of file +</dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_insert_extended_repositories-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/insert_extended_repositories-result.xml index f8650b84e27..c8b08ab37e8 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_insert_extended_repositories-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/insert_extended_repositories-result.xml @@ -6,4 +6,4 @@ <rules id="2" plugin_rule_key="rule2" plugin_name="findbugs" plugin_config_key="[null]" name="Rule Two" description="Description of Rule Two" status="READY" priority="2" cardinality="SINGLE" parent_id="[null]" language="java"/> -</dataset>
\ No newline at end of file +</dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/insert_new_rules-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/insert_new_rules-result.xml new file mode 100644 index 00000000000..050c8b4377c --- /dev/null +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/insert_new_rules-result.xml @@ -0,0 +1,58 @@ +<!-- + ~ SonarQube, open source software quality management tool. + ~ Copyright (C) 2008-2013 SonarSource + ~ mailto:contact AT sonarsource DOT com + ~ + ~ SonarQube 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. + ~ + ~ SonarQube 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. + --> + +<dataset> + + <rules id="1" plugin_rule_key="deprecated-key" plugin_name="deprecated-repo" plugin_config_key="[null]" name="Deprecated" description="[null]" + status="REMOVED" priority="4" cardinality="SINGLE" parent_id="[null]" language="[null]" + characteristic_id="[null]" default_characteristic_id="[null]" + remediation_function="[null]" default_remediation_function="[null]" + remediation_factor="[null]" default_remediation_factor="[null]" + remediation_offset="[null]" default_remediation_offset="[null]" + effort_to_fix_l10n_key="[null]"/> + + <rules id="2" plugin_rule_key="rule1" plugin_name="fake" plugin_config_key="config1" name="One" description="Description of One" + status="READY" priority="4" cardinality="SINGLE" parent_id="[null]" language="java" + characteristic_id="[null]" default_characteristic_id="[null]" + remediation_function="[null]" default_remediation_function="LINEAR_OFFSET" + remediation_factor="[null]" default_remediation_factor="5d" + remediation_offset="[null]" default_remediation_offset="10h" + effort_to_fix_l10n_key="squid.S115.effortToFix"/> + + <rules_parameters id="1" rule_id="2" default_value="default value one" description="parameter one" name="param1" param_type="STRING"/> + <rules_parameters id="2" rule_id="2" default_value="default value two" description="parameter two" name="param2" param_type="STRING"/> + + <rule_tags id="1" tag="tag1"/> + <rule_tags id="2" tag="tag3"/> + <rule_tags id="3" tag="tag5"/> + + <rules_rule_tags id="1" rule_id="2" rule_tag_id="1" tag_type="SYSTEM"/> + <rules_rule_tags id="2" rule_id="2" rule_tag_id="2" tag_type="SYSTEM"/> + <rules_rule_tags id="3" rule_id="2" rule_tag_id="3" tag_type="SYSTEM"/> + + <rules id="3" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="[null]" name="Two" description="Description of Two" + status="DEPRECATED" priority="0" cardinality="SINGLE" parent_id="[null]" language="java" + characteristic_id="[null]" default_characteristic_id="[null]" + remediation_function="[null]" default_remediation_function="[null]" + remediation_factor="[null]" default_remediation_factor="[null]" + remediation_offset="[null]" default_remediation_offset="[null]" + effort_to_fix_l10n_key="[null]"/> + +</dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/shouldNotDisableManualRules-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/not_disable_manual_rules-result.xml index 7aa9839d5ad..7aa9839d5ad 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/shouldNotDisableManualRules-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/not_disable_manual_rules-result.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/shouldNotDisableManualRules.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/not_disable_manual_rules.xml index cc9e9f725d7..f745b821f72 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/shouldNotDisableManualRules.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/not_disable_manual_rules.xml @@ -6,4 +6,4 @@ <rules id="2" plugin_rule_key="IllegalExceptionCheck" plugin_name="checkstyle" plugin_config_key="[null]" name="Illegal Exception" description="[null]" status="READY" priority="4" cardinality="SINGLE" parent_id="[null]"/> -</dataset>
\ No newline at end of file +</dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/doNotDisableUserRulesIfParentIsEnabled-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/not_disable_template_rules_if_parent_is_enabled-result.xml index ddc9c940e81..ddc9c940e81 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/doNotDisableUserRulesIfParentIsEnabled-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/not_disable_template_rules_if_parent_is_enabled-result.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/doNotDisableUserRulesIfParentIsEnabled.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/not_disable_template_rules_if_parent_is_enabled.xml index e45fb2ebc5d..4260a86f9a6 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/doNotDisableUserRulesIfParentIsEnabled.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/not_disable_template_rules_if_parent_is_enabled.xml @@ -6,4 +6,4 @@ <rules id="2" plugin_rule_key="user_rule" plugin_name="fake" plugin_config_key="[null]" name="User rule" description="[null]" status="READY" priority="4" cardinality="SINGLE" parent_id="1"/> -</dataset>
\ No newline at end of file +</dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_not_update_already_disabled_rules-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/not_update_already_disabled_rules-result.xml index c8f9fa8f786..c8f9fa8f786 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_not_update_already_disabled_rules-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/not_update_already_disabled_rules-result.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_not_update_already_disabled_rules.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/not_update_already_disabled_rules.xml index 7a8a2fa8e95..7a8a2fa8e95 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_not_update_already_disabled_rules.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/not_update_already_disabled_rules.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_reactivate_disabled_rules-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/reactivate_disabled_rules-result.xml index 18f0f55b16e..18f0f55b16e 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_reactivate_disabled_rules-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/reactivate_disabled_rules-result.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_reactivate_disabled_rules.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/reactivate_disabled_rules.xml index 146807e3afc..146807e3afc 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_reactivate_disabled_rules.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/reactivate_disabled_rules.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/shared.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/shared.xml index 68ec4b5e99b..84192cc4810 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/shared.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/shared.xml @@ -3,4 +3,4 @@ <rules id="1" plugin_rule_key="deprecated-key" plugin_name="deprecated-repo" plugin_config_key="[null]" name="Deprecated" description="[null]" status="READY" priority="4" cardinality="SINGLE" parent_id="[null]"/> -</dataset>
\ No newline at end of file +</dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_insert_new_rules-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_insert_new_rules-result.xml deleted file mode 100644 index 3c7dff4a831..00000000000 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_insert_new_rules-result.xml +++ /dev/null @@ -1,22 +0,0 @@ -<dataset> - - <rules id="1" plugin_rule_key="deprecated-key" plugin_name="deprecated-repo" plugin_config_key="[null]" name="Deprecated" description="[null]" - status="REMOVED" priority="4" cardinality="SINGLE" parent_id="[null]" language="[null]"/> - - <rules id="2" plugin_rule_key="rule1" plugin_name="fake" plugin_config_key="config1" name="One" description="Description of One" - status="READY" priority="4" cardinality="SINGLE" parent_id="[null]" language="java"/> - <rules_parameters id="1" rule_id="2" default_value="default value one" description="parameter one" name="param1" param_type="STRING"/> - <rules_parameters id="2" rule_id="2" default_value="default value two" description="parameter two" name="param2" param_type="STRING"/> - - <rule_tags id="1" tag="tag1"/> - <rule_tags id="2" tag="tag3"/> - <rule_tags id="3" tag="tag5"/> - - <rules_rule_tags id="1" rule_id="2" rule_tag_id="1" tag_type="SYSTEM"/> - <rules_rule_tags id="2" rule_id="2" rule_tag_id="2" tag_type="SYSTEM"/> - <rules_rule_tags id="3" rule_id="2" rule_tag_id="3" tag_type="SYSTEM"/> - - <rules id="3" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="[null]" name="Two" description="Description of Two" - status="DEPRECATED" priority="0" cardinality="SINGLE" parent_id="[null]" language="java"/> - -</dataset>
\ No newline at end of file diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_update_template_rule_language-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_update_template_rule_language-result.xml deleted file mode 100644 index d59dce6a2a4..00000000000 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_update_template_rule_language-result.xml +++ /dev/null @@ -1,17 +0,0 @@ -<dataset> - - <rules id="1" plugin_rule_key="rule1" plugin_name="fake" plugin_config_key="config1" name="One" description="Description of One" - status="READY" priority="4" cardinality="SINGLE" parent_id="[null]" language="java"/> - - <!-- Instance of old rule 1 :/ --> - <rules id="2" plugin_rule_key="template_rule1" plugin_name="fake" plugin_config_key="[null]" name="User rule" description="[null]" - status="READY" priority="4" cardinality="SINGLE" parent_id="1" language="java"/> - - <rules id="3" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="[null]" name="Two" description="Description of Two" - status="DEPRECATED" priority="0" cardinality="SINGLE" parent_id="[null]" language="java"/> - - <!-- Template of old rule 3 :/ --> - <rules id="4" plugin_rule_key="template_rule2" plugin_name="fake" plugin_config_key="[null]" name="User rule" description="[null]" - status="DEPRECATED" priority="4" cardinality="SINGLE" parent_id="3" language="java"/> - -</dataset>
\ No newline at end of file diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_update_template_rule_language.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_update_template_rule_language.xml deleted file mode 100644 index c8e9ce4db16..00000000000 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_update_template_rule_language.xml +++ /dev/null @@ -1,17 +0,0 @@ -<dataset> - - <rules id="1" plugin_rule_key="rule1" plugin_name="fake" plugin_config_key="[null]" name="Rule one" description="[null]" - status="READY" priority="4" cardinality="MULTIPLE" parent_id="[null]" language="[null]"/> - - <!-- Instance of rule 1 --> - <rules id="2" plugin_rule_key="template_rule1" plugin_name="fake" plugin_config_key="[null]" name="User rule" description="[null]" - status="READY" priority="4" cardinality="SINGLE" parent_id="1" language="[null]"/> - - <rules id="3" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="old_config_key2" name="old name2" description="old description2" - status="DEPRECATED" priority="1" cardinality="MULTIPLE" parent_id="[null]" /> - - <!-- Instance of rule 3 --> - <rules id="4" plugin_rule_key="template_rule2" plugin_name="fake" plugin_config_key="[null]" name="User rule" description="[null]" - status="READY" priority="4" cardinality="SINGLE" parent_id="3"/> - -</dataset>
\ No newline at end of file diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_store_bundle_name_and_description_in_database-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/store_bundle_name_and_description_in_database-result.xml index b7d93c5a21b..b7d93c5a21b 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_store_bundle_name_and_description_in_database-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/store_bundle_name_and_description_in_database-result.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/updadeRuleFields-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_rule_fields-result.xml index 6a946360271..f630e3adbd9 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/updadeRuleFields-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_rule_fields-result.xml @@ -1,7 +1,12 @@ <dataset> <rules id="1" plugin_rule_key="rule1" plugin_name="fake" plugin_config_key="config1" name="One" description="Description of One" - status="READY" priority="4" cardinality="SINGLE" parent_id="[null]" language="java"/> + status="READY" priority="4" cardinality="SINGLE" parent_id="[null]" language="java" + characteristic_id="[null]" default_characteristic_id="200" + remediation_function="[null]" default_remediation_function="LINEAR_OFFSET" + remediation_factor="[null]" default_remediation_factor="5d" + remediation_offset="[null]" default_remediation_offset="10h" + effort_to_fix_l10n_key="squid.S115.effortToFix"/> <rules_parameters id="1" rule_id="1" default_value="default value one" description="parameter one" name="param1" param_type="STRING"/> <rules_parameters id="2" rule_id="1" default_value="default value two" description="parameter two" name="param2" param_type="STRING"/> @@ -17,6 +22,11 @@ <rules_rule_tags id="5" rule_id="1" rule_tag_id="5" tag_type="SYSTEM"/> <rules id="2" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="[null]" name="Two" description="Description of Two" - status="DEPRECATED" priority="0" cardinality="SINGLE" parent_id="[null]" language="java"/> + status="DEPRECATED" priority="0" cardinality="SINGLE" parent_id="[null]" language="java" + characteristic_id="[null]" default_characteristic_id="[null]" + remediation_function="[null]" default_remediation_function="[null]" + remediation_factor="[null]" default_remediation_factor="[null]" + remediation_offset="[null]" default_remediation_offset="[null]" + effort_to_fix_l10n_key="[null]"/> </dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/updadeRuleFields.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_rule_fields.xml index 72212945512..416104e8287 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/updadeRuleFields.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_rule_fields.xml @@ -1,7 +1,12 @@ <dataset> <rules id="1" plugin_rule_key="rule1" plugin_name="fake" plugin_config_key="old_config_key" name="old name" description="old description" - status="READY" priority="2" cardinality="SINGLE" parent_id="[null]" /> + status="READY" priority="2" cardinality="SINGLE" parent_id="[null]" + characteristic_id="[null]" default_characteristic_id="200" + remediation_function="[null]" default_remediation_function="LINEAR" + remediation_factor="[null]" default_remediation_factor="14min" + remediation_offset="[null]" default_remediation_offset="[null]" + effort_to_fix_l10n_key="[null]"/> <rules_parameters id="1" rule_id="1" name="param1" description="[null]" param_type="STRING"/> @@ -16,7 +21,7 @@ <rules_rule_tags id="4" rule_id="1" rule_tag_id="4" tag_type="ADMIN"/> <rules id="2" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="old_config_key2" name="old name2" description="old description2" - status="READY" priority="1" cardinality="SINGLE" parent_id="[null]" /> + status="READY" priority="1" cardinality="SINGLE" parent_id="[null]"/> </dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_update_rule_parameters-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_rule_parameters-result.xml index 337a28e1605..337a28e1605 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_update_rule_parameters-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_rule_parameters-result.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_update_rule_parameters.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_rule_parameters.xml index 6e63e30e606..6e63e30e606 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/should_update_rule_parameters.xml +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_rule_parameters.xml diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_template_rule_language-result.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_template_rule_language-result.xml new file mode 100644 index 00000000000..210511b46e1 --- /dev/null +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_template_rule_language-result.xml @@ -0,0 +1,57 @@ +<!-- + ~ SonarQube, open source software quality management tool. + ~ Copyright (C) 2008-2013 SonarSource + ~ mailto:contact AT sonarsource DOT com + ~ + ~ SonarQube 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. + ~ + ~ SonarQube 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. + --> + +<dataset> + + <rules id="1" plugin_rule_key="rule1" plugin_name="fake" plugin_config_key="config1" name="One" description="Description of One" + status="READY" priority="4" cardinality="SINGLE" parent_id="[null]" language="java" + characteristic_id="[null]" default_characteristic_id="100" + remediation_function="[null]" default_remediation_function="LINEAR_OFFSET" + remediation_factor="[null]" default_remediation_factor="5d" + remediation_offset="[null]" default_remediation_offset="10h" + effort_to_fix_l10n_key="squid.S115.effortToFix" /> + + <!-- Instance of old rule 1 :/ --> + <rules id="2" plugin_rule_key="template_rule1" plugin_name="fake" plugin_config_key="[null]" name="User rule" description="[null]" + status="READY" priority="4" cardinality="SINGLE" parent_id="1" language="java" + characteristic_id="[null]" default_characteristic_id="100" + remediation_function="[null]" default_remediation_function="LINEAR_OFFSET" + remediation_factor="[null]" default_remediation_factor="5d" + remediation_offset="[null]" default_remediation_offset="10h" + effort_to_fix_l10n_key="squid.S115.effortToFix" /> + + <rules id="3" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="[null]" name="Two" description="Description of Two" + status="DEPRECATED" priority="0" cardinality="SINGLE" parent_id="[null]" language="java" + characteristic_id="[null]" default_characteristic_id="[null]" + remediation_function="[null]" default_remediation_function="[null]" + remediation_factor="[null]" default_remediation_factor="[null]" + remediation_offset="[null]" default_remediation_offset="[null]" + effort_to_fix_l10n_key="[null]" /> + + <!-- Template of old rule 3 :/ --> + <rules id="4" plugin_rule_key="template_rule2" plugin_name="fake" plugin_config_key="[null]" name="User rule" description="[null]" + status="DEPRECATED" priority="4" cardinality="SINGLE" parent_id="3" language="java" + characteristic_id="[null]" default_characteristic_id="[null]" + remediation_function="[null]" default_remediation_function="[null]" + remediation_factor="[null]" default_remediation_factor="[null]" + remediation_offset="[null]" default_remediation_offset="[null]" + effort_to_fix_l10n_key="[null]" /> + +</dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_template_rule_language.xml b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_template_rule_language.xml new file mode 100644 index 00000000000..b5a6352ede7 --- /dev/null +++ b/sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_template_rule_language.xml @@ -0,0 +1,57 @@ +<!-- + ~ SonarQube, open source software quality management tool. + ~ Copyright (C) 2008-2013 SonarSource + ~ mailto:contact AT sonarsource DOT com + ~ + ~ SonarQube 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. + ~ + ~ SonarQube 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. + --> + +<dataset> + + <rules id="1" plugin_rule_key="rule1" plugin_name="fake" plugin_config_key="[null]" name="Rule one" description="[null]" + status="READY" priority="4" cardinality="MULTIPLE" parent_id="[null]" language="[null]" + characteristic_id="[null]" default_characteristic_id="100" + remediation_function="[null]" default_remediation_function="LINEAR_OFFSET" + remediation_factor="[null]" default_remediation_factor="5d" + remediation_offset="[null]" default_remediation_offset="10h" + effort_to_fix_l10n_key="squid.S115.effortToFix" /> + + <!-- Instance of rule 1 --> + <rules id="2" plugin_rule_key="template_rule1" plugin_name="fake" plugin_config_key="[null]" name="User rule" description="[null]" + status="READY" priority="4" cardinality="SINGLE" parent_id="1" language="[null]" + characteristic_id="[null]" default_characteristic_id="200" + remediation_function="[null]" default_remediation_function="LINEAR" + remediation_factor="[null]" default_remediation_factor="1h" + remediation_offset="[null]" default_remediation_offset="15min" + effort_to_fix_l10n_key="squid.S115.effortToFix2" /> + + <rules id="3" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="old_config_key2" name="old name2" description="old description2" + status="DEPRECATED" priority="1" cardinality="MULTIPLE" parent_id="[null]" + characteristic_id="[null]" default_characteristic_id="[null]" + remediation_function="[null]" default_remediation_function="[null]" + remediation_factor="[null]" default_remediation_factor="[null]" + remediation_offset="[null]" default_remediation_offset="[null]" + effort_to_fix_l10n_key="[null]" /> + + <!-- Instance of rule 3 --> + <rules id="4" plugin_rule_key="template_rule2" plugin_name="fake" plugin_config_key="[null]" name="User rule" description="[null]" + status="READY" priority="4" cardinality="SINGLE" parent_id="3" + characteristic_id="[null]" default_characteristic_id="[null]" + remediation_function="[null]" default_remediation_function="[null]" + remediation_factor="[null]" default_remediation_factor="[null]" + remediation_offset="[null]" default_remediation_offset="[null]" + effort_to_fix_l10n_key="[null]" /> + +</dataset> |