Browse Source

SONAR-20875 Clean up module concept issue integration tests

tags/10.3.0.82913
Zipeng WU 6 months ago
parent
commit
b9e8aa2889

+ 4
- 4
plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/XooPlugin.java View File

@@ -61,13 +61,13 @@ import org.sonar.xoo.rule.OneIssueOnDirPerFileSensor;
import org.sonar.xoo.rule.OneIssuePerDirectorySensor;
import org.sonar.xoo.rule.OneIssuePerFileSensor;
import org.sonar.xoo.rule.OneIssuePerLineSensor;
import org.sonar.xoo.rule.OneIssuePerModuleSensor;
import org.sonar.xoo.rule.OneIssuePerProjectSensor;
import org.sonar.xoo.rule.OneIssuePerTestFileSensor;
import org.sonar.xoo.rule.OneIssuePerUnknownFileSensor;
import org.sonar.xoo.rule.OnePredefinedAndAdHocRuleExternalIssuePerLineSensor;
import org.sonar.xoo.rule.OnePredefinedRuleExternalIssuePerLineSensor;
import org.sonar.xoo.rule.OneQuickFixPerLineSensor;
import org.sonar.xoo.rule.OneVulnerabilityIssuePerModuleSensor;
import org.sonar.xoo.rule.OneVulnerabilityIssuePerProjectSensor;
import org.sonar.xoo.rule.RandomAccessSensor;
import org.sonar.xoo.rule.SaveDataTwiceSensor;
import org.sonar.xoo.rule.Xoo2BasicProfile;
@@ -153,7 +153,7 @@ public class XooPlugin implements Plugin {
OneBugIssuePerTestLineSensor.class,
OneCodeSmellIssuePerTestLineSensor.class,
OneIssuePerDirectorySensor.class,
OneIssuePerModuleSensor.class,
OneIssuePerProjectSensor.class,
OneIssueOnDirPerFileSensor.class,
OneIssuePerUnknownFileSensor.class,
OneQuickFixPerLineSensor.class,
@@ -172,7 +172,7 @@ public class XooPlugin implements Plugin {

OneBugIssuePerLineSensor.class,
OneCodeSmellIssuePerLineSensor.class,
OneVulnerabilityIssuePerModuleSensor.class,
OneVulnerabilityIssuePerProjectSensor.class,

DeprecatedGlobalSensor.class,
GlobalProjectSensor.class,

plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/rule/OneIssuePerModuleSensor.java → plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/rule/OneIssuePerProjectSensor.java View File

@@ -26,14 +26,14 @@ import org.sonar.api.batch.sensor.issue.NewIssue;
import org.sonar.api.rule.RuleKey;
import org.sonar.xoo.Xoo;

public class OneIssuePerModuleSensor implements Sensor {
public class OneIssuePerProjectSensor implements Sensor {

public static final String RULE_KEY = "OneIssuePerModule";
public static final String RULE_KEY = "OneIssuePerProject";

@Override
public void describe(SensorDescriptor descriptor) {
descriptor
.name("One Issue Per Module")
.name("One Issue Per Project")
.onlyOnLanguages(Xoo.KEY)
.createIssuesForRuleRepositories(XooRulesDefinition.XOO_REPOSITORY);
}
@@ -50,7 +50,7 @@ public class OneIssuePerModuleSensor implements Sensor {
.forRule(ruleKey)
.at(newIssue.newLocation()
.on(context.module())
.message("This issue is generated on each module"))
.message("This issue is generated on each project"))
.save();
}


plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/rule/OneVulnerabilityIssuePerModuleSensor.java → plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/rule/OneVulnerabilityIssuePerProjectSensor.java View File

@@ -26,14 +26,14 @@ import org.sonar.api.batch.sensor.issue.NewIssue;
import org.sonar.api.rule.RuleKey;
import org.sonar.xoo.Xoo;

public class OneVulnerabilityIssuePerModuleSensor implements Sensor {
public class OneVulnerabilityIssuePerProjectSensor implements Sensor {

public static final String RULE_KEY = "OneVulnerabilityIssuePerModule";
public static final String RULE_KEY = "OneVulnerabilityIssuePerProject";

@Override
public void describe(SensorDescriptor descriptor) {
descriptor
.name("One Issue Per Module")
.name("One Issue Per Project")
.onlyOnLanguages(Xoo.KEY)
.createIssuesForRuleRepositories(XooRulesDefinition.XOO_REPOSITORY);
}
@@ -50,7 +50,7 @@ public class OneVulnerabilityIssuePerModuleSensor implements Sensor {
.forRule(ruleKey)
.at(newIssue.newLocation()
.on(context.module())
.message("This issue is generated on each module"))
.message("This issue is generated on each project"))
.save();
}


+ 15
- 15
plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/rule/XooRulesDefinition.java View File

@@ -187,13 +187,13 @@ public class XooRulesDefinition implements RulesDefinition {
oneDayDebtPerFile.setDebtRemediationFunction(oneDayDebtPerFile.debtRemediationFunctions().linear("1d"));
addAllDescriptionSections(oneDayDebtPerFile, "Generate an issue on each file with a debt of one day");

NewRule oneIssuePerModule = repo.createRule(OneIssuePerModuleSensor.RULE_KEY).setName("One Issue Per Module");
oneIssuePerModule
NewRule oneIssuePerProject = repo.createRule(OneIssuePerProjectSensor.RULE_KEY).setName("One Issue Per Project");
oneIssuePerProject
.addDefaultImpact(SoftwareQuality.MAINTAINABILITY, Severity.MEDIUM)
.setDebtRemediationFunction(oneIssuePerModule.debtRemediationFunctions().linearWithOffset("25min", "1h"))
.setGapDescription("A certified architect will need roughly half an hour to start working on removal of modules, " +
"then it's about one hour per module.");
addAllDescriptionSections(oneIssuePerModule, "Generate an issue on each module");
.setDebtRemediationFunction(oneIssuePerProject.debtRemediationFunctions().linearWithOffset("25min", "1h"))
.setGapDescription("A certified architect will need roughly half an hour to start working on removal of projects, " +
"then it's about one hour per project.");
addAllDescriptionSections(oneIssuePerProject, "Generate an issue on each project");

NewRule oneBlockerIssuePerFile = repo.createRule(OneBlockerIssuePerFileSensor.RULE_KEY).setName("One Blocker Issue Per File")
.addDefaultImpact(SoftwareQuality.MAINTAINABILITY, Severity.MEDIUM);
@@ -234,17 +234,17 @@ public class XooRulesDefinition implements RulesDefinition {
.setDebtRemediationFunction(oneCodeSmellIssuePerLine.debtRemediationFunctions().linear("9min"));
addAllDescriptionSections(oneCodeSmellIssuePerLine, "Generate a code smell issue on each line of a file. It requires the metric \"lines\".");

NewRule oneVulnerabilityIssuePerModule = repo.createRule(OneVulnerabilityIssuePerModuleSensor.RULE_KEY).setName("One Vulnerability Issue Per Module")
NewRule oneVulnerabilityIssuePerProject = repo.createRule(OneVulnerabilityIssuePerProjectSensor.RULE_KEY).setName("One Vulnerability Issue Per Project")
.addDefaultImpact(SoftwareQuality.SECURITY, Severity.MEDIUM)
.addDefaultImpact(SoftwareQuality.MAINTAINABILITY, Severity.HIGH)
.setCleanCodeAttribute(CleanCodeAttribute.TRUSTWORTHY)
.setType(RuleType.VULNERABILITY);
addAllDescriptionSections(oneVulnerabilityIssuePerModule, "Generate an issue on each module");
addAllDescriptionSections(oneVulnerabilityIssuePerProject, "Generate an issue on each project");

oneVulnerabilityIssuePerModule
.setDebtRemediationFunction(oneVulnerabilityIssuePerModule.debtRemediationFunctions().linearWithOffset("25min", "1h"))
.setGapDescription("A certified architect will need roughly half an hour to start working on removal of modules, " +
"then it's about one hour per module.");
oneVulnerabilityIssuePerProject
.setDebtRemediationFunction(oneVulnerabilityIssuePerProject.debtRemediationFunctions().linearWithOffset("25min", "1h"))
.setGapDescription("A certified architect will need roughly half an hour to start working on removal of project, " +
"then it's about one hour per project.");

NewRule templateofRule = repo
.createRule("xoo-template")
@@ -270,7 +270,7 @@ public class XooRulesDefinition implements RulesDefinition {
.addOwaspTop10(Y2021, OwaspTop10.A3, OwaspTop10.A2)
.addCwe(1, 89, 123, 863);

oneVulnerabilityIssuePerModule
oneVulnerabilityIssuePerProject
.addOwaspTop10(Y2017, OwaspTop10.A9, OwaspTop10.A10)
.addOwaspTop10(Y2021, OwaspTop10.A6, OwaspTop10.A9)
.addCwe(250, 564, 546, 943);
@@ -283,7 +283,7 @@ public class XooRulesDefinition implements RulesDefinition {
.addPciDss(PciDssVersion.V4_0, "6.5a.1", "4.2c")
.addPciDss(PciDssVersion.V3_2, "6.5a.1b", "4.2b");

oneVulnerabilityIssuePerModule
oneVulnerabilityIssuePerProject
.addPciDss(PciDssVersion.V4_0, "10.1")
.addPciDss(PciDssVersion.V3_2, "10.2")
.addPciDss(PciDssVersion.V4_0, "10.1a.2b")
@@ -293,7 +293,7 @@ public class XooRulesDefinition implements RulesDefinition {
if (version != null && version.isGreaterThanOrEqual(Version.create(9, 6))) {
hotspot
.addOwaspAsvs(OwaspAsvsVersion.V4_0, "2.8.7", "3.1.1", "4.2.2");
oneVulnerabilityIssuePerModule
oneVulnerabilityIssuePerProject
.addOwaspAsvs(OwaspAsvsVersion.V4_0, "11.1.2", "14.5.1", "14.5.4");
}


+ 1
- 1
plugins/sonar-xoo-plugin/src/test/java/org/sonar/xoo/rule/XooRulesDefinitionTest.java View File

@@ -88,7 +88,7 @@ public class XooRulesDefinitionTest {
public void define_xoo_vulnerability_rule() {
RulesDefinition.Repository repo = getRepository();

RulesDefinition.Rule rule = repo.rule(OneVulnerabilityIssuePerModuleSensor.RULE_KEY);
RulesDefinition.Rule rule = repo.rule(OneVulnerabilityIssuePerProjectSensor.RULE_KEY);
assertThat(rule.name()).isNotEmpty();
assertThat(rule.securityStandards())
.isNotEmpty()

+ 1
- 1
sonar-scanner-engine/src/it/java/org/sonar/scanner/mediumtest/issues/IssuesOnModuleMediumIT.java View File

@@ -43,7 +43,7 @@ public class IssuesOnModuleMediumIT {
.registerPlugin("xoo", new XooPlugin())
.addDefaultQProfile("xoo", "Sonar Way")
.addRules(new XooRulesDefinition())
.addActiveRule("xoo", "OneIssuePerModule", null, "One issue per module", "MINOR", "xoo", "xoo");
.addActiveRule("xoo", "OneIssuePerProject", null, "One issue per module", "MINOR", "xoo", "xoo");

@Test
public void scanTempProject() throws IOException {

Loading…
Cancel
Save