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
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");
}
}
@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);
}
}
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;
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);
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<>();
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;
public interface ValidatorExecuter {
- boolean executeValidations(Report report, TXTFile textFile, String outputFilePath);
+ boolean executeValidations(Report report, TXTFile textFile);
String getName();
}
}
@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);
}
}
*/
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);
);
}
- public void reportValidatorTypeSummary(
+ public void reportValidatorTypeSummary(
String validatorName,
Set<String> failedTasksNames,
Set<String> successTasksNames
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);
+ }
}
/**
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);
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;
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,
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);
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();
allArtifacts.addAll(addRelevantArtifacts(artifactMap.getMapToscaDataDefinition())));
}
- return validateArtifactsAreInCassandra(report, vertex, taskName, allArtifacts, outputFilePath);
+ return validateArtifactsAreInCassandra(report, vertex, taskName, allArtifacts, reportFile);
}
}
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;
}
@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);
}
}
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;
}
@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);
}
}
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;
public class ModuleJsonTask extends ServiceValidationTask {
- private TopologyTemplateOperation topologyTemplateOperation;
+ private final TopologyTemplateOperation topologyTemplateOperation;
@Autowired
public ModuleJsonTask(TopologyTemplateOperation topologyTemplateOperation) {
}
@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);
}
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;
}
+++ /dev/null
-/*-
- * ============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);
- }
- }
-}
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;
@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()));
}
}
@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()));
}
}
* @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));
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;
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
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
// 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);
.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
.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());
+ });
}
}
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 {
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()));
}
}
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;
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 {
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()));
}
}
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 {
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
@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