Search in sources :

Example 6 with Issue

use of org.sonar.scanner.protocol.output.ScannerReport.Issue in project sonarqube by SonarSource.

the class IssuesMediumTest method testIssueDetails.

@Test
public void testIssueDetails() throws IOException {
    File baseDir = temp.newFolder();
    File srcDir = new File(baseDir, "src");
    srcDir.mkdir();
    File xooFile = new File(srcDir, "sample.xoo");
    FileUtils.write(xooFile, "1\n2\n3\n4\n5\n6\n7\n8\n9\n10");
    TaskResult result = tester.newTask().properties(ImmutableMap.<String, String>builder().put("sonar.task", "scan").put("sonar.projectBaseDir", baseDir.getAbsolutePath()).put("sonar.projectKey", "com.foo.project").put("sonar.projectName", "Foo Project").put("sonar.projectVersion", "1.0-SNAPSHOT").put("sonar.projectDescription", "Description of Foo Project").put("sonar.sources", "src").build()).start();
    List<Issue> issues = result.issuesFor(result.inputFile("src/sample.xoo"));
    assertThat(issues).hasSize(10);
    assertThat(issues).extracting("msg", "textRange.startLine", "gap").contains(tuple("This issue is generated on each line", 1, 0.0));
}
Also used : Issue(org.sonar.scanner.protocol.output.ScannerReport.Issue) TaskResult(org.sonar.scanner.mediumtest.TaskResult) File(java.io.File) Test(org.junit.Test)

Example 7 with Issue

use of org.sonar.scanner.protocol.output.ScannerReport.Issue in project sonarqube by SonarSource.

the class ProjectBuilderMediumTest method testProjectBuilderWithBranch.

@Test
public void testProjectBuilderWithBranch() throws IOException {
    File baseDir = prepareProject();
    TaskResult result = tester.newTask().properties(ImmutableMap.<String, String>builder().put("sonar.task", "scan").put("sonar.projectBaseDir", baseDir.getAbsolutePath()).put("sonar.projectKey", "com.foo.project").put("sonar.projectName", "Foo Project").put("sonar.projectVersion", "1.0-SNAPSHOT").put("sonar.projectDescription", "Description of Foo Project").put("sonar.branch", "my-branch").put("sonar.sources", ".").put("sonar.xoo.enableProjectBuilder", "true").build()).start();
    List<Issue> issues = result.issuesFor(result.inputFile("src/sample.xoo"));
    assertThat(issues).hasSize(10);
    assertThat(issues).extracting("msg", "textRange.startLine", "gap").contains(tuple("This issue is generated on each line", 1, 0.0));
}
Also used : Issue(org.sonar.scanner.protocol.output.ScannerReport.Issue) TaskResult(org.sonar.scanner.mediumtest.TaskResult) File(java.io.File) Test(org.junit.Test)

Example 8 with Issue

use of org.sonar.scanner.protocol.output.ScannerReport.Issue in project sonarqube by SonarSource.

the class IssuesMediumTest method findActiveRuleByInternalKey.

@Test
public void findActiveRuleByInternalKey() throws Exception {
    File projectDir = new File(IssuesMediumTest.class.getResource("/mediumtest/xoo/sample").toURI());
    File tmpDir = temp.newFolder();
    FileUtils.copyDirectory(projectDir, tmpDir);
    TaskResult result = tester.newScanTask(new File(tmpDir, "sonar-project.properties")).property("sonar.xoo.internalKey", "OneIssuePerLine.internal").start();
    List<Issue> issues = result.issuesFor(result.inputFile("xources/hello/HelloJava.xoo"));
    assertThat(issues).hasSize(8 + /* lines */
    1);
}
Also used : Issue(org.sonar.scanner.protocol.output.ScannerReport.Issue) TaskResult(org.sonar.scanner.mediumtest.TaskResult) File(java.io.File) Test(org.junit.Test)

Example 9 with Issue

use of org.sonar.scanner.protocol.output.ScannerReport.Issue in project sonarqube by SonarSource.

the class IssuesMediumTest method testOverrideQProfileSeverity.

@Test
public void testOverrideQProfileSeverity() throws Exception {
    File projectDir = new File(IssuesMediumTest.class.getResource("/mediumtest/xoo/sample").toURI());
    File tmpDir = temp.newFolder();
    FileUtils.copyDirectory(projectDir, tmpDir);
    TaskResult result = tester.newScanTask(new File(tmpDir, "sonar-project.properties")).property("sonar.oneIssuePerLine.forceSeverity", "CRITICAL").start();
    List<Issue> issues = result.issuesFor(result.inputFile("xources/hello/HelloJava.xoo"));
    assertThat(issues.get(0).getSeverity()).isEqualTo(org.sonar.scanner.protocol.Constants.Severity.CRITICAL);
}
Also used : Issue(org.sonar.scanner.protocol.output.ScannerReport.Issue) TaskResult(org.sonar.scanner.mediumtest.TaskResult) File(java.io.File) Test(org.junit.Test)

Example 10 with Issue

use of org.sonar.scanner.protocol.output.ScannerReport.Issue in project sonarqube by SonarSource.

the class MultilineIssuesMediumTest method testFlowsWithMultipleElements.

@Test
public void testFlowsWithMultipleElements() throws Exception {
    List<Issue> issues = result.issuesFor(result.inputFile("xources/hello/WithFlow.xoo"));
    assertThat(issues).hasSize(1);
    Issue issue = issues.get(0);
    assertThat(issue.getFlowList()).hasSize(1);
    Flow flow = issue.getFlow(0);
    assertThat(flow.getLocationList()).hasSize(2);
// TODO more assertions
}
Also used : Issue(org.sonar.scanner.protocol.output.ScannerReport.Issue) Flow(org.sonar.scanner.protocol.output.ScannerReport.Flow) Test(org.junit.Test)

Aggregations

Issue (org.sonar.scanner.protocol.output.ScannerReport.Issue)12 Test (org.junit.Test)11 File (java.io.File)7 TaskResult (org.sonar.scanner.mediumtest.TaskResult)7 Flow (org.sonar.scanner.protocol.output.ScannerReport.Flow)2 IOException (java.io.IOException)1 IssueLocation (org.sonar.scanner.protocol.output.ScannerReport.IssueLocation)1