Browse Source

SONAR-10544 fix tests

tags/7.5
Duarte Meneses 6 years ago
parent
commit
2552e0dcff

+ 1
- 1
plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/rule/OneExternalIssuePerLineSensor.java View File

@@ -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();
}

+ 1
- 18
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRule.java View File

@@ -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;
}

+ 0
- 4
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/TrackerRawInputFactory.java View File

@@ -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();
}


+ 1
- 21
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRuleTest.java View File

@@ -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();
}
}

+ 1
- 7
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/RuleRepositoryImplTest.java View File

@@ -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());

+ 3
- 9
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/PersistExternalRulesStepTest.java View File

@@ -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();

+ 0
- 2
server/sonar-server/src/test/java/org/sonar/server/rule/ExternalRuleCreatorTest.java View File

@@ -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();


+ 1
- 1
sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/NewExternalIssue.java View File

@@ -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.

+ 1
- 1
sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssue.java View File

@@ -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;

+ 4
- 4
sonar-plugin-api/src/test/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssueTest.java View File

@@ -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);

+ 1
- 0
sonar-scanner-engine/src/main/java/org/sonar/scanner/externalissue/ExternalIssueImporter.java View File

@@ -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);

+ 2
- 0
sonar-scanner-engine/src/main/java/org/sonar/scanner/externalissue/ReportParser.java View File

@@ -108,6 +108,8 @@ public class ReportParser {
String ruleId;
String severity;
String type;
@Nullable
Integer effortMinutes;
Location primaryLocation;
@Nullable
Location[] secondaryLocations;

+ 2
- 0
sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ModuleIssuesTest.java View File

@@ -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);


Loading…
Cancel
Save