@CheckForNull private String extractScannerContext(DbSession dbSession, CeActivityDto activityDto, Set<AdditionalField> additionalFields) { if (additionalFields.contains(AdditionalField.SCANNER_CONTEXT)) { return dbClient.ceScannerContextDao().selectScannerContext(dbSession, activityDto.getUuid()) .orElse(null); } return null; }
@Test public void selectScannerContext_returns_empty_on_empty_table() { assertThat(underTest.selectScannerContext(dbSession, SOME_UUID)).isEmpty(); }
@Test public void deleteByUuids_deletes_specified_existing_uuids() { insertScannerContext(SOME_UUID); String data2 = insertScannerContext("UUID_2"); insertScannerContext("UUID_3"); underTest.deleteByUuids(dbSession, ImmutableSet.of(SOME_UUID, "UUID_3", "UUID_4")); assertThat(underTest.selectScannerContext(dbSession, SOME_UUID)).isEmpty(); assertThat(underTest.selectScannerContext(dbSession, "UUID_2")).contains(data2); assertThat(underTest.selectScannerContext(dbSession, "UUID_3")).isEmpty(); }
@Test public void selectScannerContext_returns_empty_when_no_row_exist_for_taskUuid() { String data = "some data"; underTest.insert(dbSession, SOME_UUID, scannerContextInputStreamOf(data)); dbSession.commit(); assertThat(underTest.selectScannerContext(dbSession, "OTHER_uuid")).isEmpty(); assertThat(underTest.selectScannerContext(dbSession, SOME_UUID)).contains(data); }
@Test public void insert_and_select_line_reader() { String scannerContext = "line 1" + lineSeparator() + "line 2" + lineSeparator() + "line 3"; underTest.insert(dbSession, SOME_UUID, scannerContextInputStreamOf(scannerContext)); dbSession.commit(); assertThat(underTest.selectScannerContext(dbSession, SOME_UUID)).contains(scannerContext); }
@Test public void executes_persist_lines_of_reportReader() { String taskUuid = "task uuid"; when(ceTask.getUuid()).thenReturn(taskUuid); reportReader.setScannerLogs(asList("log1", "log2")); underTest.execute(new TestComputationStepContext()); assertThat(dbClient.ceScannerContextDao().selectScannerContext(dbTester.getSession(), taskUuid)) .contains("log1" + '\n' + "log2"); }
@Test public void executes_persist_does_not_persist_any_scanner_context_if_iterator_is_empty() { reportReader.setScannerLogs(emptyList()); underTest.execute(new TestComputationStepContext()); assertThat(dbClient.ceScannerContextDao().selectScannerContext(dbTester.getSession(), ANALYSIS_UUID)) .isEmpty(); }
/** * SONAR-8306 */ @Test public void execute_does_not_fail_if_scanner_context_has_already_been_persisted() { dbClient.ceScannerContextDao().insert(dbTester.getSession(), ANALYSIS_UUID, CloseableIterator.from(Arrays.asList("a", "b", "c").iterator())); dbTester.commit(); reportReader.setScannerLogs(asList("1", "2", "3")); when(ceTask.getUuid()).thenReturn(ANALYSIS_UUID); underTest.execute(new TestComputationStepContext()); assertThat(dbClient.ceScannerContextDao().selectScannerContext(dbTester.getSession(), ANALYSIS_UUID)) .contains("1" + '\n' + "2" + '\n' + "3"); } }
@CheckForNull private String extractScannerContext(DbSession dbSession, CeActivityDto activityDto, Set<AdditionalField> additionalFields) { if (additionalFields.contains(AdditionalField.SCANNER_CONTEXT)) { return dbClient.ceScannerContextDao().selectScannerContext(dbSession, activityDto.getUuid()) .orElse(null); } return null; }