diff options
author | Godin <mandrikov@gmail.com> | 2010-12-21 02:34:10 +0000 |
---|---|---|
committer | Godin <mandrikov@gmail.com> | 2010-12-21 02:34:10 +0000 |
commit | 53fdf23671b1ae1ebf1541705ab49d6c30f72bd4 (patch) | |
tree | d57dc536410c8afa800708be785efec5638f8805 /sonar-server/src/test | |
parent | bf510af3e8eb5b518dbfcc216a40907dd8d7cd47 (diff) | |
download | sonarqube-53fdf23671b1ae1ebf1541705ab49d6c30f72bd4.tar.gz sonarqube-53fdf23671b1ae1ebf1541705ab49d6c30f72bd4.zip |
SONAR-1722: Support multiple levels of inheritance
Diffstat (limited to 'sonar-server/src/test')
12 files changed, 52 insertions, 18 deletions
diff --git a/sonar-server/src/test/java/org/sonar/server/configuration/InheritedProfilesTest.java b/sonar-server/src/test/java/org/sonar/server/configuration/InheritedProfilesTest.java index 6d146700f2d..beaee7eb60c 100644 --- a/sonar-server/src/test/java/org/sonar/server/configuration/InheritedProfilesTest.java +++ b/sonar-server/src/test/java/org/sonar/server/configuration/InheritedProfilesTest.java @@ -2,8 +2,13 @@ package org.sonar.server.configuration; import org.junit.Before; import org.junit.Test; +import org.sonar.api.profiles.RulesProfile; import org.sonar.jpa.test.AbstractDbUnitTestCase; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.nullValue; +import static org.junit.Assert.assertThat; + public class InheritedProfilesTest extends AbstractDbUnitTestCase { private ProfilesManager profilesManager; @@ -13,6 +18,23 @@ public class InheritedProfilesTest extends AbstractDbUnitTestCase { } @Test + public void shouldCheckCycles() { + setupData("shouldCheckCycles"); + RulesProfile level1 = profilesManager.getProfile("java", "level1"); + RulesProfile level2 = profilesManager.getProfile("java", "level2"); + RulesProfile level3 = profilesManager.getProfile("java", "level3"); + + assertThat(profilesManager.getParentProfile(level1), nullValue()); + assertThat(profilesManager.getParentProfile(level2), is(level1)); + assertThat(profilesManager.getParentProfile(level3), is(level2)); + + assertThat(profilesManager.isCycle(level1, level1), is(true)); + assertThat(profilesManager.isCycle(level1, level3), is(true)); + assertThat(profilesManager.isCycle(level1, level2), is(true)); + assertThat(profilesManager.isCycle(level2, level3), is(true)); + } + + @Test public void shouldSetParent() { setupData("shouldSetParent"); profilesManager.changeParentProfile(2, "parent"); diff --git a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldActivateInChildren-result.xml b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldActivateInChildren-result.xml index 36f0a7035e0..7a4d2a592b8 100644 --- a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldActivateInChildren-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldActivateInChildren-result.xml @@ -9,10 +9,10 @@ <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="parent"/> - <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="[null]"/> + <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="false"/> <active_rule_parameters id="1" active_rule_id="1" rules_parameter_id="1" value="30"/> - <active_rules id="2" profile_id="2" rule_id="1" failure_level="2" inherited="true" overridden="[null]"/> + <active_rules id="2" profile_id="2" rule_id="1" failure_level="2" inherited="true" overridden="false"/> <active_rule_parameters id="2" active_rule_id="2" rules_parameter_id="1" value="30"/> </dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldActivateInChildren.xml b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldActivateInChildren.xml index 8eaee098614..019b5bb6bb3 100644 --- a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldActivateInChildren.xml +++ b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldActivateInChildren.xml @@ -9,7 +9,7 @@ <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="parent"/> - <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="[null]"/> + <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="false"/> <active_rule_parameters id="1" active_rule_id="1" rules_parameter_id="1" value="30"/> </dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldChangeParent-result.xml b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldChangeParent-result.xml index 2d8dcd06fef..f887123534a 100644 --- a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldChangeParent-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldChangeParent-result.xml @@ -12,10 +12,10 @@ <rules_profiles id="3" provided="false" name="child" default_profile="0" language="java" parent_name="new_parent"/> - <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="[null]"/> + <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="false"/> - <active_rules id="2" profile_id="2" rule_id="2" failure_level="2" inherited="false" overridden="[null]"/> + <active_rules id="2" profile_id="2" rule_id="2" failure_level="2" inherited="false" overridden="false"/> - <active_rules id="4" profile_id="3" rule_id="2" failure_level="2" inherited="true" overridden="[null]"/> + <active_rules id="4" profile_id="3" rule_id="2" failure_level="2" inherited="true" overridden="false"/> </dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldChangeParent.xml b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldChangeParent.xml index 4e94e54fa5f..7c6bbdb1ab8 100644 --- a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldChangeParent.xml +++ b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldChangeParent.xml @@ -12,10 +12,10 @@ <rules_profiles id="3" provided="false" name="child" default_profile="0" language="java" parent_name="parent"/> - <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="[null]"/> + <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="false"/> - <active_rules id="2" profile_id="2" rule_id="2" failure_level="2" inherited="false" overridden="[null]"/> + <active_rules id="2" profile_id="2" rule_id="2" failure_level="2" inherited="false" overridden="false"/> - <active_rules id="3" profile_id="3" rule_id="1" failure_level="2" inherited="true" overridden="[null]"/> + <active_rules id="3" profile_id="3" rule_id="1" failure_level="2" inherited="true" overridden="false"/> </dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldCheckCycles.xml b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldCheckCycles.xml new file mode 100644 index 00000000000..fd3b5e3e589 --- /dev/null +++ b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldCheckCycles.xml @@ -0,0 +1,12 @@ +<dataset> + + <rules id="1" name="foo" description="test" plugin_config_key="checker/foo" + plugin_rule_key="checkstyle.rule1" plugin_name="plugin" enabled="true" cardinality="SINGLE" parent_id="[null]"/> + + <rules_profiles id="1" provided="false" name="level1" default_profile="0" language="java" parent_name="[null]"/> + + <rules_profiles id="2" provided="false" name="level2" default_profile="0" language="java" parent_name="level1"/> + + <rules_profiles id="3" provided="false" name="level3" default_profile="0" language="java" parent_name="level2"/> + +</dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldDeactivateInChildren-result.xml b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldDeactivateInChildren-result.xml index 874f79d03e4..393ca0e3a7c 100644 --- a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldDeactivateInChildren-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldDeactivateInChildren-result.xml @@ -7,6 +7,6 @@ <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="parent"/> - <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="[null]"/> + <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="false"/> </dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldDeactivateInChildren.xml b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldDeactivateInChildren.xml index 016e11a46f4..9aa8741732b 100644 --- a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldDeactivateInChildren.xml +++ b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldDeactivateInChildren.xml @@ -7,8 +7,8 @@ <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="parent"/> - <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="[null]"/> + <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="false"/> - <active_rules id="2" profile_id="2" rule_id="1" failure_level="2" inherited="true" overridden="[null]"/> + <active_rules id="2" profile_id="2" rule_id="1" failure_level="2" inherited="true" overridden="false"/> </dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldRemoveParent-result.xml b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldRemoveParent-result.xml index 783ad6580b8..c7d7a39b4a8 100644 --- a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldRemoveParent-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldRemoveParent-result.xml @@ -7,6 +7,6 @@ <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="[null]"/> - <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="[null]"/> + <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="false"/> </dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldRemoveParent.xml b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldRemoveParent.xml index 016e11a46f4..9aa8741732b 100644 --- a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldRemoveParent.xml +++ b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldRemoveParent.xml @@ -7,8 +7,8 @@ <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="parent"/> - <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="[null]"/> + <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="false"/> - <active_rules id="2" profile_id="2" rule_id="1" failure_level="2" inherited="true" overridden="[null]"/> + <active_rules id="2" profile_id="2" rule_id="1" failure_level="2" inherited="true" overridden="false"/> </dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldSetParent-result.xml b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldSetParent-result.xml index 016e11a46f4..9aa8741732b 100644 --- a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldSetParent-result.xml +++ b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldSetParent-result.xml @@ -7,8 +7,8 @@ <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="parent"/> - <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="[null]"/> + <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="false"/> - <active_rules id="2" profile_id="2" rule_id="1" failure_level="2" inherited="true" overridden="[null]"/> + <active_rules id="2" profile_id="2" rule_id="1" failure_level="2" inherited="true" overridden="false"/> </dataset> diff --git a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldSetParent.xml b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldSetParent.xml index 783ad6580b8..c7d7a39b4a8 100644 --- a/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldSetParent.xml +++ b/sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldSetParent.xml @@ -7,6 +7,6 @@ <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="[null]"/> - <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="[null]"/> + <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overridden="false"/> </dataset> |