public void write(int batchId, ScannerReport.ExternalIssue rawIssue) { reportPublisher.getWriter().appendComponentExternalIssue(batchId, rawIssue); } }
@Test public void write_external_issues() { // no data yet assertThat(underTest.hasComponentData(FileStructure.Domain.EXTERNAL_ISSUES, 1)).isFalse(); // write data ScannerReport.ExternalIssue issue = ScannerReport.ExternalIssue.newBuilder() .setMsg("the message") .build(); underTest.appendComponentExternalIssue(1, issue); assertThat(underTest.hasComponentData(FileStructure.Domain.EXTERNAL_ISSUES, 1)).isTrue(); File file = underTest.getFileStructure().fileFor(FileStructure.Domain.EXTERNAL_ISSUES, 1); assertThat(file).exists().isFile(); try (CloseableIterator<ScannerReport.ExternalIssue> read = Protobuf.readStream(file, ScannerReport.ExternalIssue.parser())) { assertThat(Iterators.size(read)).isEqualTo(1); } }
@Test public void read_external_issues() { ScannerReportWriter writer = new ScannerReportWriter(dir); ScannerReport.ExternalIssue issue = ScannerReport.ExternalIssue.newBuilder() .build(); writer.appendComponentExternalIssue(1, issue); assertThat(underTest.readComponentExternalIssues(1)).hasSize(1); assertThat(underTest.readComponentExternalIssues(200)).isEmpty(); }
@Test public void add_external_issue_to_cache() { ruleBuilder.add(SQUID_RULE_KEY).setName(SQUID_RULE_NAME); initModuleIssues(); DefaultExternalIssue issue = new DefaultExternalIssue(project) .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); moduleIssues.initAndAddExternalIssue(issue); ArgumentCaptor<ScannerReport.ExternalIssue> argument = ArgumentCaptor.forClass(ScannerReport.ExternalIssue.class); verify(reportPublisher.getWriter()).appendComponentExternalIssue(eq(file.scannerId()), argument.capture()); assertThat(argument.getValue().getSeverity()).isEqualTo(org.sonar.scanner.protocol.Constants.Severity.CRITICAL); }
public void write(int batchId, ScannerReport.ExternalIssue rawIssue) { reportPublisher.getWriter().appendComponentExternalIssue(batchId, rawIssue); } }