import org.sonar.core.sarif.Run;
import org.sonar.core.sarif.Tool;
+import static java.util.Collections.emptyList;
import static java.util.stream.Collectors.toList;
import static org.sonar.api.utils.Preconditions.checkArgument;
}
List<NewExternalIssue> mapRun(Run run) {
+ if (run.getResults().isEmpty()) {
+ return emptyList();
+ }
String driverName = getToolDriverName(run);
Map<String, String> ruleSeveritiesByRuleId = RulesSeverityDetector.detectRulesSeverities(run, driverName);
import org.sonar.core.sarif.Result;
import org.sonar.core.sarif.Run;
+import static java.util.Collections.emptySet;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
import static org.mockito.Mockito.mock;
List<NewExternalIssue> newExternalIssues = runMapper.mapRun(run);
- assertThat(newExternalIssues)
- .containsOnly(externalIssue1, externalIssue2);
+ assertThat(newExternalIssues).containsOnly(externalIssue1, externalIssue2);
+ assertThat(logTester.logs()).isEmpty();
}
}
+ @Test
+ public void mapRun_ifRunIsEmpty_returnsEmptyList() {
+ when(run.getResults()).thenReturn(emptySet());
+
+ List<NewExternalIssue> newExternalIssues = runMapper.mapRun(run);
+
+ assertThat(newExternalIssues).isEmpty();
+ }
+
@Test
public void mapRun_ifExceptionThrownByResultMapper_logsThemAndContinueProcessing() {
when(run.getTool().getDriver().getName()).thenReturn(TEST_DRIVER);