This commit aims to move the reportEndOfToolRun function from ReportManager (deprecated) to ReportFile.
Signed-off-by: Francis Toth <francis.toth@yoppworks.com>
Change-Id: I17731864c34ed9a70b1b1e91b89bad835dc72449
Issue-ID: SDC-2499
writer.writeln("");
writer.write(sb.toString());
}
+
+ public void reportEndOfToolRun(Report report) {
+ StrBuilder sb = new StrBuilder();
+ sb.appendln("-----------------------------------Validator Tool Summary-----------------------------------");
+ report.forEachFailure((taskName, failedVertices) -> {
+ sb.append("Task: ")
+ .append(taskName)
+ .appendNewLine()
+ .append("FailedVertices: ")
+ .append(String.valueOf(failedVertices))
+ .appendNewLine();
+ });
+ writer.writeln("");
+ writer.write(sb.toString());
+ }
}
/**
log.info("write to file failed - {}", e.getClass().getSimpleName(), e);
}
}
-
- public static void reportEndOfToolRun(Report report, String outputFilePath) {
- StrBuilder sb = new StrBuilder();
- sb.appendln("-----------------------------------Validator Tool Summary-----------------------------------");
- report.forEachFailure((taskName, failedVertices) -> {
- sb.append("Task: " + taskName);
- sb.appendNewLine();
- sb.append("FailedVertices: " + failedVertices);
- sb.appendNewLine();
- });
- writeReportLineToFile(sb.toString(), outputFilePath);
- }
}
log.info("Start Validation Tool");
Report report = Report.make();
boolean result = validationToolBL.validateAll(report, textFile, txtReportFilePath);
- ReportManager.reportEndOfToolRun(report, txtReportFilePath);
+ textFile.reportEndOfToolRun(report);
csvFile.printAllResults(report);
if (result) {
log.info("Validation finished successfully");
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
+import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile.TXTFile;
/**
* Provides facilities to for writing report files when testing
}
}
+ /**
+ * Provides a transactional context for TXT report file writing
+ *
+ * @param txtReportFilePath The resulting file path
+ * @param f The function consuming the TXT file
+ */
+ public static void withTxtFile(String txtReportFilePath, Consumer<TXTFile> f) {
+ withTxtFile(txtReportFilePath, file -> {
+ f.accept(file);
+ return null;
+ });
+ }
+
/**
* Provides a transactional context for TXT report file writing
*
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.when;
+import static org.openecomp.sdc.asdctool.impl.validator.report.ReportFileNioHelper.readFileAsList;
+import static org.openecomp.sdc.asdctool.impl.validator.report.ReportFileNioHelper.withTxtFile;
import fj.data.Either;
import java.io.File;
artifacts.add(artifactDataDefinitionNotInCassandra);
// when
- ArtifactsVertexResult result =
- testSubject.validateArtifactsAreInCassandra(report, vertex, TASK_NAME, artifacts, txtReportFilePath);
- ReportManager.reportEndOfToolRun(report, txtReportFilePath);
-
- List<String> reportOutputFile = ReportManagerHelper.getReportOutputFileAsList(txtReportFilePath);
-
- // then
- assertFalse(result.getStatus());
- assertEquals(1, result.notFoundArtifacts.size());
- assertEquals(UNIQUE_ID, result.notFoundArtifacts.iterator().next());
-
- assertEquals("Artifact " + ES_ID + " is in Cassandra", reportOutputFile.get(2));
- assertEquals("Artifact " + ES_ID_NOT_IN_CASS + " doesn't exist in Cassandra",
- reportOutputFile.get(3));
- assertEquals("Task: " + TASK_NAME, reportOutputFile.get(5));
- assertEquals("FailedVertices: [" + UNIQUE_ID_VERTEX + "]", reportOutputFile.get(6));
+ withTxtFile(txtReportFilePath, file -> {
+ ArtifactsVertexResult result =
+ testSubject.validateArtifactsAreInCassandra(report, vertex, TASK_NAME, artifacts, txtReportFilePath);
+ file.reportEndOfToolRun(report);
+
+ List<String> reportOutputFile = readFileAsList(txtReportFilePath);
+
+ // then
+ assertFalse(result.getStatus());
+ assertEquals(1, result.notFoundArtifacts.size());
+ assertEquals(UNIQUE_ID, result.notFoundArtifacts.iterator().next());
+
+ assertEquals("Artifact " + ES_ID + " is in Cassandra", reportOutputFile.get(2));
+ assertEquals("Artifact " + ES_ID_NOT_IN_CASS + " doesn't exist in Cassandra",
+ reportOutputFile.get(3));
+ assertEquals("Task: " + TASK_NAME, reportOutputFile.get(5));
+ assertEquals("FailedVertices: [" + UNIQUE_ID_VERTEX + "]", reportOutputFile.get(6));
+ });
}
@Test
Report report = Report.make();
report.addFailure(TASK_1_NAME, VERTEX_1_ID);
- ReportManager.reportEndOfToolRun(report, txtReportFilePath);
- List<String> reportOutputFile = ReportManagerHelper.getReportOutputFileAsList(txtReportFilePath);
+ List<String> reportTxtFile = ReportFileNioHelper.withTxtFile(txtReportFilePath, file -> {
+ file.reportEndOfToolRun(report);
+ return ReportFileNioHelper.readFileAsList(txtReportFilePath);
+ });
// then
- assertNotNull(reportOutputFile);
- assertEquals(EXPECTED_OUTPUT_FILE_HEADER, reportOutputFile.get(0));
- assertEquals(EXPECTED_OUTPUT_FILE_SUMMARY, reportOutputFile.get(2));
- assertEquals("Task: " + TASK_1_NAME, reportOutputFile.get(3));
- assertEquals("FailedVertices: [" + VERTEX_1_ID + "]", reportOutputFile.get(4));
+ assertNotNull(reportTxtFile);
+ assertEquals(EXPECTED_OUTPUT_FILE_HEADER, reportTxtFile.get(0));
+ assertEquals(EXPECTED_OUTPUT_FILE_SUMMARY, reportTxtFile.get(2));
+ assertEquals("Task: " + TASK_1_NAME, reportTxtFile.get(3));
+ assertEquals("FailedVertices: [" + VERTEX_1_ID + "]", reportTxtFile.get(4));
}
@Test