aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-server/src/test
diff options
context:
space:
mode:
authorGodin <mandrikov@gmail.com>2010-12-21 02:34:10 +0000
committerGodin <mandrikov@gmail.com>2010-12-21 02:34:10 +0000
commit53fdf23671b1ae1ebf1541705ab49d6c30f72bd4 (patch)
treed57dc536410c8afa800708be785efec5638f8805 /sonar-server/src/test
parentbf510af3e8eb5b518dbfcc216a40907dd8d7cd47 (diff)
downloadsonarqube-53fdf23671b1ae1ebf1541705ab49d6c30f72bd4.tar.gz
sonarqube-53fdf23671b1ae1ebf1541705ab49d6c30f72bd4.zip
SONAR-1722: Support multiple levels of inheritance
Diffstat (limited to 'sonar-server/src/test')
-rw-r--r--sonar-server/src/test/java/org/sonar/server/configuration/InheritedProfilesTest.java22
-rw-r--r--sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldActivateInChildren-result.xml4
-rw-r--r--sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldActivateInChildren.xml2
-rw-r--r--sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldChangeParent-result.xml6
-rw-r--r--sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldChangeParent.xml6
-rw-r--r--sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldCheckCycles.xml12
-rw-r--r--sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldDeactivateInChildren-result.xml2
-rw-r--r--sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldDeactivateInChildren.xml4
-rw-r--r--sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldRemoveParent-result.xml2
-rw-r--r--sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldRemoveParent.xml4
-rw-r--r--sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldSetParent-result.xml4
-rw-r--r--sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldSetParent.xml2
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>