Cleaned up ArtifactValidatorExecuter and IArtifactValidatorExecutor 09/109509/7
authorFrancis Toth <francis.toth@yoppworks.com>
Wed, 24 Jun 2020 13:28:06 +0000 (09:28 -0400)
committerOfir Sonsino <ofir.sonsino@intl.att.com>
Thu, 25 Jun 2020 05:11:28 +0000 (05:11 +0000)
This commit intends to clean the tests related to ArtifactValidatorExecuter and IArtifactValidatorExecutor by introducing the concept of test contract. Some renaming have to be done to fix the typo in Executer (it should be named Executor), hence the number of changes.

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

19 files changed:
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/ArtifactToolBL.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/ValidationToolBL.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/config/ValidationToolConfiguration.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/ArtifactValidatorExecutor.java [moved from asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/ArtifactValidatorExecuter.java with 85% similarity]
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/IArtifactValidatorExecutor.java [moved from asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/IArtifactValidatorExecuter.java with 91% similarity]
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/NodeToscaArtifactsValidatorExecutor.java [moved from asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/NodeToscaArtifactsValidatorExecuter.java with 82% similarity]
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/ServiceToscaArtifactsValidatorExecutor.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/VFToscaArtifactValidatorExecutor.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/VfValidatorExecuter.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/main/ValidationTool.java
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/ArtifactToolBLTest.java
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/ValidationToolBLTest.java
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/config/ValidationToolConfigurationTest.java
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/ArtifactValidatorExecutorContract.java [moved from asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/ArtifactValidatorExecuterTest.java with 64% similarity]
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/IArtifactValidatorExecutorContract.java [new file with mode: 0644]
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/NodeToscaArtifactsValidatorExecuterTest.java [deleted file]
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/NodeToscaArtifactsValidatorExecutorTest.java [new file with mode: 0644]
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/ServiceToscaArtifactsValidatorExecutorTest.java
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/VFToscaArtifactValidatorExecutorTest.java

index ebd5482..75fde3d 100644 (file)
@@ -20,7 +20,7 @@
 
 package org.openecomp.sdc.asdctool.impl.validator;
 
-import org.openecomp.sdc.asdctool.impl.validator.executers.IArtifactValidatorExecuter;
+import org.openecomp.sdc.asdctool.impl.validator.executers.IArtifactValidatorExecutor;
 import org.openecomp.sdc.common.log.wrappers.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -28,20 +28,20 @@ import java.util.List;
 
 public class ArtifactToolBL {
 
-    private static Logger log = Logger.getLogger(ValidationToolBL.class.getName());
+    private static final Logger log = Logger.getLogger(ValidationToolBL.class.getName());
 
-    protected List<IArtifactValidatorExecuter> validators;
+    protected List<IArtifactValidatorExecutor> validators;
 
     private boolean allValid = true;
 
     @Autowired
     public ArtifactToolBL(
-        List<IArtifactValidatorExecuter> validators) {
+        List<IArtifactValidatorExecutor> validators) {
         this.validators = validators;
     }
 
     public boolean validateAll(String outputFilePath) {
-        for (IArtifactValidatorExecuter validatorExec : validators) {
+        for (IArtifactValidatorExecutor validatorExec : validators) {
             log.debug("ValidatorExecuter " + validatorExec.getName() + " started");
             if (!validatorExec.executeValidations(outputFilePath)) {
                 allValid = false;
index 6659f6e..2fac030 100644 (file)
@@ -44,7 +44,7 @@ public class ValidationToolBL {
         this.validators = validators;
     }
 
-    public boolean validateAll(Report report, ReportFile.TXTFile textFile, String outputFilePath) {
+    public boolean validateAll(Report report, ReportFile.TXTFile textFile) {
         for (ValidatorExecuter validatorExec: validators) {
             log.debug("ValidatorExecuter "+validatorExec.getName()+" started");
             if (!validatorExec.executeValidations(report, textFile)) {
index b13009f..81051a6 100644 (file)
@@ -23,8 +23,8 @@ package org.openecomp.sdc.asdctool.impl.validator.config;
 import org.openecomp.sdc.asdctool.impl.VrfObjectFixHandler;
 import org.openecomp.sdc.asdctool.impl.validator.ArtifactToolBL;
 import org.openecomp.sdc.asdctool.impl.validator.ValidationToolBL;
-import org.openecomp.sdc.asdctool.impl.validator.executers.IArtifactValidatorExecuter;
-import org.openecomp.sdc.asdctool.impl.validator.executers.NodeToscaArtifactsValidatorExecuter;
+import org.openecomp.sdc.asdctool.impl.validator.executers.IArtifactValidatorExecutor;
+import org.openecomp.sdc.asdctool.impl.validator.executers.NodeToscaArtifactsValidatorExecutor;
 import org.openecomp.sdc.asdctool.impl.validator.executers.ServiceToscaArtifactsValidatorExecutor;
 import org.openecomp.sdc.asdctool.impl.validator.executers.ServiceValidatorExecuter;
 import org.openecomp.sdc.asdctool.impl.validator.executers.VFToscaArtifactValidatorExecutor;
@@ -83,9 +83,9 @@ public class ValidationToolConfiguration {
     }
 
     @Bean
-    public NodeToscaArtifactsValidatorExecuter NodeToscaArtifactsValidatorValidator(JanusGraphDao janusGraphDao,
+    public NodeToscaArtifactsValidatorExecutor NodeToscaArtifactsValidatorValidator(JanusGraphDao janusGraphDao,
         ToscaOperationFacade toscaOperationFacade) {
-        return new NodeToscaArtifactsValidatorExecuter(janusGraphDao, toscaOperationFacade);
+        return new NodeToscaArtifactsValidatorExecutor(janusGraphDao, toscaOperationFacade);
     }
 
     @Bean
@@ -121,7 +121,7 @@ public class ValidationToolConfiguration {
     }
 
     @Bean
-    public ArtifactToolBL artifactToolBL(List<IArtifactValidatorExecuter> validators) {
+    public ArtifactToolBL artifactToolBL(List<IArtifactValidatorExecutor> validators) {
         return new ArtifactToolBL(validators);
     }
 
 
 package org.openecomp.sdc.asdctool.impl.validator.executers;
 
-import fj.data.Either;
-import org.openecomp.sdc.asdctool.impl.validator.config.ValidationConfigManager;
-import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
-import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
-import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
-import org.openecomp.sdc.be.dao.jsongraph.types.VertexTypeEnum;
-import org.openecomp.sdc.be.datatypes.enums.GraphPropertyEnum;
-import org.openecomp.sdc.be.model.ArtifactDefinition;
-import org.openecomp.sdc.be.model.Component;
-import org.openecomp.sdc.be.model.ComponentParametersView;
-import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
-import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
-import org.openecomp.sdc.common.log.wrappers.Logger;
+import static java.nio.charset.StandardCharsets.UTF_8;
 
+import fj.data.Either;
 import java.io.BufferedWriter;
 import java.io.FileOutputStream;
 import java.io.IOException;
@@ -48,23 +37,33 @@ import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
+import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
+import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
+import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
+import org.openecomp.sdc.be.dao.jsongraph.types.VertexTypeEnum;
+import org.openecomp.sdc.be.datatypes.enums.GraphPropertyEnum;
+import org.openecomp.sdc.be.model.ArtifactDefinition;
+import org.openecomp.sdc.be.model.Component;
+import org.openecomp.sdc.be.model.ComponentParametersView;
+import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
+import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
+import org.openecomp.sdc.common.log.wrappers.Logger;
 
-public class ArtifactValidatorExecuter {
+public abstract class ArtifactValidatorExecutor {
 
-    protected JanusGraphDao janusGraphDao;
-    protected ToscaOperationFacade toscaOperationFacade;
+    private static final Logger log = Logger.getLogger(ArtifactValidatorExecutor.class);
 
-    public ArtifactValidatorExecuter(JanusGraphDao janusGraphDao,
-        ToscaOperationFacade toscaOperationFacade) {
+    private final JanusGraphDao janusGraphDao;
+    private final ToscaOperationFacade toscaOperationFacade;
+    private final String name;
+
+    public ArtifactValidatorExecutor(
+        JanusGraphDao janusGraphDao,
+        ToscaOperationFacade toscaOperationFacade,
+        String name
+    ) {
         this.janusGraphDao = janusGraphDao;
         this.toscaOperationFacade = toscaOperationFacade;
-    }
-
-    private static Logger log = Logger.getLogger(ArtifactValidatorExecuter.class.getName());
-
-    protected String name;
-
-    public void setName(String name) {
         this.name = name;
     }
 
@@ -72,7 +71,6 @@ public class ArtifactValidatorExecuter {
         return name;
     }
 
-
     public Map<String, List<Component>> getVerticesToValidate(VertexTypeEnum type,
         Map<GraphPropertyEnum, Object> hasProps) {
         Map<String, List<Component>> result = new HashMap<>();
@@ -87,7 +85,7 @@ public class ArtifactValidatorExecuter {
         componentsList.forEach(vertex -> {
             String ivariantUuid = (String) vertex.getMetadataProperty(GraphPropertyEnum.INVARIANT_UUID);
             if (!result.containsKey(ivariantUuid)) {
-                List<Component> compList = new ArrayList<Component>();
+                List<Component> compList = new ArrayList<>();
                 result.put(ivariantUuid, compList);
             }
             List<Component> compList = result.get(ivariantUuid);
@@ -114,7 +112,7 @@ public class ArtifactValidatorExecuter {
         boolean result = true;
         long time = System.currentTimeMillis();
         String fileName = outputFilePath + this.getName() + "_" + time + ".csv";
-        try (Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName), "utf-8"))) {
+        try (Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName), UTF_8))) {
             writer.write("name, UUID, invariantUUID, state, version\n");
             Collection<List<Component>> collection = vertices.values();
             for (List<Component> compList : collection) {
@@ -149,12 +147,10 @@ public class ArtifactValidatorExecuter {
         try {
             // "service name, service id, state, version
             for (Component component : components) {
-                StringBuffer sb = new StringBuffer(component.getName());
-                sb.append(",").append(component.getUniqueId()).append(",").append(component.getInvariantUUID())
-                    .append(",").append(component.getLifecycleState()).append(",").append(component.getVersion());
-
-                sb.append("\n");
-                writer.write(sb.toString());
+                String sb = component.getName() + "," + component.getUniqueId() + "," + component.getInvariantUUID()
+                    + "," + component.getLifecycleState() + "," + component.getVersion()
+                    + "\n";
+                writer.write(sb);
             }
         } catch (IOException e) {
             log.error("Failed to write module result to file ", e);
@@ -32,15 +32,12 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-public class NodeToscaArtifactsValidatorExecuter extends ArtifactValidatorExecuter implements
-    IArtifactValidatorExecuter {
+public class NodeToscaArtifactsValidatorExecutor
+    extends ArtifactValidatorExecutor implements IArtifactValidatorExecutor {
 
-    protected String name;
-
-    public NodeToscaArtifactsValidatorExecuter(JanusGraphDao janusGraphDao,
+    public NodeToscaArtifactsValidatorExecutor(JanusGraphDao janusGraphDao,
         ToscaOperationFacade toscaOperationFacade) {
-        super(janusGraphDao, toscaOperationFacade);
-        setName("RESOURCE_TOSCA_ARTIFACTS");
+        super(janusGraphDao, toscaOperationFacade, "RESOURCE_TOSCA_ARTIFACTS");
     }
 
     @Override
@@ -52,13 +49,4 @@ public class NodeToscaArtifactsValidatorExecuter extends ArtifactValidatorExecut
         Map<String, List<Component>> vertices = getVerticesToValidate(VertexTypeEnum.NODE_TYPE, hasProps);
         return validate(vertices, outputFilePath);
     }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
 }
index 21a8065..e633aa0 100644 (file)
@@ -34,14 +34,13 @@ import java.util.List;
 import java.util.Map;
 
 @org.springframework.stereotype.Component
-public class ServiceToscaArtifactsValidatorExecutor extends ArtifactValidatorExecuter implements
-    IArtifactValidatorExecuter {
+public class ServiceToscaArtifactsValidatorExecutor
+    extends ArtifactValidatorExecutor implements IArtifactValidatorExecutor {
 
     @Autowired
     public ServiceToscaArtifactsValidatorExecutor(JanusGraphDao janusGraphDao,
         ToscaOperationFacade toscaOperationFacade) {
-        super(janusGraphDao, toscaOperationFacade);
-        setName("SERVICE_TOSCA_ARTIFACTS");
+        super(janusGraphDao, toscaOperationFacade, "SERVICE_TOSCA_ARTIFACTS");
     }
 
     @Override
@@ -53,13 +52,4 @@ public class ServiceToscaArtifactsValidatorExecutor extends ArtifactValidatorExe
         Map<String, List<Component>> vertices = getVerticesToValidate(VertexTypeEnum.TOPOLOGY_TEMPLATE, hasProps);
         return validate(vertices, outputFilePath);
     }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
 }
index b5347a2..ba05994 100644 (file)
@@ -33,12 +33,11 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-public class VFToscaArtifactValidatorExecutor extends ArtifactValidatorExecuter implements IArtifactValidatorExecuter {
+public class VFToscaArtifactValidatorExecutor
+    extends ArtifactValidatorExecutor implements IArtifactValidatorExecutor {
 
-    public VFToscaArtifactValidatorExecutor(JanusGraphDao janusGraphDao,
-        ToscaOperationFacade toscaOperationFacade) {
-        super(janusGraphDao, toscaOperationFacade);
-        setName("VF_TOSCA_ARTIFACTS");
+    public VFToscaArtifactValidatorExecutor(JanusGraphDao janusGraphDao, ToscaOperationFacade toscaOperationFacade) {
+        super(janusGraphDao, toscaOperationFacade, "VF_TOSCA_ARTIFACTS");
     }
 
     @Override
@@ -52,13 +51,4 @@ public class VFToscaArtifactValidatorExecutor extends ArtifactValidatorExecuter
         return validate(vertices, outputFilePath);
 
     }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
 }
index 4786e12..40aa601 100644 (file)
@@ -32,7 +32,7 @@ import java.util.List;
 
 public class VfValidatorExecuter extends TopologyTemplateValidatorExecuter implements ValidatorExecuter {
 
-    private List<VfValidationTask> tasks;
+    private final List<VfValidationTask> tasks;
 
     @Autowired(required = false)
     public VfValidatorExecuter(List<VfValidationTask> tasks, JanusGraphDao janusGraphDao) {
index 22d93b1..e5cd6f8 100644 (file)
@@ -57,7 +57,7 @@ public class ValidationTool {
 
         log.info("Start Validation Tool");
         Report report = Report.make();
-        boolean result = validationToolBL.validateAll(report, textFile, txtReportFilePath);
+        boolean result = validationToolBL.validateAll(report, textFile);
         textFile.reportEndOfToolRun(report);
         csvFile.printAllResults(report);
         if (result) {
index e6ae05f..47952f8 100644 (file)
@@ -25,7 +25,7 @@ import static org.mockito.Mockito.mock;
 import java.util.ArrayList;
 import java.util.LinkedList;
 import org.junit.Test;
-import org.openecomp.sdc.asdctool.impl.validator.executers.NodeToscaArtifactsValidatorExecuter;
+import org.openecomp.sdc.asdctool.impl.validator.executers.NodeToscaArtifactsValidatorExecutor;
 import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
 
@@ -43,7 +43,7 @@ public class ArtifactToolBLTest {
 
         ArtifactToolBL testSubject = createTestSubject();
         testSubject.validators = new LinkedList<>();
-        testSubject.validators.add(new NodeToscaArtifactsValidatorExecuter(janusGraphDaoMock, toscaOperationFacade));
+        testSubject.validators.add(new NodeToscaArtifactsValidatorExecutor(janusGraphDaoMock, toscaOperationFacade));
         // 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
         testSubject.validateAll(null);
index 8c2dffc..ddea391 100644 (file)
@@ -46,8 +46,6 @@ public class ValidationToolBLTest {
         testSubject.validators = new LinkedList<>();
         testSubject.validators.add(new ServiceValidatorExecuter(janusGraphDaoMock));
         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
-        testSubject.validateAll(report, makeTxtFile(makeConsoleWriter()), null);
+        testSubject.validateAll(report, makeTxtFile(makeConsoleWriter()));
     }
 }
index deadf32..1903f0f 100644 (file)
@@ -23,7 +23,7 @@ package org.openecomp.sdc.asdctool.impl.validator.config;
 import org.junit.Test;
 import org.openecomp.sdc.asdctool.impl.validator.ArtifactToolBL;
 import org.openecomp.sdc.asdctool.impl.validator.ValidationToolBL;
-import org.openecomp.sdc.asdctool.impl.validator.executers.NodeToscaArtifactsValidatorExecuter;
+import org.openecomp.sdc.asdctool.impl.validator.executers.NodeToscaArtifactsValidatorExecutor;
 import org.openecomp.sdc.asdctool.impl.validator.executers.ServiceToscaArtifactsValidatorExecutor;
 import org.openecomp.sdc.asdctool.impl.validator.executers.ServiceValidatorExecuter;
 import org.openecomp.sdc.asdctool.impl.validator.executers.VFToscaArtifactValidatorExecutor;
@@ -227,7 +227,7 @@ public class ValidationToolConfigurationTest {
        @Test
        public void testNodeToscaArtifactsValidatorValidator() {
                ValidationToolConfiguration testSubject;
-               NodeToscaArtifactsValidatorExecuter result;
+               NodeToscaArtifactsValidatorExecutor result;
                JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
                ToscaOperationFacade toscaOperationFacade = mock(ToscaOperationFacade.class);
 
 
 package org.openecomp.sdc.asdctool.impl.validator.executers;
 
-import org.junit.Test;
+import static org.mockito.Mockito.mock;
+
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
 import org.openecomp.sdc.be.dao.jsongraph.types.VertexTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.GraphPropertyEnum;
@@ -29,67 +36,40 @@ import org.openecomp.sdc.be.model.Resource;
 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
 import org.testng.Assert;
 
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import static org.mockito.Mockito.mock;
+public interface ArtifactValidatorExecutorContract {
 
-public class ArtifactValidatorExecuterTest {
+    ArtifactValidatorExecutor createTestSubject(
+        JanusGraphDao janusGraphDao,
+        ToscaOperationFacade toscaOperationFacade
+    );
 
-    private ArtifactValidatorExecuter createTestSubject() {
+    @Test
+    default void testGetVerticesToValidate() {
         JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
         ToscaOperationFacade toscaOperationFacade = mock(ToscaOperationFacade.class);
+        final ArtifactValidatorExecutor testSubject = createTestSubject(janusGraphDaoMock, toscaOperationFacade);
 
-        return new ArtifactValidatorExecuter(janusGraphDaoMock, toscaOperationFacade);
-    }
-
-    @Test
-    public void testGetName() throws Exception {
-        ArtifactValidatorExecuter testSubject;
-        String result;
-
-        // default test
-        testSubject = createTestSubject();
-        result = testSubject.getName();
-    }
-
-    @Test(expected = NullPointerException.class)
-    public void testGetVerticesToValidate() throws Exception {
-        ArtifactValidatorExecuter testSubject;
         VertexTypeEnum type = null;
         Map<GraphPropertyEnum, Object> hasProps = null;
-
-        // default test
-        testSubject = createTestSubject();
-        testSubject.getVerticesToValidate(type, hasProps);
+        Assertions.assertThrows(NullPointerException.class, () ->
+            testSubject.getVerticesToValidate(type, hasProps)
+        );
     }
 
     @Test
-    public void testSetName() throws Exception {
-        ArtifactValidatorExecuter testSubject;
-        String name = "";
-
-        // default test
-        testSubject = createTestSubject();
-        testSubject.setName(name);
-    }
+    default void testValidate() {
+        JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
+        ToscaOperationFacade toscaOperationFacade = mock(ToscaOperationFacade.class);
+        final ArtifactValidatorExecutor testSubject = createTestSubject(janusGraphDaoMock, toscaOperationFacade);
 
-    @Test
-    public void testValidate() {
-        ArtifactValidatorExecuter testSubject;
-        Map<String, List<Component>> vertices = new HashMap<>();
         LinkedList<Component> linkedList = new LinkedList<Component>();
         linkedList.add(new Resource());
+
+        Map<String, List<Component>> vertices = new HashMap<>();
         vertices.put("stam", linkedList);
-        boolean result;
 
-        // default test
-        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
-        result = testSubject.validate(vertices, null);
-        Assert.assertFalse(result);
+        Assert.assertFalse(testSubject.validate(vertices, null));
     }
 }
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/IArtifactValidatorExecutorContract.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/IArtifactValidatorExecutorContract.java
new file mode 100644 (file)
index 0000000..39a1bbe
--- /dev/null
@@ -0,0 +1,50 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2020 Bell Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.executers;
+
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
+import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
+
+import static org.mockito.Mockito.mock;
+
+public abstract class IArtifactValidatorExecutorContract {
+
+    protected abstract IArtifactValidatorExecutor createTestSubject(
+        JanusGraphDao janusGraphDao,
+        ToscaOperationFacade toscaOperationFacade
+    );
+
+    private IArtifactValidatorExecutor createTestSubject() {
+        return createTestSubject(mock(JanusGraphDao.class), mock(ToscaOperationFacade.class));
+    }
+
+    @Test
+    public void testExecuteValidations() {
+        Assertions.assertThrows(NullPointerException.class, () ->
+            // 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(null)
+        );
+    }
+}
+
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/NodeToscaArtifactsValidatorExecuterTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/NodeToscaArtifactsValidatorExecuterTest.java
deleted file mode 100644 (file)
index c9c90b2..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.executers;
-
-import org.junit.Test;
-import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
-import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
-
-import static org.mockito.Mockito.mock;
-
-public class NodeToscaArtifactsValidatorExecuterTest {
-
-    private NodeToscaArtifactsValidatorExecuter createTestSubject() {
-        JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
-        ToscaOperationFacade toscaOperationFacade = mock(ToscaOperationFacade.class);
-
-        return new NodeToscaArtifactsValidatorExecuter(janusGraphDaoMock, toscaOperationFacade);
-    }
-
-    @Test(expected = NullPointerException.class)
-    public void testExecuteValidations() {
-        // 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(null);
-    }
-
-    @Test
-    public void testGetName() throws Exception {
-        NodeToscaArtifactsValidatorExecuter testSubject;
-        String result;
-
-        // default test
-        testSubject = createTestSubject();
-        result = testSubject.getName();
-    }
-
-    @Test
-    public void testSetName() throws Exception {
-        NodeToscaArtifactsValidatorExecuter testSubject;
-        String name = "";
-
-        // default test
-        testSubject = createTestSubject();
-        testSubject.setName(name);
-    }
-}
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/NodeToscaArtifactsValidatorExecutorTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/NodeToscaArtifactsValidatorExecutorTest.java
new file mode 100644 (file)
index 0000000..3870a98
--- /dev/null
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2020 Bell Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.executers;
+
+import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
+import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
+
+public class NodeToscaArtifactsValidatorExecutorTest
+    extends IArtifactValidatorExecutorContract implements ArtifactValidatorExecutorContract {
+
+    @Override
+    public NodeToscaArtifactsValidatorExecutor createTestSubject(
+        JanusGraphDao janusGraphDao,
+        ToscaOperationFacade toscaOperationFacade
+    ) {
+        return new NodeToscaArtifactsValidatorExecutor(janusGraphDao, toscaOperationFacade);
+    }
+}
index 1e24867..7998c52 100644 (file)
 
 package org.openecomp.sdc.asdctool.impl.validator.executers;
 
-import org.junit.Test;
 import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
 
-import static org.mockito.Mockito.mock;
+public class ServiceToscaArtifactsValidatorExecutorTest
+    extends IArtifactValidatorExecutorContract implements ArtifactValidatorExecutorContract {
 
-public class ServiceToscaArtifactsValidatorExecutorTest {
-
-    private ServiceToscaArtifactsValidatorExecutor createTestSubject() {
-        JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
-        ToscaOperationFacade toscaOperationFacade = mock(ToscaOperationFacade.class);
-
-        return new ServiceToscaArtifactsValidatorExecutor(janusGraphDaoMock, toscaOperationFacade);
-    }
-
-    @Test(expected = NullPointerException.class)
-    public void testExecuteValidations() {
-        // 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(null);
-    }
-
-    @Test
-    public void testGetName() throws Exception {
-        ServiceToscaArtifactsValidatorExecutor testSubject;
-        String result;
-
-        // default test
-        testSubject = createTestSubject();
-        result = testSubject.getName();
-    }
-
-    @Test
-    public void testSetName() throws Exception {
-        ServiceToscaArtifactsValidatorExecutor testSubject;
-        String name = "";
-
-        // default test
-        testSubject = createTestSubject();
-        testSubject.setName(name);
+    @Override
+    public ServiceToscaArtifactsValidatorExecutor createTestSubject(
+        JanusGraphDao janusGraphDao,
+        ToscaOperationFacade toscaOperationFacade
+    ) {
+        return new ServiceToscaArtifactsValidatorExecutor(janusGraphDao, toscaOperationFacade);
     }
 }
index 783b888..ae6dcc1 100644 (file)
 
 package org.openecomp.sdc.asdctool.impl.validator.executers;
 
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
 import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
 
-import static org.mockito.Mockito.mock;
+public class VFToscaArtifactValidatorExecutorTest
+    extends IArtifactValidatorExecutorContract implements ArtifactValidatorExecutorContract {
 
-public class VFToscaArtifactValidatorExecutorTest {
-
-    private VFToscaArtifactValidatorExecutor createTestSubject() {
-        JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
-        ToscaOperationFacade toscaOperationFacade = mock(ToscaOperationFacade.class);
-
-        return new VFToscaArtifactValidatorExecutor(janusGraphDaoMock, toscaOperationFacade);
-    }
-
-    @Test
-    public void testExecuteValidations() {
-        VFToscaArtifactValidatorExecutor testSubject;
-        boolean result;
-
-        // default test
-        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
-        Assertions.assertThrows(NullPointerException.class, () -> testSubject.executeValidations(null));
-    }
-
-    @Test
-    public void testGetName() throws Exception {
-        VFToscaArtifactValidatorExecutor testSubject;
-        String result;
-
-        // default test
-        testSubject = createTestSubject();
-        result = testSubject.getName();
-    }
-
-    @Test
-    public void testSetName() throws Exception {
-        VFToscaArtifactValidatorExecutor testSubject;
-        String name = "";
-
-        // default test
-        testSubject = createTestSubject();
-        testSubject.setName(name);
+    @Override
+    public VFToscaArtifactValidatorExecutor createTestSubject(
+        JanusGraphDao janusGraphDao,
+        ToscaOperationFacade toscaOperationFacade
+    ) {
+        return new VFToscaArtifactValidatorExecutor(janusGraphDao, toscaOperationFacade);
     }
 }