From 8c6ad373281722ce410a1108c67de5f1adf350ea Mon Sep 17 00:00:00 2001 From: Francis Toth Date: Thu, 18 Jun 2020 15:46:31 -0400 Subject: Decouple TXT Report file writing and formatting logic (5/6) This commit aims to move the reportEndOfToolRun function from ReportManager (deprecated) to ReportFile. Signed-off-by: Francis Toth Change-Id: I17731864c34ed9a70b1b1e91b89bad835dc72449 Issue-ID: SDC-2499 --- .../impl/validator/report/ReportFileNioHelper.java | 15 +++++++++ .../artifacts/ArtifactValidationUtilsTest.java | 36 ++++++++++++---------- .../impl/validator/utils/ReportManagerTest.java | 16 +++++----- 3 files changed, 44 insertions(+), 23 deletions(-) (limited to 'asdctool/src/test/java/org/openecomp') diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/report/ReportFileNioHelper.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/report/ReportFileNioHelper.java index d6d03a9c30..cd35f4ba2e 100644 --- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/report/ReportFileNioHelper.java +++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/report/ReportFileNioHelper.java @@ -27,8 +27,10 @@ import java.io.IOException; 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 @@ -55,6 +57,19 @@ public class ReportFileNioHelper { } } + /** + * 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 f) { + withTxtFile(txtReportFilePath, file -> { + f.accept(file); + return null; + }); + } + /** * Provides a transactional context for TXT report file writing * diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtilsTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtilsTest.java index 7b35373768..763c69f61e 100644 --- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtilsTest.java +++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtilsTest.java @@ -27,6 +27,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue; 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; @@ -137,22 +139,24 @@ public class ArtifactValidationUtilsTest { artifacts.add(artifactDataDefinitionNotInCassandra); // when - ArtifactsVertexResult result = - testSubject.validateArtifactsAreInCassandra(report, vertex, TASK_NAME, artifacts, txtReportFilePath); - ReportManager.reportEndOfToolRun(report, txtReportFilePath); - - List 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 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 diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManagerTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManagerTest.java index e78ab31763..d2276fdd5a 100644 --- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManagerTest.java +++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManagerTest.java @@ -110,15 +110,17 @@ public class ReportManagerTest { Report report = Report.make(); report.addFailure(TASK_1_NAME, VERTEX_1_ID); - ReportManager.reportEndOfToolRun(report, txtReportFilePath); - List reportOutputFile = ReportManagerHelper.getReportOutputFileAsList(txtReportFilePath); + List 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 -- cgit 1.2.3-korg