aboutsummaryrefslogtreecommitdiffstats
path: root/tests/plugins
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2018-04-19 15:14:31 +0200
committerSonarTech <sonartech@sonarsource.com>2018-05-10 20:20:54 +0200
commit56844138c6d4b5a0a0365c08fd44d94135395154 (patch)
tree0791942cf173cf8efef8c29f28804c6a5dddb0b5 /tests/plugins
parentefdcb66474cb9fea9d77501e8dad428cd81cdd1e (diff)
downloadsonarqube-56844138c6d4b5a0a0365c08fd44d94135395154.tar.gz
sonarqube-56844138c6d4b5a0a0365c08fd44d94135395154.zip
SONAR-10593 SONAR-10315 support plugin uninstall before CE processing
Diffstat (limited to 'tests/plugins')
-rw-r--r--tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/BlueGreenPlugin.java3
-rw-r--r--tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/BuiltInProfilesV1.java8
-rw-r--r--tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/MetricsDefinitionV1.java34
-rw-r--r--tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/RulesDefinitionV1.java13
-rw-r--r--tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/SensorV1.java (renamed from tests/plugins/blue-green-plugin-v1/src/main/java/org/sonarqube/qa/bluegreen/RuleSensorV1.java)20
-rw-r--r--tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/BlueGreenPlugin.java3
-rw-r--r--tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/BuiltInProfilesV2.java5
-rw-r--r--tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/MetricsDefinitionV2.java35
-rw-r--r--tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/RulesDefinitionV2.java14
-rw-r--r--tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/SensorV2.java (renamed from tests/plugins/blue-green-plugin-v2/src/main/java/org/sonarqube/qa/bluegreen/RuleSensorV2.java)20
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) {