aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDuarte Meneses <duarte.meneses@sonarsource.com>2018-04-19 16:30:38 +0200
committerSonarTech <sonartech@sonarsource.com>2018-04-26 20:20:52 +0200
commit2552e0dcff500d999401cce943a87dcc766eb623 (patch)
tree897a4be103b1d96e338a51382a9ff0d7d45dfe10
parent4c9a714da9a988f779652f43e53bf2dc23d8cbeb (diff)
downloadsonarqube-2552e0dcff500d999401cce943a87dcc766eb623.tar.gz
sonarqube-2552e0dcff500d999401cce943a87dcc766eb623.zip
SONAR-10544 fix tests
-rw-r--r--plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/rule/OneExternalIssuePerLineSensor.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRule.java19
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/TrackerRawInputFactory.java4
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRuleTest.java22
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/RuleRepositoryImplTest.java8
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/PersistExternalRulesStepTest.java12
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/rule/ExternalRuleCreatorTest.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/NewExternalIssue.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssue.java2
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssueTest.java8
-rw-r--r--sonar-scanner-engine/src/main/java/org/sonar/scanner/externalissue/ExternalIssueImporter.java1
-rw-r--r--sonar-scanner-engine/src/main/java/org/sonar/scanner/externalissue/ReportParser.java2
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ModuleIssuesTest.java2
13 files changed, 18 insertions, 68 deletions
diff --git a/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/rule/OneExternalIssuePerLineSensor.java b/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/rule/OneExternalIssuePerLineSensor.java
index 7b872e26ee8..d9fe4b59e82 100644
--- a/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/rule/OneExternalIssuePerLineSensor.java
+++ b/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/rule/OneExternalIssuePerLineSensor.java
@@ -75,7 +75,7 @@ public class OneExternalIssuePerLineSensor implements Sensor {
.at(file.selectLine(line))
.message("This issue is generated on each line"))
.severity(Severity.valueOf(SEVERITY))
- .remediationEffort(EFFORT)
+ .remediationEffortMinutes(EFFORT)
.type(type)
.save();
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRule.java b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRule.java
index 2e4c067a20d..8b85d1486f9 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRule.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRule.java
@@ -31,12 +31,10 @@ import org.sonar.api.server.debt.DebtRemediationFunction;
public class NewExternalRule implements Rule {
private final RuleKey key;
private final String name;
- private final RuleType type;
private final String pluginKey;
private NewExternalRule(Builder builder) {
this.key = checkNotNull(builder.key, "key");
- this.type = checkNotNull(builder.type, "type");
this.pluginKey = builder.pluginKey;
this.name = builder.name;
}
@@ -70,7 +68,7 @@ public class NewExternalRule implements Rule {
@Override
public RuleType getType() {
- return type;
+ return null;
}
@Override
@@ -95,8 +93,6 @@ public class NewExternalRule implements Rule {
public static class Builder {
private RuleKey key;
- private String severity;
- private RuleType type;
private String pluginKey;
private String name;
@@ -110,19 +106,6 @@ public class NewExternalRule implements Rule {
return this;
}
- public Builder setType(RuleType type) {
- this.type = type;
- return this;
- }
-
- public String severity() {
- return severity;
- }
-
- public RuleType type() {
- return type;
- }
-
public String name() {
return name;
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/TrackerRawInputFactory.java b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/TrackerRawInputFactory.java
index 320a7d10708..8b134cf9d18 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/TrackerRawInputFactory.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/TrackerRawInputFactory.java
@@ -214,13 +214,9 @@ public class TrackerRawInputFactory {
private NewExternalRule toExternalRule(ScannerReport.ExternalIssue reportIssue) {
NewExternalRule.Builder builder = new NewExternalRule.Builder()
- .setType(toRuleType(reportIssue.getType()))
.setName(RuleKey.of(reportIssue.getRuleRepository(), reportIssue.getRuleKey()).toString())
.setKey(RuleKey.of(RuleKey.EXTERNAL_RULE_REPO_PREFIX + reportIssue.getRuleRepository(), reportIssue.getRuleKey()));
- if (reportIssue.getSeverity() != Severity.UNSET_SEVERITY) {
- builder.setSeverity(reportIssue.getSeverity().name());
- }
return builder.build();
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRuleTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRuleTest.java
index f1ade8f696c..f973b28b7b8 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRuleTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRuleTest.java
@@ -22,7 +22,6 @@ package org.sonar.server.computation.task.projectanalysis.issue;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.sonar.api.rule.RuleKey;
-import org.sonar.api.rules.RuleType;
import static org.assertj.core.api.Assertions.assertThat;
@@ -35,31 +34,14 @@ public class NewExternalRuleTest {
NewExternalRule.Builder builder = new NewExternalRule.Builder()
.setKey(RuleKey.of("repo", "rule"))
.setPluginKey("repo")
- .setName("name")
- .setSeverity("MAJOR")
- .setType(RuleType.BUG);
+ .setName("name");
- assertThat(builder.severity()).isEqualTo("MAJOR");
- assertThat(builder.type()).isEqualTo(RuleType.BUG);
assertThat(builder.name()).isEqualTo("name");
NewExternalRule rule = builder.build();
assertThat(rule.getName()).isEqualTo("name");
assertThat(rule.getPluginKey()).isEqualTo("repo");
- assertThat(rule.getSeverity()).isEqualTo("MAJOR");
- assertThat(rule.getType()).isEqualTo(RuleType.BUG);
- }
-
- @Test
- public void fail_if_type_is_not_set() {
- exception.expect(IllegalStateException.class);
- exception.expectMessage("'type' not expected to be null for an external rule");
-
- new NewExternalRule.Builder()
- .setKey(RuleKey.of("repo", "rule"))
- .setSeverity("MAJOR")
- .build();
}
@Test
@@ -68,8 +50,6 @@ public class NewExternalRuleTest {
exception.expectMessage("'key' not expected to be null for an external rule");
new NewExternalRule.Builder()
- .setSeverity("MAJOR")
- .setType(RuleType.BUG)
.build();
}
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/RuleRepositoryImplTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/RuleRepositoryImplTest.java
index a3827e8f7ec..910cd12458b 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/RuleRepositoryImplTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/RuleRepositoryImplTest.java
@@ -50,8 +50,6 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
import static org.mockito.internal.verification.VerificationModeFactory.times;
-import static org.sonar.api.rule.Severity.BLOCKER;
-import static org.sonar.api.rules.RuleType.BUG;
public class RuleRepositoryImplTest {
@@ -274,13 +272,11 @@ public class RuleRepositoryImplTest {
underTest.insertNewExternalRuleIfAbsent(ruleKey, () -> new NewExternalRule.Builder()
.setKey(ruleKey)
.setPluginKey("eslint")
- .setSeverity(BLOCKER)
- .setType(BUG)
.build());
assertThat(underTest.getByKey(ruleKey)).isNotNull();
assertThat(underTest.getByKey(ruleKey).getPluginKey()).isEqualTo("eslint");
- assertThat(underTest.getByKey(ruleKey).getType()).isEqualTo(BUG);
+ assertThat(underTest.getByKey(ruleKey).getType()).isNull();
RuleDao ruleDao = dbClient.ruleDao();
Optional<RuleDefinitionDto> ruleDefinitionDto = ruleDao.selectDefinitionByKey(dbClient.openSession(false), ruleKey);
@@ -295,8 +291,6 @@ public class RuleRepositoryImplTest {
underTest.insertNewExternalRuleIfAbsent(ruleKey, () -> new NewExternalRule.Builder()
.setKey(ruleKey)
.setPluginKey("eslint")
- .setSeverity(BLOCKER)
- .setType(BUG)
.build());
underTest.persistNewExternalRules(db.getSession());
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/PersistExternalRulesStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/PersistExternalRulesStepTest.java
index f834e616ee3..c265a91a82d 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/PersistExternalRulesStepTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/PersistExternalRulesStepTest.java
@@ -39,8 +39,6 @@ import org.sonar.server.rule.index.RuleIndexDefinition;
import org.sonar.server.rule.index.RuleIndexer;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.sonar.api.rule.Severity.BLOCKER;
-import static org.sonar.api.rules.RuleType.BUG;
public class PersistExternalRulesStepTest extends BaseStepTest {
@@ -57,7 +55,7 @@ public class PersistExternalRulesStepTest extends BaseStepTest {
private RuleRepositoryImpl ruleRepository;
@org.junit.Rule
- public EsTester es = EsTester.create();
+ public EsTester es = EsTester.create();
private RuleIndexer indexer = new RuleIndexer(es.client(), dbClient);
private ExternalRuleCreator externalRuleCreator = new ExternalRuleCreator(dbClient, System2.INSTANCE, indexer);
@@ -80,9 +78,7 @@ public class PersistExternalRulesStepTest extends BaseStepTest {
ruleRepository.insertNewExternalRuleIfAbsent(ruleKey, () -> new NewExternalRule.Builder()
.setKey(ruleKey)
.setPluginKey("eslint")
- .setSeverity(BLOCKER)
.setName("eslint:no-cond-assign")
- .setType(BUG)
.build());
underTest.execute();
@@ -95,8 +91,8 @@ public class PersistExternalRulesStepTest extends BaseStepTest {
assertThat(reloaded.getRuleKey()).isEqualTo("no-cond-assign");
assertThat(reloaded.getRepositoryKey()).isEqualTo("eslint");
assertThat(reloaded.isExternal()).isTrue();
- assertThat(reloaded.getType()).isEqualTo(2);
- assertThat(reloaded.getSeverity()).isEqualTo(4);
+ assertThat(reloaded.getType()).isEqualTo(0);
+ assertThat(reloaded.getSeverity()).isNull();
assertThat(reloaded.getName()).isEqualTo("eslint:no-cond-assign");
assertThat(reloaded.getPluginKey()).isEqualTo("eslint");
@@ -111,8 +107,6 @@ public class PersistExternalRulesStepTest extends BaseStepTest {
ruleRepository.insertNewExternalRuleIfAbsent(ruleKey, () -> new NewExternalRule.Builder()
.setKey(ruleKey)
.setPluginKey("eslint")
- .setSeverity(BLOCKER)
- .setType(BUG)
.build());
underTest.execute();
diff --git a/server/sonar-server/src/test/java/org/sonar/server/rule/ExternalRuleCreatorTest.java b/server/sonar-server/src/test/java/org/sonar/server/rule/ExternalRuleCreatorTest.java
index 96d4bb8d633..ac55073f183 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/rule/ExternalRuleCreatorTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/rule/ExternalRuleCreatorTest.java
@@ -30,7 +30,6 @@ import org.sonar.server.es.EsTester;
import org.sonar.server.rule.index.RuleIndexer;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.sonar.api.rules.RuleType.BUG;
public class ExternalRuleCreatorTest {
@@ -49,7 +48,6 @@ public class ExternalRuleCreatorTest {
NewExternalRule externalRule = new NewExternalRule.Builder()
.setKey(ruleKey)
.setPluginKey("eslint")
- .setType(BUG)
.setName("name")
.build();
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/NewExternalIssue.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/NewExternalIssue.java
index d2e55a999ee..ba9a4d7f3ec 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/NewExternalIssue.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/NewExternalIssue.java
@@ -45,7 +45,7 @@ public interface NewExternalIssue {
/**
* Effort to fix the issue, in minutes.
*/
- NewExternalIssue remediationEffort(@Nullable Long effort);
+ NewExternalIssue remediationEffortMinutes(@Nullable Long effortInMinutes);
/**
* Set the severity of the issue.
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssue.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssue.java
index 03b65866bc8..ee68be1d242 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssue.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssue.java
@@ -45,7 +45,7 @@ public class DefaultExternalIssue extends AbstractDefaultIssue<DefaultExternalIs
}
@Override
- public DefaultExternalIssue remediationEffort(@Nullable Long effort) {
+ public DefaultExternalIssue remediationEffortMinutes(@Nullable Long effort) {
Preconditions.checkArgument(effort == null || effort >= 0, format("effort must be greater than or equal 0 (got %s)", effort));
this.effort = effort;
return this;
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssueTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssueTest.java
index 1176527f04c..079d4995f2b 100644
--- a/sonar-plugin-api/src/test/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssueTest.java
+++ b/sonar-plugin-api/src/test/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssueTest.java
@@ -51,7 +51,7 @@ public class DefaultExternalIssueTest {
.at(inputFile.selectLine(1))
.message("Wrong way!"))
.forRule(RuleKey.of("repo", "rule"))
- .remediationEffort(10l)
+ .remediationEffortMinutes(10l)
.type(RuleType.BUG)
.severity(Severity.BLOCKER);
@@ -77,7 +77,7 @@ public class DefaultExternalIssueTest {
.at(inputFile.selectLine(1))
.message("Wrong way!"))
.forRule(RuleKey.of("repo", "rule"))
- .remediationEffort(10l)
+ .remediationEffortMinutes(10l)
.severity(Severity.BLOCKER);
exception.expect(IllegalStateException.class);
@@ -93,7 +93,7 @@ public class DefaultExternalIssueTest {
.on(mock(InputComponent.class))
.message("Wrong way!"))
.forRule(RuleKey.of("repo", "rule"))
- .remediationEffort(10l)
+ .remediationEffortMinutes(10l)
.severity(Severity.BLOCKER);
exception.expect(IllegalStateException.class);
@@ -110,7 +110,7 @@ public class DefaultExternalIssueTest {
.at(inputFile.selectLine(1))
.message("Wrong way!"))
.forRule(RuleKey.of("repo", "rule"))
- .remediationEffort(10l)
+ .remediationEffortMinutes(10l)
.type(RuleType.BUG);
exception.expect(IllegalStateException.class);
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/externalissue/ExternalIssueImporter.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/externalissue/ExternalIssueImporter.java
index f484f0bd195..b68fa4c910f 100644
--- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/externalissue/ExternalIssueImporter.java
+++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/externalissue/ExternalIssueImporter.java
@@ -58,6 +58,7 @@ public class ExternalIssueImporter {
NewExternalIssue externalIssue = context.newExternalIssue()
.forRule(RuleKey.of(issue.engineId, issue.ruleId))
.severity(Severity.valueOf(issue.severity))
+ .remediationEffortMinutes(20L)
.type(RuleType.valueOf(issue.type));
NewIssueLocation primary = fillLocation(context, externalIssue.newLocation(), issue.primaryLocation);
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/externalissue/ReportParser.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/externalissue/ReportParser.java
index 61c35a05eb8..80728310026 100644
--- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/externalissue/ReportParser.java
+++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/externalissue/ReportParser.java
@@ -108,6 +108,8 @@ public class ReportParser {
String ruleId;
String severity;
String type;
+ @Nullable
+ Integer effortMinutes;
Location primaryLocation;
@Nullable
Location[] secondaryLocations;
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ModuleIssuesTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ModuleIssuesTest.java
index 6309720339d..eba43f72564 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ModuleIssuesTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ModuleIssuesTest.java
@@ -33,6 +33,7 @@ import org.sonar.api.batch.sensor.issue.internal.DefaultIssue;
import org.sonar.api.batch.sensor.issue.internal.DefaultIssueLocation;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.rule.Severity;
+import org.sonar.api.rules.RuleType;
import org.sonar.api.utils.MessageException;
import org.sonar.scanner.protocol.output.ScannerReport;
import org.sonar.scanner.report.ReportPublisher;
@@ -154,6 +155,7 @@ public class ModuleIssuesTest {
DefaultExternalIssue issue = new DefaultExternalIssue()
.at(new DefaultIssueLocation().on(file).at(file.selectLine(3)).message("Foo"))
+ .type(RuleType.BUG)
.forRule(SQUID_RULE_KEY)
.severity(org.sonar.api.batch.rule.Severity.CRITICAL);