Decouple TXT Report file writing and formatting logic (6/6) 57/109457/2
authorFrancis Toth <francis.toth@yoppworks.com>
Thu, 18 Jun 2020 20:06:01 +0000 (16:06 -0400)
committerFrancis Toth <francis.toth@yoppworks.com>
Tue, 23 Jun 2020 13:25:10 +0000 (13:25 +0000)
This commit moves the writeReportLineToFile from ReportManager to ReportFile, deletes ReportManager (as it's not longer used), and finalizes the decoupling between the writing and the formatting logic of the TXT Report file.

Signed-off-by: Francis Toth <francis.toth@yoppworks.com>
Change-Id: Ia5cce71535ea808e6e24807ed62ae9b262eab6ad
Issue-ID: SDC-2499

20 files changed:
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/ValidationToolBL.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/ServiceValidatorExecuter.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/TopologyTemplateValidatorExecuter.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/ValidatorExecuter.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/VfValidatorExecuter.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/report/ReportFile.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/TopologyTemplateValidationTask.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtils.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ServiceArtifactValidationTask.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/VfArtifactValidationTask.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/module/json/ModuleJsonTask.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManager.java [deleted file]
asdctool/src/main/java/org/openecomp/sdc/asdctool/main/ValidationTool.java
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/ServiceValidatorExecuterTest.java
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/VfValidatorExecuterTest.java
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/report/ReportFileNioHelper.java
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtilsTest.java
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ServiceArtifactValidationTaskTest.java
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/VfArtifactValidationTaskTest.java
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManagerTest.java

index 61b3640..6659f6e 100644 (file)
@@ -47,7 +47,7 @@ public class ValidationToolBL {
     public boolean validateAll(Report report, ReportFile.TXTFile textFile, String outputFilePath) {
         for (ValidatorExecuter validatorExec: validators) {
             log.debug("ValidatorExecuter "+validatorExec.getName()+" started");
-            if (!validatorExec.executeValidations(report, textFile, outputFilePath)) {
+            if (!validatorExec.executeValidations(report, textFile)) {
                 allValid = false;
                 log.debug("ValidatorExecuter "+validatorExec.getName()+" finished with warnings");
             }
index af9cb36..5d20980 100644 (file)
@@ -44,8 +44,8 @@ public class ServiceValidatorExecuter extends TopologyTemplateValidatorExecuter
     }
 
     @Override
-    public boolean executeValidations(Report report, TXTFile reportFile, String outputFilePath) {
+    public boolean executeValidations(Report report, TXTFile reportFile) {
         List<GraphVertex> vertices = getVerticesToValidate(ComponentTypeEnum.SERVICE);
-        return validate(report, tasks, vertices, reportFile, outputFilePath);
+        return validate(report, tasks, vertices, reportFile);
     }
 }
index 52c8cb5..ddf9e7b 100644 (file)
 package org.openecomp.sdc.asdctool.impl.validator.executers;
 
 import fj.data.Either;
+import java.util.ArrayList;
+import java.util.EnumMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import org.openecomp.sdc.asdctool.impl.validator.report.Report;
 import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile.TXTFile;
 import org.openecomp.sdc.asdctool.impl.validator.tasks.TopologyTemplateValidationTask;
-import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
 import org.openecomp.sdc.asdctool.impl.validator.utils.VertexResult;
 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
 import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
@@ -36,13 +41,6 @@ import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
 import org.openecomp.sdc.common.log.wrappers.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import java.util.ArrayList;
-import java.util.EnumMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 public class TopologyTemplateValidatorExecuter {
 
     private static final Logger log = Logger.getLogger(VfValidatorExecuter.class);
@@ -85,8 +83,7 @@ public class TopologyTemplateValidatorExecuter {
         Report report,
         List<? extends TopologyTemplateValidationTask> tasks,
         List<GraphVertex> vertices,
-        TXTFile reportFile,
-        String outputFilePath
+        TXTFile reportFile
     ) {
         reportFile.reportStartValidatorRun(getName(), vertices.size());
         Set<String> failedTasks = new HashSet<>();
@@ -100,7 +97,7 @@ public class TopologyTemplateValidatorExecuter {
             boolean successAllTasks = true;
             for (TopologyTemplateValidationTask task : tasks) {
                 reportFile.reportStartTaskRun(vertex, task.getTaskName());
-                VertexResult result = task.validate(report, vertex, outputFilePath);
+                VertexResult result = task.validate(report, vertex, reportFile);
                 if (!result.getStatus()) {
                     failedTasks.add(task.getTaskName());
                     successAllVertices = false;
index 88b7c0c..8744988 100644 (file)
@@ -25,6 +25,6 @@ import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile.TXTFile;
 
 public interface ValidatorExecuter {
 
-    boolean executeValidations(Report report, TXTFile textFile, String outputFilePath);
+    boolean executeValidations(Report report, TXTFile textFile);
     String getName();
 }
index 3484bbf..4786e12 100644 (file)
@@ -42,8 +42,8 @@ public class VfValidatorExecuter extends TopologyTemplateValidatorExecuter imple
     }
 
     @Override
-    public boolean executeValidations(Report report, TXTFile reportFile, String outputFilePath) {
+    public boolean executeValidations(Report report, TXTFile reportFile) {
         List<GraphVertex> vertices = getVerticesToValidate(ComponentTypeEnum.RESOURCE);
-        return validate(report, tasks, vertices, reportFile, outputFilePath);
+        return validate(report, tasks, vertices, reportFile);
     }
 }
index b483964..e706d8a 100644 (file)
@@ -29,11 +29,6 @@ import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
  */
 public class ReportFile {
 
-    // TODO: Delete this function once all the report file business logic has been moved to ReportFile
-    static public TXTFile makeAppendableTxtFile(ReportFileWriter<FileType.TXT> writer) {
-        return new TXTFile(writer);
-    }
-
     static public TXTFile makeTxtFile(ReportFileWriter<FileType.TXT> writer) {
         writer.writeln("-----------------------Validation Tool Results:-------------------------");
         return new TXTFile(writer);
@@ -82,7 +77,7 @@ public class ReportFile {
             );
         }
 
-     public void reportValidatorTypeSummary(
+        public void reportValidatorTypeSummary(
             String validatorName,
             Set<String> failedTasksNames,
             Set<String> successTasksNames
@@ -99,17 +94,22 @@ public class ReportFile {
         public void reportEndOfToolRun(Report report) {
             StrBuilder sb = new StrBuilder();
             sb.appendln("-----------------------------------Validator Tool Summary-----------------------------------");
-            report.forEachFailure((taskName, failedVertices) -> {
+            report.forEachFailure((taskName, failedVertices) ->
                 sb.append("Task: ")
                     .append(taskName)
                     .appendNewLine()
                     .append("FailedVertices: ")
                     .append(String.valueOf(failedVertices))
-                    .appendNewLine();
-            });
+                    .appendNewLine());
+
             writer.writeln("");
             writer.write(sb.toString());
         }
+
+        public void writeReportLineToFile(String message) {
+            writer.writeln("");
+            writer.write(message);
+        }
     }
 
     /**
index f50e552..99470c6 100644 (file)
 package org.openecomp.sdc.asdctool.impl.validator.tasks;
 
 import org.openecomp.sdc.asdctool.impl.validator.report.Report;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile;
 import org.openecomp.sdc.asdctool.impl.validator.utils.VertexResult;
 import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
 
 public interface TopologyTemplateValidationTask {
-    VertexResult validate(Report report, GraphVertex vertex, String outputFilePath);
+    VertexResult validate(Report report, GraphVertex vertex, ReportFile.TXTFile reportFile);
     String getTaskName();
     String getTaskResultStatus();
     void setTaskResultStatus(String status);
index 428b660..bf3d267 100644 (file)
 package org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts;
 
 import fj.data.Either;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
 import org.openecomp.sdc.asdctool.impl.validator.report.Report;
-import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile;
 import org.openecomp.sdc.be.dao.cassandra.ArtifactCassandraDao;
 import org.openecomp.sdc.be.dao.cassandra.CassandraOperationStatus;
 import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
@@ -37,22 +42,13 @@ import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
 import org.openecomp.sdc.common.log.wrappers.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-
-/**
- * Created by chaya on 7/6/2017.
- */
 public class ArtifactValidationUtils {
 
     private static final Logger logger = Logger.getLogger(ArtifactValidationUtils.class);
 
-    private ArtifactCassandraDao artifactCassandraDao;
+    private final ArtifactCassandraDao artifactCassandraDao;
 
-    private TopologyTemplateOperation topologyTemplateOperation;
+    private final TopologyTemplateOperation topologyTemplateOperation;
 
     @Autowired
     public ArtifactValidationUtils(ArtifactCassandraDao artifactCassandraDao,
@@ -61,14 +57,19 @@ public class ArtifactValidationUtils {
         this.topologyTemplateOperation = topologyTemplateOperation;
     }
 
-    public ArtifactsVertexResult validateArtifactsAreInCassandra(Report report, GraphVertex vertex, String taskName,
-        List<ArtifactDataDefinition> artifacts, String outputFilePath) {
+    public ArtifactsVertexResult validateArtifactsAreInCassandra(
+        Report report,
+        GraphVertex vertex,
+        String taskName,
+        List<ArtifactDataDefinition> artifacts,
+        ReportFile.TXTFile reportFile
+    ) {
         ArtifactsVertexResult result = new ArtifactsVertexResult(true);
         for (ArtifactDataDefinition artifact : artifacts) {
             boolean isArtifactExist = isArtifactInCassandra(artifact.getEsId());
             String status = isArtifactExist ? "Artifact " + artifact.getEsId() + " is in Cassandra" :
                 "Artifact " + artifact.getEsId() + " doesn't exist in Cassandra";
-            ReportManager.writeReportLineToFile(status, outputFilePath);
+            reportFile.writeReportLineToFile(status);
             if (!isArtifactExist) {
                 report.addFailure(taskName, vertex.getUniqueId());
                 result.setStatus(false);
@@ -99,8 +100,12 @@ public class ArtifactValidationUtils {
         return artifacts;
     }
 
-    public ArtifactsVertexResult validateTopologyTemplateArtifacts(Report report, GraphVertex vertex, String taskName,
-        String outputFilePath) {
+    public ArtifactsVertexResult validateTopologyTemplateArtifacts(
+        Report report,
+        GraphVertex vertex,
+        String taskName,
+        ReportFile.TXTFile reportFile
+    ) {
         ArtifactsVertexResult result = new ArtifactsVertexResult();
         ComponentParametersView paramView = new ComponentParametersView();
         paramView.disableAll();
@@ -135,6 +140,6 @@ public class ArtifactValidationUtils {
                 allArtifacts.addAll(addRelevantArtifacts(artifactMap.getMapToscaDataDefinition())));
         }
 
-        return validateArtifactsAreInCassandra(report, vertex, taskName, allArtifacts, outputFilePath);
+        return validateArtifactsAreInCassandra(report, vertex, taskName, allArtifacts, reportFile);
     }
 }
index e3f5474..a5d5185 100644 (file)
@@ -21,6 +21,7 @@
 package org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts;
 
 import org.openecomp.sdc.asdctool.impl.validator.report.Report;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile;
 import org.openecomp.sdc.asdctool.impl.validator.tasks.ServiceValidationTask;
 import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,7 +38,7 @@ public class ServiceArtifactValidationTask extends ServiceValidationTask {
     }
 
     @Override
-    public ArtifactsVertexResult validate(Report report, GraphVertex vertex, String outputFilePath) {
-        return artifactValidationUtils.validateTopologyTemplateArtifacts(report, vertex, getTaskName(), outputFilePath);
+    public ArtifactsVertexResult validate(Report report, GraphVertex vertex, ReportFile.TXTFile reportFile) {
+        return artifactValidationUtils.validateTopologyTemplateArtifacts(report, vertex, getTaskName(), reportFile);
     }
 }
index f480883..26495fa 100644 (file)
@@ -21,6 +21,7 @@
 package org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts;
 
 import org.openecomp.sdc.asdctool.impl.validator.report.Report;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile;
 import org.openecomp.sdc.asdctool.impl.validator.tasks.VfValidationTask;
 import org.openecomp.sdc.asdctool.impl.validator.utils.VertexResult;
 import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
@@ -41,7 +42,7 @@ public class VfArtifactValidationTask extends VfValidationTask {
     }
 
     @Override
-    public VertexResult validate(Report report, GraphVertex vertex, String outputFilePath) {
-        return artifactValidationUtils.validateTopologyTemplateArtifacts(report, vertex, getTaskName(), outputFilePath);
+    public VertexResult validate(Report report, GraphVertex vertex, ReportFile.TXTFile reportFile) {
+        return artifactValidationUtils.validateTopologyTemplateArtifacts(report, vertex, getTaskName(), reportFile);
     }
 }
index 58c2ef0..62404e1 100644 (file)
@@ -29,8 +29,8 @@ import java.util.Map;
 import java.util.Optional;
 import java.util.stream.Collectors;
 import org.openecomp.sdc.asdctool.impl.validator.report.Report;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile;
 import org.openecomp.sdc.asdctool.impl.validator.tasks.ServiceValidationTask;
-import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
 import org.openecomp.sdc.asdctool.impl.validator.utils.VertexResult;
 import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
 import org.openecomp.sdc.be.datatypes.elements.ArtifactDataDefinition;
@@ -47,7 +47,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 
 public class ModuleJsonTask extends ServiceValidationTask {
 
-    private TopologyTemplateOperation topologyTemplateOperation;
+    private final TopologyTemplateOperation topologyTemplateOperation;
 
     @Autowired
     public ModuleJsonTask(TopologyTemplateOperation topologyTemplateOperation) {
@@ -56,7 +56,7 @@ public class ModuleJsonTask extends ServiceValidationTask {
     }
 
     @Override
-    public VertexResult validate(Report report, GraphVertex vertex, String outputFilePath) {
+    public VertexResult validate(Report report, GraphVertex vertex, ReportFile.TXTFile reportFile) {
         if (!isAfterSubmitForTesting(vertex)) {
             return new VertexResult(true);
         }
@@ -80,35 +80,39 @@ public class ModuleJsonTask extends ServiceValidationTask {
             MapGroupsDataDefinition groups = pair.getValue();
             if (groups != null && !groups.getMapToscaDataDefinition().isEmpty()) {
                 return new VertexResult(
-                        findCoordinateModuleJson(report, pair, instDeploymentArtifacts, vertex, outputFilePath));
+                    findCoordinateModuleJson(report, pair, instDeploymentArtifacts, vertex, reportFile));
             }
         }
         return new VertexResult(true);
     }
 
-    private boolean findCoordinateModuleJson(Report report, Map.Entry<String, MapGroupsDataDefinition> pair,
-                                             Map<String, MapArtifactDataDefinition> instDeploymentArtifacts,
-                                             GraphVertex vertex, String outputFilePath) {
+    private boolean findCoordinateModuleJson(
+        Report report,
+        Map.Entry<String, MapGroupsDataDefinition> pair,
+        Map<String, MapArtifactDataDefinition> instDeploymentArtifacts,
+        GraphVertex vertex,
+        ReportFile.TXTFile reportFile
+    ) {
         String groupKey = pair.getKey();
         String[] split = groupKey.split("\\.");
         String instanceName = split[split.length - 1];
         MapArtifactDataDefinition deploymentsArtifacts = instDeploymentArtifacts.get(groupKey);
         if (deploymentsArtifacts != null && !deploymentsArtifacts.getMapToscaDataDefinition().isEmpty()) {
             List<ArtifactDataDefinition> moduleJsonArtifacts = deploymentsArtifacts.getMapToscaDataDefinition().values()
-                    .stream().filter(artifact -> {
-                        String artifactName = artifact.getArtifactName();
-                        return (artifactName.startsWith(instanceName) && artifactName.endsWith("modules.json"));
-                    }).collect(Collectors.toList());
-            if (!moduleJsonArtifacts.isEmpty()) {
-                String status = "Instance " + instanceName + " has a corresponding modules.json file: "
-                        + moduleJsonArtifacts.get(0)
+                .stream().filter(artifact -> {
+                    String artifactName = artifact.getArtifactName();
+                    return artifactName.startsWith(instanceName) && artifactName.endsWith("modules.json");
+                }).collect(Collectors.toList());
+            if (moduleJsonArtifacts.size() > 0) {
+                String status =
+                    "Instance " + instanceName + " has a corresponding modules.json file: " + moduleJsonArtifacts.get(0)
                         .getArtifactName();
-                ReportManager.writeReportLineToFile(status, outputFilePath);
+                reportFile.writeReportLineToFile(status);
                 return true;
             }
         }
         String status = "Instance " + instanceName + " doesn't have a corresponding modules.json file";
-        ReportManager.writeReportLineToFile(status, outputFilePath);
+        reportFile.writeReportLineToFile(status);
         report.addFailure(getTaskName(), vertex.getUniqueId());
         return false;
     }
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManager.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManager.java
deleted file mode 100644 (file)
index 9b09e67..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (c) 2019 Samsung
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdc.asdctool.impl.validator.utils;
-
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.nio.file.StandardOpenOption;
-import java.util.Set;
-import org.apache.commons.lang.text.StrBuilder;
-import org.openecomp.sdc.asdctool.impl.validator.report.Report;
-import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ReportManager {
-
-    private static final Logger log = LoggerFactory.getLogger(ReportManager.class);
-
-    public static ReportManager make(String txtReportFilePath) {
-        return new ReportManager(txtReportFilePath);
-    }
-
-    private ReportManager(String txtReportFilePath) {
-        try {
-            initReportFile(txtReportFilePath);
-        } catch (IOException e) {
-            log.info("Init file failed - {}", e.getClass().getSimpleName(), e);
-        }
-    }
-
-    private void initReportFile(String txtReportFilePath) throws IOException {
-        Path path = Paths.get(txtReportFilePath);
-        // TODO: Remove this once all the report file business logic has been moved to ReportFile
-        if(Files.notExists(path)) {
-            StrBuilder sb = new StrBuilder();
-            sb.appendln("-----------------------Validation Tool Results:-------------------------");
-            Files.write(path, sb.toString().getBytes());
-        }
-    }
-
-    public static void writeReportLineToFile(String message, String outputFilePath) {
-        try {
-            Files.write(Paths.get(outputFilePath), new StrBuilder().appendNewLine().toString().getBytes(),
-                StandardOpenOption.APPEND);
-            Files.write(Paths.get(outputFilePath), message.getBytes(), StandardOpenOption.APPEND);
-        } catch (IOException e) {
-            log.info("write to file failed - {}", e.getClass().getSimpleName(), e);
-        }
-    }
-}
index 3bffa0b..22d93b1 100644 (file)
@@ -31,7 +31,6 @@ import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile;
 import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile.CSVFile;
 import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile.TXTFile;
 import org.openecomp.sdc.asdctool.impl.validator.report.ReportFileWriter;
-import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
 import org.openecomp.sdc.be.config.ConfigurationManager;
 import org.openecomp.sdc.common.api.ConfigurationSource;
 import org.openecomp.sdc.common.impl.ExternalConfiguration;
index 2f9f11b..41fb048 100644 (file)
@@ -43,8 +43,6 @@ public class ServiceValidatorExecuterTest {
     @Test(expected = NullPointerException.class)
     public void testExecuteValidations() {
         Report report = Report.make();
-        // Initially no outputFilePath was passed to this function (hence it is set to null)
-        // TODO: Fix this null and see if the argument is used by this function
-        createTestSubject().executeValidations(report, makeTxtFile(makeConsoleWriter()), null);
+        createTestSubject().executeValidations(report, makeTxtFile(makeConsoleWriter()));
     }
 }
index 3760a57..aa388f6 100644 (file)
@@ -48,8 +48,6 @@ public class VfValidatorExecuterTest {
     @Test(expected = NullPointerException.class)
     public void testExecuteValidations() {
         Report report = Report.make();
-        // Initially no outputFilePath was passed to this function (hence it is set to null)
-        // TODO: Fix this null and see if the argument is used by this function
-        createTestSubject().executeValidations(report, makeTxtFile(makeConsoleWriter()), null);
+        createTestSubject().executeValidations(report, makeTxtFile(makeConsoleWriter()));
     }
 }
index cd35f4b..2ef85fd 100644 (file)
@@ -78,9 +78,7 @@ public class ReportFileNioHelper {
      * @param <A>               The type returned by the function consuming the file
      */
     public static <A> A withTxtFile(String txtReportFilePath, Function<ReportFile.TXTFile, A> f) {
-        // TODO: Switch to makeTxtFile once all the report file business logic has been moved to
-        // ReportFile
-        ReportFile.TXTFile file = ReportFile.makeAppendableTxtFile(makeNioWriter(txtReportFilePath));
+        ReportFile.TXTFile file = ReportFile.makeTxtFile(makeNioWriter(txtReportFilePath));
         A result = f.apply(file);
         try {
             Files.delete(Paths.get(txtReportFilePath));
index 763c69f..26ad7d8 100644 (file)
@@ -37,17 +37,13 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.IntStream;
-import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.openecomp.sdc.asdctool.impl.validator.config.ValidationConfigManager;
 import org.openecomp.sdc.asdctool.impl.validator.report.Report;
-import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
-import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManagerHelper;
 import org.openecomp.sdc.be.dao.cassandra.ArtifactCassandraDao;
 import org.openecomp.sdc.be.dao.cassandra.CassandraOperationStatus;
 import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
@@ -101,16 +97,6 @@ public class ArtifactValidationUtilsTest {
         when(vertex.getUniqueId()).thenReturn(UNIQUE_ID_VERTEX);
     }
 
-    @BeforeEach
-    public void setup() {
-        ReportManager.make(txtReportFilePath);
-    }
-
-    @AfterEach
-    public void clean() {
-        ReportManagerHelper.cleanReports(txtReportFilePath);
-    }
-
     @Test
     public void testValidateArtifactsAreInCassandra() {
         // given
@@ -119,15 +105,17 @@ public class ArtifactValidationUtilsTest {
         artifacts.add(artifactDataDefinition);
 
         // when
-        ArtifactsVertexResult result =
-            testSubject.validateArtifactsAreInCassandra(report, vertex, TASK_NAME, artifacts, txtReportFilePath);
+        withTxtFile(txtReportFilePath, file -> {
+            ArtifactsVertexResult result =
+                testSubject.validateArtifactsAreInCassandra(report, vertex, TASK_NAME, artifacts, file);
 
-        List<String> reportOutputFile = ReportManagerHelper.getReportOutputFileAsList(txtReportFilePath);
+            List<String> reportOutputFile = readFileAsList(txtReportFilePath);
 
-        // then
-        assertTrue(result.getStatus());
-        assertEquals(0, result.notFoundArtifacts.size());
-        assertEquals("Artifact " + ES_ID + " is in Cassandra", reportOutputFile.get(2));
+            // then
+            assertTrue(result.getStatus());
+            assertEquals(0, result.notFoundArtifacts.size());
+            assertEquals("Artifact " + ES_ID + " is in Cassandra", reportOutputFile.get(2));
+        });
     }
 
     @Test
@@ -141,7 +129,7 @@ public class ArtifactValidationUtilsTest {
         // when
         withTxtFile(txtReportFilePath, file -> {
             ArtifactsVertexResult result =
-                testSubject.validateArtifactsAreInCassandra(report, vertex, TASK_NAME, artifacts, txtReportFilePath);
+                testSubject.validateArtifactsAreInCassandra(report, vertex, TASK_NAME, artifacts, file);
             file.reportEndOfToolRun(report);
 
             List<String> reportOutputFile = readFileAsList(txtReportFilePath);
@@ -219,17 +207,19 @@ public class ArtifactValidationUtilsTest {
             .thenReturn(Either.left(topologyTemplate));
 
         // when
-        ArtifactsVertexResult result =
-            testSubject.validateTopologyTemplateArtifacts(report, vertex, TASK_NAME, txtReportFilePath);
+        withTxtFile(txtReportFilePath, file -> {
+            ArtifactsVertexResult result =
+                testSubject.validateTopologyTemplateArtifacts(report, vertex, TASK_NAME, file);
 
-        List<String> reportOutputFile = ReportManagerHelper.getReportOutputFileAsList(txtReportFilePath);
+            List<String> reportOutputFile = readFileAsList(txtReportFilePath);
 
-        // then
-        assertTrue(result.getStatus());
-        assertEquals(0, result.notFoundArtifacts.size());
+            // then
+            assertTrue(result.getStatus());
+            assertEquals(0, result.notFoundArtifacts.size());
 
-        IntStream.range(2, reportOutputFile.size()).forEach(
-            i -> assertEquals("Artifact " + ES_ID + " is in Cassandra", reportOutputFile.get(i)));
+            IntStream.range(2, reportOutputFile.size()).forEach(
+                i -> assertEquals("Artifact " + ES_ID + " is in Cassandra", reportOutputFile.get(i)));
+        });
     }
 
     @Test
@@ -240,10 +230,11 @@ public class ArtifactValidationUtilsTest {
             .thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
 
         // when
-        ArtifactsVertexResult result =
-            testSubject.validateTopologyTemplateArtifacts(report, vertex, TASK_NAME, txtReportFilePath);
-
-        // then
-        assertFalse(result.getStatus());
+        withTxtFile(txtReportFilePath, file -> {
+            ArtifactsVertexResult result =
+                testSubject.validateTopologyTemplateArtifacts(report, vertex, TASK_NAME, file);
+            // then
+            assertFalse(result.getStatus());
+        });
     }
 }
index b45b589..849c679 100644 (file)
 
 package org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts;
 
-import org.junit.Test;
-import org.openecomp.sdc.asdctool.impl.validator.report.Report;
-import org.openecomp.sdc.asdctool.impl.validator.utils.VertexResult;
-import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
-
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.nullValue;
 import static org.junit.Assert.assertThat;
 import static org.mockito.Mockito.mock;
+import static org.openecomp.sdc.asdctool.impl.validator.report.ReportFile.makeTxtFile;
+
+import org.junit.Test;
+import org.openecomp.sdc.asdctool.impl.validator.report.Report;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFileWriterTestFactory;
+import org.openecomp.sdc.asdctool.impl.validator.utils.VertexResult;
+import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
 
 public class ServiceArtifactValidationTaskTest {
 
@@ -42,9 +44,10 @@ public class ServiceArtifactValidationTaskTest {
         Report report = Report.make();
         GraphVertex vertex = null;
         ServiceArtifactValidationTask testSubject = createTestSubject();
-        // Initially no outputFilePath was passed to this function (hence it is set to null)
-        // TODO: Fix this null and see if the argument is used by this function
-        VertexResult actual = testSubject.validate(report, vertex, null);
+        VertexResult actual = testSubject.validate(
+            report, vertex,
+            makeTxtFile(ReportFileWriterTestFactory.makeConsoleWriter())
+        );
         assertThat(actual, is(nullValue()));
     }
 }
index 60e41ab..a70326b 100644 (file)
@@ -22,6 +22,7 @@ package org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts;
 
 import org.junit.Test;
 import org.openecomp.sdc.asdctool.impl.validator.report.Report;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFileWriterTestFactory;
 import org.openecomp.sdc.asdctool.impl.validator.utils.VertexResult;
 import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
 
@@ -29,6 +30,7 @@ import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.nullValue;
 import static org.junit.Assert.assertThat;
 import static org.mockito.Mockito.mock;
+import static org.openecomp.sdc.asdctool.impl.validator.report.ReportFile.makeTxtFile;
 
 public class VfArtifactValidationTaskTest {
 
@@ -42,9 +44,10 @@ public class VfArtifactValidationTaskTest {
         Report report = Report.make();
         GraphVertex vertex = null;
         VfArtifactValidationTask testSubject = createTestSubject();
-        // Initially no outputFilePath was passed to this function (hence it is set to null)
-        // TODO: Fix this null and see if the argument is used by this function
-        VertexResult actual = testSubject.validate(report, vertex, null);
+        VertexResult actual = testSubject.validate(
+            report, vertex,
+            makeTxtFile(ReportFileWriterTestFactory.makeConsoleWriter())
+        );
         assertThat(actual, is(nullValue()));
     }
 }
index d2276fd..af05610 100644 (file)
 
 package org.openecomp.sdc.asdctool.impl.validator.utils;
 
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
-import org.openecomp.sdc.asdctool.impl.validator.config.ValidationConfigManager;
-import org.openecomp.sdc.asdctool.impl.validator.report.Report;
-import org.openecomp.sdc.asdctool.impl.validator.report.ReportFileNioHelper;
-import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.mockito.Mockito.when;
 
 import java.io.File;
 import java.util.Arrays;
 import java.util.List;
 import java.util.SortedSet;
 import java.util.TreeSet;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.mockito.Mockito.when;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+import org.openecomp.sdc.asdctool.impl.validator.config.ValidationConfigManager;
+import org.openecomp.sdc.asdctool.impl.validator.report.Report;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFileNioHelper;
+import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
 
 public class ReportManagerTest {
 
@@ -74,17 +71,6 @@ public class ReportManagerTest {
 
     private final GraphVertex vertexScanned = Mockito.mock(GraphVertex.class);
 
-    @BeforeEach
-    public void setup() {
-        ReportManager.make(txtReportFilePath);
-        successResult.setStatus(true);
-    }
-
-    @AfterEach
-    public void clean() {
-        ReportManagerHelper.cleanReports(txtReportFilePath);
-    }
-
     @Test
     public void testReportTaskEnd() {
         // when
@@ -144,15 +130,15 @@ public class ReportManagerTest {
     @Test
     public void testWriteReportLineToFile() {
         // when
-        ReportManager.writeReportLineToFile(DUMMY_MESSAGE, txtReportFilePath);
-
-        List<String> reportOutputFile = ReportManagerHelper.getReportOutputFileAsList(txtReportFilePath);
+        List<String> reportTxtFile = ReportFileNioHelper.withTxtFile(txtReportFilePath, file -> {
+            file.writeReportLineToFile(DUMMY_MESSAGE);
+            return ReportFileNioHelper.readFileAsList(txtReportFilePath);
+        });
 
         // then
-        assertNotNull(reportOutputFile);
-
-        assertEquals(EXPECTED_OUTPUT_FILE_HEADER, reportOutputFile.get(0));
-        assertEquals(DUMMY_MESSAGE, reportOutputFile.get(2));
+        assertNotNull(reportTxtFile);
+        assertEquals(EXPECTED_OUTPUT_FILE_HEADER, reportTxtFile.get(0));
+        assertEquals(DUMMY_MESSAGE, reportTxtFile.get(2));
     }
 
     @Test