diff options
author | Simon Brandhof <simon.brandhof@sonarsource.com> | 2018-04-19 15:14:31 +0200 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2018-05-10 20:20:54 +0200 |
commit | 56844138c6d4b5a0a0365c08fd44d94135395154 (patch) | |
tree | 0791942cf173cf8efef8c29f28804c6a5dddb0b5 /tests/plugins | |
parent | efdcb66474cb9fea9d77501e8dad428cd81cdd1e (diff) | |
download | sonarqube-56844138c6d4b5a0a0365c08fd44d94135395154.tar.gz sonarqube-56844138c6d4b5a0a0365c08fd44d94135395154.zip |
SONAR-10593 SONAR-10315 support plugin uninstall before CE processing
Diffstat (limited to 'tests/plugins')
10 files changed, 144 insertions, 11 deletions
diff --git a/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/BlueGreenPlugin.java b/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/BlueGreenPlugin.java index ea0eea80322..046347e345a 100644 --- a/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/BlueGreenPlugin.java +++ b/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/BlueGreenPlugin.java @@ -27,9 +27,10 @@ public class BlueGreenPlugin implements Plugin { public void define(Context context) { context.addExtensions( BuiltInProfilesV1.class, + MetricsDefinitionV1.class, PageDefinitionV1.class, RulesDefinitionV1.class, - RuleSensorV1.class); + SensorV1.class); } } diff --git a/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/BuiltInProfilesV1.java b/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/BuiltInProfilesV1.java index 1d19f4e5ad9..911781faf52 100644 --- a/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/BuiltInProfilesV1.java +++ b/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/BuiltInProfilesV1.java @@ -25,8 +25,12 @@ public class BuiltInProfilesV1 implements BuiltInQualityProfilesDefinition { @Override public void define(Context context) { NewBuiltInQualityProfile profile = context.createBuiltInQualityProfile("Blue Profile", "xoo"); - profile.activateRule(RulesDefinitionV1.REPOSITORY_KEY, "a").overrideSeverity("BLOCKER"); - profile.activateRule(RulesDefinitionV1.REPOSITORY_KEY, "b").overrideSeverity("CRITICAL"); + profile.activateRule(RulesDefinitionV1.REPOSITORY_KEY, "a") + .overrideSeverity("BLOCKER"); + NewBuiltInActiveRule activeB = profile.activateRule(RulesDefinitionV1.REPOSITORY_KEY, "b") + .overrideSeverity("CRITICAL"); + activeB.overrideParam("p1", "one"); + activeB.overrideParam("p2", "two"); profile.done(); } } diff --git a/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/MetricsDefinitionV1.java b/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/MetricsDefinitionV1.java new file mode 100644 index 00000000000..e681d679d36 --- /dev/null +++ b/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/MetricsDefinitionV1.java @@ -0,0 +1,34 @@ +/* + * SonarQube + * Copyright (C) 2009-2018 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.qa.bluegreen; + +import java.util.Arrays; +import java.util.List; +import org.sonar.api.measures.Metric; +import org.sonar.api.measures.Metrics; + +public class MetricsDefinitionV1 implements Metrics { + @Override + public List<Metric> getMetrics() { + return Arrays.asList( + new Metric.Builder("blue", "Blue", Metric.ValueType.INT).create(), + new Metric.Builder("bluegreen", "BlueGreen", Metric.ValueType.INT).create()); + } +} diff --git a/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/RulesDefinitionV1.java b/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/RulesDefinitionV1.java index e6fbc56bbe4..4ef3ed24c01 100644 --- a/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/RulesDefinitionV1.java +++ b/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/RulesDefinitionV1.java @@ -19,6 +19,7 @@ */ package org.sonarqube.qa.bluegreen; +import org.sonar.api.rules.RuleType; import org.sonar.api.server.rule.RulesDefinition; public class RulesDefinitionV1 implements RulesDefinition { @@ -28,8 +29,16 @@ public class RulesDefinitionV1 implements RulesDefinition { @Override public void define(Context context) { NewRepository repo = context.createRepository(REPOSITORY_KEY, "xoo").setName("BlueGreen"); - repo.createRule("a").setName("Rule A").setHtmlDescription("Rule A"); - repo.createRule("b").setName("Rule B").setHtmlDescription("Rule B"); + repo.createRule("a") + .setName("Rule A") + .setHtmlDescription("Rule A") + .setType(RuleType.VULNERABILITY); + NewRule ruleB = repo.createRule("b") + .setName("Rule B") + .setHtmlDescription("Rule B") + .setType(RuleType.VULNERABILITY); + ruleB.createParam("p1").setName("Param One"); + ruleB.createParam("p2").setName("Param Two"); repo.done(); } } diff --git a/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/RuleSensorV1.java b/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/SensorV1.java index 1d377825a3f..35004ad5893 100644 --- a/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/RuleSensorV1.java +++ b/tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/SensorV1.java @@ -20,6 +20,7 @@ package org.sonarqube.qa.bluegreen; import org.sonar.api.batch.fs.InputFile; +import org.sonar.api.batch.measure.MetricFinder; import org.sonar.api.batch.sensor.Sensor; import org.sonar.api.batch.sensor.SensorContext; import org.sonar.api.batch.sensor.SensorDescriptor; @@ -28,7 +29,13 @@ import org.sonar.api.rule.RuleKey; import static org.sonarqube.qa.bluegreen.RulesDefinitionV1.REPOSITORY_KEY; -public class RuleSensorV1 implements Sensor { +public class SensorV1 implements Sensor { + + private final MetricFinder metricFinder; + + public SensorV1(MetricFinder metricFinder) { + this.metricFinder = metricFinder; + } @Override public void describe(SensorDescriptor descriptor) { @@ -43,6 +50,17 @@ public class RuleSensorV1 implements Sensor { saveIssue(context, inputFile, "a"); saveIssue(context, inputFile, "b"); } + + context.newMeasure() + .forMetric(metricFinder.findByKey("blue")) + .on(context.module()) + .withValue(10) + .save(); + context.newMeasure() + .forMetric(metricFinder.findByKey("bluegreen")) + .on(context.module()) + .withValue(20) + .save(); } private void saveIssue(SensorContext context, InputFile inputFile, String ruleKey) { diff --git a/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/BlueGreenPlugin.java b/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/BlueGreenPlugin.java index 156bf7a612f..e10434bf6d6 100644 --- a/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/BlueGreenPlugin.java +++ b/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/BlueGreenPlugin.java @@ -27,9 +27,10 @@ public class BlueGreenPlugin implements Plugin { public void define(Context context) { context.addExtensions( BuiltInProfilesV2.class, + MetricsDefinitionV2.class, PageDefinitionV2.class, RulesDefinitionV2.class, - RuleSensorV2.class); + SensorV2.class); } } diff --git a/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/BuiltInProfilesV2.java b/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/BuiltInProfilesV2.java index ccb8e096010..42434bd0218 100644 --- a/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/BuiltInProfilesV2.java +++ b/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/BuiltInProfilesV2.java @@ -25,7 +25,10 @@ public class BuiltInProfilesV2 implements BuiltInQualityProfilesDefinition { @Override public void define(Context context) { NewBuiltInQualityProfile profile = context.createBuiltInQualityProfile("Green Profile", "xoo"); - profile.activateRule(RulesDefinitionV2.REPOSITORY_KEY, "b").overrideSeverity("MINOR"); + NewBuiltInActiveRule activeB = profile.activateRule(RulesDefinitionV2.REPOSITORY_KEY, "b") + .overrideSeverity("MINOR"); + activeB.overrideParam("p2", "two"); + activeB.overrideParam("p3", "three"); profile.activateRule(RulesDefinitionV2.REPOSITORY_KEY, "c").overrideSeverity("INFO"); profile.done(); } diff --git a/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/MetricsDefinitionV2.java b/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/MetricsDefinitionV2.java new file mode 100644 index 00000000000..5b98a5dc136 --- /dev/null +++ b/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/MetricsDefinitionV2.java @@ -0,0 +1,35 @@ +/* + * SonarQube + * Copyright (C) 2009-2018 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.qa.bluegreen; + +import java.util.Arrays; +import java.util.List; +import org.sonar.api.measures.Metric; +import org.sonar.api.measures.Metrics; + +public class MetricsDefinitionV2 implements Metrics { + @Override + public List<Metric> getMetrics() { + return Arrays.asList( + // the metric "blue" has been dropped + new Metric.Builder("bluegreen", "BlueGreen", Metric.ValueType.INT).create(), + new Metric.Builder("green", "Green", Metric.ValueType.INT).create()); + } +} diff --git a/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/RulesDefinitionV2.java b/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/RulesDefinitionV2.java index 3e04908a570..41f563a506c 100644 --- a/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/RulesDefinitionV2.java +++ b/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/RulesDefinitionV2.java @@ -19,6 +19,7 @@ */ package org.sonarqube.qa.bluegreen; +import org.sonar.api.rules.RuleType; import org.sonar.api.server.rule.RulesDefinition; public class RulesDefinitionV2 implements RulesDefinition { @@ -28,8 +29,17 @@ public class RulesDefinitionV2 implements RulesDefinition { @Override public void define(Context context) { NewRepository repo = context.createRepository(REPOSITORY_KEY, "xoo").setName("BlueGreen"); - repo.createRule("b").setName("Rule B").setHtmlDescription("Rule B"); - repo.createRule("c").setName("Rule C").setHtmlDescription("Rule C"); + NewRule ruleB = repo.createRule("b") + .setName("Rule B") + .setHtmlDescription("Rule B") + .setType(RuleType.VULNERABILITY); + ruleB.createParam("p2").setName("Param Two"); + ruleB.createParam("p3").setName("Param Three"); + + repo.createRule("c") + .setName("Rule C") + .setHtmlDescription("Rule C") + .setType(RuleType.VULNERABILITY); repo.done(); } } diff --git a/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/RuleSensorV2.java b/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/SensorV2.java index 5dde5ddd1b2..3edd3c6aeaf 100644 --- a/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/RuleSensorV2.java +++ b/tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/SensorV2.java @@ -20,6 +20,7 @@ package org.sonarqube.qa.bluegreen; import org.sonar.api.batch.fs.InputFile; +import org.sonar.api.batch.measure.MetricFinder; import org.sonar.api.batch.sensor.Sensor; import org.sonar.api.batch.sensor.SensorContext; import org.sonar.api.batch.sensor.SensorDescriptor; @@ -28,7 +29,13 @@ import org.sonar.api.rule.RuleKey; import static org.sonarqube.qa.bluegreen.RulesDefinitionV2.REPOSITORY_KEY; -public class RuleSensorV2 implements Sensor { +public class SensorV2 implements Sensor { + + private final MetricFinder metricFinder; + + public SensorV2(MetricFinder metricFinder) { + this.metricFinder = metricFinder; + } @Override public void describe(SensorDescriptor descriptor) { @@ -43,6 +50,17 @@ public class RuleSensorV2 implements Sensor { saveIssue(context, inputFile, "b"); saveIssue(context, inputFile, "c"); } + + context.newMeasure() + .forMetric(metricFinder.findByKey("bluegreen")) + .on(context.module()) + .withValue(30) + .save(); + context.newMeasure() + .forMetric(metricFinder.findByKey("green")) + .on(context.module()) + .withValue(40) + .save(); } private void saveIssue(SensorContext context, InputFile inputFile, String ruleKey) { |