Clean ValidatorExecutor hierarchy 62/109962/4
authorFrancis Toth <francis.toth@yoppworks.com>
Tue, 7 Jul 2020 13:10:33 +0000 (09:10 -0400)
committerOfir Sonsino <ofir.sonsino@intl.att.com>
Thu, 9 Jul 2020 09:34:59 +0000 (09:34 +0000)
Signed-off-by: Francis Toth <francis.toth@yoppworks.com>
Change-Id: I9d919b1d57eac1d25c8b3874366c2cb9e906923a
Issue-ID: SDC-2499

15 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/executor/ServiceValidatorExecutor.java [deleted file]
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executor/TopologyTemplateValidatorExecutor.java
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executor/VfValidatorExecutor.java [deleted file]
asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/utils/ElementTypeEnum.java [deleted file]
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/executor/ServiceValidatorExecutorTest.java [deleted file]
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/TopologyTemplateValidatorExecutorContract.java [deleted file]
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/ValidatorExecutorTest.java [moved from asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/ValidatorExecutorContract.java with 69% similarity]
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/VfValidatorExecutorTest.java [deleted file]
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ElementTypeEnumTest.java [deleted file]

index d53cadf..92af43e 100644 (file)
@@ -28,19 +28,17 @@ import java.util.List;
 
 public class ArtifactToolBL {
 
-    private static final Logger log = Logger.getLogger(ValidationToolBL.class.getName());
+    private static final Logger log = Logger.getLogger(ArtifactToolBL.class);
 
-    protected List<IArtifactValidatorExecutor> validators;
-
-    private boolean allValid = true;
+    private final List<IArtifactValidatorExecutor> validators;
 
     @Autowired
-    public ArtifactToolBL(
-        List<IArtifactValidatorExecutor> validators) {
+    public ArtifactToolBL(List<IArtifactValidatorExecutor> validators) {
         this.validators = validators;
     }
 
     public boolean validateAll(String outputFilePath) {
+        boolean allValid = true;
         for (IArtifactValidatorExecutor validatorExec : validators) {
             log.debug("ValidatorExecuter " + validatorExec.getName() + " started");
             if (!validatorExec.executeValidations(outputFilePath)) {
index e9121f1..8f9202f 100644 (file)
@@ -34,17 +34,15 @@ public class ValidationToolBL {
 
     private static final Logger log = Logger.getLogger(ValidationToolBL.class);
 
-    protected List<ValidatorExecutor> validators;
-
-    private boolean allValid = true;
+    private final List<ValidatorExecutor> validators;
 
     @Autowired
-    public ValidationToolBL(
-        List<ValidatorExecutor> validators) {
+    public ValidationToolBL(List<ValidatorExecutor> validators) {
         this.validators = validators;
     }
 
     public boolean validateAll(Report report, ReportFile.TXTFile textFile) {
+        boolean allValid = true;
         for (ValidatorExecutor validatorExec: validators) {
             log.debug("ValidatorExecuter "+validatorExec.getName()+" started");
             if (!validatorExec.executeValidations(report, textFile)) {
index 1c02ac6..5fbed89 100644 (file)
@@ -26,10 +26,9 @@ import org.openecomp.sdc.asdctool.impl.validator.ValidationToolBL;
 import org.openecomp.sdc.asdctool.impl.validator.executor.IArtifactValidatorExecutor;
 import org.openecomp.sdc.asdctool.impl.validator.executor.NodeToscaArtifactsValidatorExecutor;
 import org.openecomp.sdc.asdctool.impl.validator.executor.ServiceToscaArtifactsValidatorExecutor;
-import org.openecomp.sdc.asdctool.impl.validator.executor.ServiceValidatorExecutor;
+import org.openecomp.sdc.asdctool.impl.validator.executor.TopologyTemplateValidatorExecutor;
 import org.openecomp.sdc.asdctool.impl.validator.executor.VFToscaArtifactValidatorExecutor;
 import org.openecomp.sdc.asdctool.impl.validator.executor.ValidatorExecutor;
-import org.openecomp.sdc.asdctool.impl.validator.executor.VfValidatorExecutor;
 import org.openecomp.sdc.asdctool.impl.validator.tasks.VfValidationTask;
 import org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts.ArtifactValidationUtils;
 import org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts.ServiceArtifactValidationTask;
@@ -78,8 +77,8 @@ import java.util.List;
 public class ValidationToolConfiguration {
 
     @Bean
-    public ServiceValidatorExecutor basicServiceValidator(JanusGraphDao janusGraphDao) {
-        return new ServiceValidatorExecutor(janusGraphDao);
+    public ValidatorExecutor basicServiceValidator(JanusGraphDao janusGraphDao) {
+        return TopologyTemplateValidatorExecutor.serviceValidatorExecutor(janusGraphDao);
     }
 
     @Bean
@@ -126,8 +125,8 @@ public class ValidationToolConfiguration {
     }
 
     @Bean
-    public VfValidatorExecutor basicVfValidator(List<VfValidationTask> tasks, JanusGraphDao janusGraphDao) {
-        return new VfValidatorExecutor(tasks, janusGraphDao);
+    public ValidatorExecutor basicVfValidator(List<VfValidationTask> tasks, JanusGraphDao janusGraphDao) {
+        return TopologyTemplateValidatorExecutor.vfValidatorExecutor(tasks, janusGraphDao);
     }
 
     @Bean(name = "artifact-cassandra-dao")
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executor/ServiceValidatorExecutor.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executor/ServiceValidatorExecutor.java
deleted file mode 100644 (file)
index 27bcd1f..0000000
+++ /dev/null
@@ -1,50 +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.executor;
-
-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.ServiceValidationTask;
-import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
-import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
-import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@Component
-public class ServiceValidatorExecutor extends TopologyTemplateValidatorExecutor implements ValidatorExecutor {
-
-    List<ServiceValidationTask> tasks = new ArrayList<>();
-
-    @Autowired(required = false)
-    public ServiceValidatorExecutor(JanusGraphDao janusGraphDao) {
-        super(janusGraphDao, "SERVICE_VALIDATOR");
-    }
-
-    @Override
-    public boolean executeValidations(Report report, TXTFile reportFile) {
-        List<GraphVertex> vertices = getVerticesToValidate(ComponentTypeEnum.SERVICE);
-        return validate(report, tasks, vertices, reportFile);
-    }
-}
index 95a9fce..36feb3b 100644 (file)
 
 package org.openecomp.sdc.asdctool.impl.validator.executor;
 
-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 lombok.Getter;
 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.tasks.VfValidationTask;
 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.be.dao.jsongraph.JanusGraphDao;
 import org.openecomp.sdc.be.dao.jsongraph.types.VertexTypeEnum;
@@ -40,45 +33,56 @@ import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.GraphPropertyEnum;
 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 TopologyTemplateValidatorExecutor {
+public class TopologyTemplateValidatorExecutor implements ValidatorExecutor {
 
-    private static final Logger log = Logger.getLogger(VfValidatorExecutor.class);
+    private static final Logger log = Logger.getLogger(TopologyTemplateValidatorExecutor.class);
 
     private final JanusGraphDao janusGraphDao;
+    private final ComponentTypeEnum componentType;
+    private final List<? extends TopologyTemplateValidationTask> tasks;
 
     @Getter
     private final String name;
 
-    public TopologyTemplateValidatorExecutor(JanusGraphDao janusGraphDao, String name) {
-        this.janusGraphDao = janusGraphDao;
-        this.name = name;
+    @Autowired(required = false)
+    public static ValidatorExecutor serviceValidatorExecutor(JanusGraphDao janusGraphDao) {
+        return new TopologyTemplateValidatorExecutor(
+                janusGraphDao, "SERVICE_VALIDATOR", ComponentTypeEnum.SERVICE, new ArrayList<>()
+        );
     }
 
-    protected List<GraphVertex> getVerticesToValidate(ComponentTypeEnum type) {
-        Map<GraphPropertyEnum, Object> props = new EnumMap<>(GraphPropertyEnum.class);
-        props.put(GraphPropertyEnum.COMPONENT_TYPE, type.name());
-        if (type.equals(ComponentTypeEnum.RESOURCE)) {
-            props.put(GraphPropertyEnum.RESOURCE_TYPE, ResourceTypeEnum.VF);
-        }
-
-        Either<List<GraphVertex>, JanusGraphOperationStatus> results = janusGraphDao
-            .getByCriteria(VertexTypeEnum.TOPOLOGY_TEMPLATE, props);
-        if (results.isRight()) {
-            log.error("getVerticesToValidate failed " + results.right().value());
-            return new ArrayList<>();
-        }
-        log.info("getVerticesToValidate: " + results.left().value().size() + " vertices to scan");
-        return results.left().value();
+    @Autowired(required = false)
+    public static ValidatorExecutor vfValidatorExecutor(List<VfValidationTask> tasks, JanusGraphDao janusGraphDao) {
+        return new TopologyTemplateValidatorExecutor(
+                janusGraphDao, "BASIC_VF_VALIDATOR", ComponentTypeEnum.RESOURCE, tasks
+        );
     }
 
-    protected boolean validate(
-        Report report,
-        List<? extends TopologyTemplateValidationTask> tasks,
-        List<GraphVertex> vertices,
-        TXTFile reportFile
+    private TopologyTemplateValidatorExecutor(
+            JanusGraphDao janusGraphDao,
+            String name,
+            ComponentTypeEnum componentType,
+            List<? extends TopologyTemplateValidationTask> tasks
     ) {
-        reportFile.reportStartValidatorRun(getName(), vertices.size());
+        this.janusGraphDao = janusGraphDao;
+        this.name = name;
+        this.componentType = componentType;
+        this.tasks = tasks;
+    }
+
+    @Override
+    public boolean executeValidations(Report report, TXTFile reportFile) {
+        List<GraphVertex> vertices = getVerticesToValidate();
+        reportFile.reportStartValidatorRun(name, vertices.size());
         Set<String> failedTasks = new HashSet<>();
         Set<String> successTasks = new HashSet<>();
         boolean successAllVertices = true;
@@ -102,9 +106,33 @@ public class TopologyTemplateValidatorExecutor {
                 report.addSuccess(vertex.getUniqueId(), task.getTaskName(), result);
             }
             String componentScanStatus = successAllTasks ? "success" : "failed";
-            log.info("Topology Template " + vertex.getUniqueId() + " Validation finished with " + componentScanStatus);
+            log.info("Topology Template {} Validation finished with {}", vertex.getUniqueId(), componentScanStatus);
         }
-        reportFile.reportValidatorTypeSummary(getName(), failedTasks, successTasks);
+        reportFile.reportValidatorTypeSummary(name, failedTasks, successTasks);
         return successAllVertices;
     }
+
+    private List<GraphVertex> getVerticesToValidate() {
+        return janusGraphDao
+                .getByCriteria(VertexTypeEnum.TOPOLOGY_TEMPLATE, buildProps())
+                .either(
+                        vs -> {
+                            log.info("getVerticesToValidate: {} vertices to scan", vs.size());
+                            return vs;
+                        },
+                        sos -> {
+                            log.error("getVerticesToValidate failed {}", sos);
+                            return new ArrayList<>();
+                        }
+                );
+    }
+
+    private Map<GraphPropertyEnum, Object> buildProps() {
+        Map<GraphPropertyEnum, Object> props = new EnumMap<>(GraphPropertyEnum.class);
+        props.put(GraphPropertyEnum.COMPONENT_TYPE, componentType.name());
+        if (componentType.equals(ComponentTypeEnum.RESOURCE)) {
+            props.put(GraphPropertyEnum.RESOURCE_TYPE, ResourceTypeEnum.VF);
+        }
+        return props;
+    }
 }
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executor/VfValidatorExecutor.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executor/VfValidatorExecutor.java
deleted file mode 100644 (file)
index f8aaf54..0000000
+++ /dev/null
@@ -1,48 +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.executor;
-
-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.VfValidationTask;
-import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
-import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
-import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.util.List;
-
-public class VfValidatorExecutor extends TopologyTemplateValidatorExecutor implements ValidatorExecutor {
-
-    private final List<VfValidationTask> tasks;
-
-    @Autowired(required = false)
-    public VfValidatorExecutor(List<VfValidationTask> tasks, JanusGraphDao janusGraphDao) {
-        super(janusGraphDao, "BASIC_VF_VALIDATOR");
-        this.tasks = tasks;
-    }
-
-    @Override
-    public boolean executeValidations(Report report, TXTFile reportFile) {
-        List<GraphVertex> vertices = getVerticesToValidate(ComponentTypeEnum.RESOURCE);
-        return validate(report, tasks, vertices, reportFile);
-    }
-}
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/utils/ElementTypeEnum.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/utils/ElementTypeEnum.java
deleted file mode 100644 (file)
index 3424641..0000000
+++ /dev/null
@@ -1,79 +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.utils;
-
-import org.openecomp.sdc.asdctool.impl.validator.executor.VfValidatorExecutor;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Created by chaya on 7/4/2017.
- */
-public enum ElementTypeEnum {
-
-    VF ("vf", VfValidatorExecutor.class);
-    //SERVICE("service", ServiceValidatorExecuter.class)
-
-    private String elementType;
-    private Class clazz;
-
-    ElementTypeEnum(String elementType, Class clazz) {
-       this. elementType = elementType;
-       this.clazz = clazz;
-    }
-
-    public static ElementTypeEnum getByType(String elementType){
-        for(ElementTypeEnum currType :ElementTypeEnum.values()){
-            if(currType.getElementType().equals(elementType)){
-                return currType;
-            }
-        }
-        return null;
-    }
-
-    public static List<String> getAllTypes() {
-
-        List<String> arrayList = new ArrayList<String>();
-
-        for (ElementTypeEnum graphType : ElementTypeEnum.values()) {
-            arrayList.add(graphType.getElementType());
-        }
-        return arrayList;
-    }
-
-
-    public String getElementType() {
-        return elementType;
-    }
-
-    public void setElementType(String elementType) {
-        this.elementType = elementType;
-    }
-
-    public Class getClazz() {
-        return clazz;
-    }
-
-    public void setClazz(Class clazz) {
-        this.clazz = clazz;
-    }
-}
index 138629b..393f678 100644 (file)
 
 package org.openecomp.sdc.asdctool.impl.validator;
 
-import static org.mockito.Mockito.mock;
-
-import java.util.ArrayList;
-import java.util.LinkedList;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.openecomp.sdc.asdctool.impl.validator.executor.IArtifactValidatorExecutor;
 import org.openecomp.sdc.asdctool.impl.validator.executor.NodeToscaArtifactsValidatorExecutor;
 import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
 
-public class ArtifactToolBLTest {
+import java.util.ArrayList;
+import java.util.List;
 
-    private ArtifactToolBL createTestSubject() {
-        return new ArtifactToolBL(new ArrayList<>());
-    }
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.mockito.Mockito.mock;
 
-    //Generated test
-    @Test(expected = NullPointerException.class)
+public class ArtifactToolBLTest {
+
+    @Test
     public void testValidateAll() {
         JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
         ToscaOperationFacade toscaOperationFacade = mock(ToscaOperationFacade.class);
 
-        ArtifactToolBL testSubject = createTestSubject();
-        testSubject.validators = new LinkedList<>();
-        testSubject.validators.add(new NodeToscaArtifactsValidatorExecutor(janusGraphDaoMock, toscaOperationFacade));
+        List<IArtifactValidatorExecutor> validators = new ArrayList<>();
+        validators.add(new NodeToscaArtifactsValidatorExecutor(janusGraphDaoMock, toscaOperationFacade));
+        ArtifactToolBL testSubject = new ArtifactToolBL(validators);
+
         // 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);
+        assertThrows(
+                NullPointerException.class,
+                () -> testSubject.validateAll(null)
+        );
     }
 }
index 74a252c..b62be60 100644 (file)
 
 package org.openecomp.sdc.asdctool.impl.validator;
 
-import org.junit.Test;
-import org.openecomp.sdc.asdctool.impl.validator.executor.ServiceValidatorExecutor;
+import org.junit.jupiter.api.Test;
+import org.openecomp.sdc.asdctool.impl.validator.executor.TopologyTemplateValidatorExecutor;
+import org.openecomp.sdc.asdctool.impl.validator.executor.ValidatorExecutor;
 import org.openecomp.sdc.asdctool.impl.validator.report.Report;
 import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
 
-import static org.openecomp.sdc.asdctool.impl.validator.report.ReportFile.makeTxtFile;
-import static org.openecomp.sdc.asdctool.impl.validator.report.ReportFileWriterTestFactory.makeConsoleWriter;
-
 import java.util.ArrayList;
-import java.util.LinkedList;
+import java.util.List;
 
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.Mockito.mock;
+import static org.openecomp.sdc.asdctool.impl.validator.report.ReportFile.makeTxtFile;
+import static org.openecomp.sdc.asdctool.impl.validator.report.ReportFileWriterTestFactory.makeConsoleWriter;
 
 public class ValidationToolBLTest {
 
-    private ValidationToolBL createTestSubject() {
-        return new ValidationToolBL(new ArrayList<>());
-    }
-
-    @Test(expected = NullPointerException.class)
+    @Test
     public void testValidateAll() {
         JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
-        ValidationToolBL testSubject = createTestSubject();
-        testSubject.validators = new LinkedList<>();
-        testSubject.validators.add(new ServiceValidatorExecutor(janusGraphDaoMock));
+
+        List<ValidatorExecutor> validators = new ArrayList<>();
+        validators.add(TopologyTemplateValidatorExecutor.serviceValidatorExecutor(janusGraphDaoMock));
+        ValidationToolBL testSubject = new ValidationToolBL(validators);
+
         Report report = Report.make();
-        testSubject.validateAll(report, makeTxtFile(makeConsoleWriter()));
+        assertThrows(
+                NullPointerException.class,
+                () -> testSubject.validateAll(report, makeTxtFile(makeConsoleWriter()))
+        );
     }
 }
index 47798f6..9efd4c4 100644 (file)
@@ -25,9 +25,7 @@ import org.openecomp.sdc.asdctool.impl.validator.ArtifactToolBL;
 import org.openecomp.sdc.asdctool.impl.validator.ValidationToolBL;
 import org.openecomp.sdc.asdctool.impl.validator.executor.NodeToscaArtifactsValidatorExecutor;
 import org.openecomp.sdc.asdctool.impl.validator.executor.ServiceToscaArtifactsValidatorExecutor;
-import org.openecomp.sdc.asdctool.impl.validator.executor.ServiceValidatorExecutor;
 import org.openecomp.sdc.asdctool.impl.validator.executor.VFToscaArtifactValidatorExecutor;
-import org.openecomp.sdc.asdctool.impl.validator.executor.VfValidatorExecutor;
 import org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts.ArtifactValidationUtils;
 import org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts.ServiceArtifactValidationTask;
 import org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts.VfArtifactValidationTask;
@@ -56,13 +54,9 @@ public class ValidationToolConfigurationTest {
 
        @Test
        public void testBasicServiceValidator() {
-               ValidationToolConfiguration testSubject;
-               ServiceValidatorExecutor result;
+               ValidationToolConfiguration testSubject = createTestSubject();
                JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
-
-               // default test
-               testSubject = createTestSubject();
-               result = testSubject.basicServiceValidator(janusGraphDaoMock);
+               testSubject.basicServiceValidator(janusGraphDaoMock);
        }
 
        @Test
@@ -110,13 +104,9 @@ public class ValidationToolConfigurationTest {
 
        @Test
        public void testBasicVfValidator() {
-               ValidationToolConfiguration testSubject;
-               VfValidatorExecutor result;
+               ValidationToolConfiguration testSubject = createTestSubject();
                JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
-
-               // default test
-               testSubject = createTestSubject();
-               result = testSubject.basicVfValidator(new ArrayList<>(), janusGraphDaoMock);
+               testSubject.basicVfValidator(new ArrayList<>(), janusGraphDaoMock);
        }
 
        @Test
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/ServiceValidatorExecutorTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/ServiceValidatorExecutorTest.java
deleted file mode 100644 (file)
index 4888f42..0000000
+++ /dev/null
@@ -1,32 +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.executor;
-
-import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
-
-public class ServiceValidatorExecutorTest
-    implements ValidatorExecutorContract, TopologyTemplateValidatorExecutorContract {
-
-    @Override
-    public ServiceValidatorExecutor createTestSubject(JanusGraphDao dao) {
-        return new ServiceValidatorExecutor(dao);
-    }
-}
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/TopologyTemplateValidatorExecutorContract.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/TopologyTemplateValidatorExecutorContract.java
deleted file mode 100644 (file)
index 8817826..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*-
- * ============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.executor;
-
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.mockito.Mockito.mock;
-import static org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum.PRODUCT;
-
-import org.junit.jupiter.api.Test;
-import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
-
-public interface TopologyTemplateValidatorExecutorContract {
-
-    TopologyTemplateValidatorExecutor createTestSubject(JanusGraphDao dao);
-
-    @Test
-    default void testGetVerticesToValidate() {
-        JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
-        TopologyTemplateValidatorExecutor testSubject = createTestSubject(janusGraphDaoMock);
-        assertThrows(NullPointerException.class,
-            () -> testSubject.getVerticesToValidate(PRODUCT));
-    }
-}
  */
 package org.openecomp.sdc.asdctool.impl.validator.executor;
 
+import org.junit.jupiter.api.Test;
+import org.openecomp.sdc.asdctool.impl.validator.report.Report;
+import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
+
+import java.util.ArrayList;
+import java.util.function.Function;
+
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.Mockito.mock;
+import static org.openecomp.sdc.asdctool.impl.validator.executor.TopologyTemplateValidatorExecutor.vfValidatorExecutor;
 import static org.openecomp.sdc.asdctool.impl.validator.report.ReportFile.makeTxtFile;
 import static org.openecomp.sdc.asdctool.impl.validator.report.ReportFileWriterTestFactory.makeConsoleWriter;
 
-import org.junit.jupiter.api.Test;
-import org.openecomp.sdc.asdctool.impl.validator.report.Report;
-import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
-
-public interface ValidatorExecutorContract {
+public final class ValidatorExecutorTest {
 
-    ValidatorExecutor createTestSubject(JanusGraphDao dao);
+    @Test
+    public void executeValidationsWithServiceValidator() {
+        testExecuteValidations(TopologyTemplateValidatorExecutor::serviceValidatorExecutor);
+    }
 
     @Test
-    default void testExecuteValidations() {
+    public void executeValidationsWithVFValidator() {
+        testExecuteValidations(dao -> vfValidatorExecutor(new ArrayList<>(), dao));
+    }
+
+    private void testExecuteValidations(Function<JanusGraphDao, ValidatorExecutor> factory) {
         Report report = Report.make();
         JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
         assertThrows(NullPointerException.class, () ->
-            createTestSubject(janusGraphDaoMock).executeValidations(report, makeTxtFile(makeConsoleWriter()))
+            factory.apply(janusGraphDaoMock).executeValidations(report, makeTxtFile(makeConsoleWriter()))
         );
     }
 }
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/VfValidatorExecutorTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/VfValidatorExecutorTest.java
deleted file mode 100644 (file)
index 85bf4bc..0000000
+++ /dev/null
@@ -1,33 +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.executor;
-
-import java.util.ArrayList;
-import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
-
-public class VfValidatorExecutorTest
-    implements ValidatorExecutorContract, TopologyTemplateValidatorExecutorContract {
-
-    @Override
-    public VfValidatorExecutor createTestSubject(JanusGraphDao dao) {
-        return new VfValidatorExecutor(new ArrayList<>(), dao);
-    }
-}
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ElementTypeEnumTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ElementTypeEnumTest.java
deleted file mode 100644 (file)
index 317932d..0000000
+++ /dev/null
@@ -1,97 +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.utils;
-
-import org.junit.Test;
-
-import java.util.List;
-
-
-public class ElementTypeEnumTest {
-
-       private ElementTypeEnum createTestSubject() {
-               return  ElementTypeEnum.VF;
-               }
-
-       
-       @Test
-       public void testGetByType() {
-               String elementType = "";
-               ElementTypeEnum result;
-
-               // default test
-               result = ElementTypeEnum.getByType(elementType);
-               result = ElementTypeEnum.getByType(ElementTypeEnum.VF.getElementType());
-       }
-
-       
-       @Test
-       public void testGetAllTypes() {
-               List<String> result;
-
-               // default test
-               result = ElementTypeEnum.getAllTypes();
-       }
-
-       
-       @Test
-       public void testGetElementType() {
-               ElementTypeEnum testSubject;
-               String result;
-
-               // default test
-               testSubject = createTestSubject();
-               result = testSubject.getElementType();
-       }
-
-       
-       @Test
-       public void testSetElementType() {
-               ElementTypeEnum testSubject;
-               String elementType = "";
-
-               // default test
-               testSubject = createTestSubject();
-               testSubject.setElementType(elementType);
-       }
-
-       
-       @Test
-       public void testGetClazz() {
-               ElementTypeEnum testSubject;
-               Class result;
-
-               // default test
-               testSubject = createTestSubject();
-               result = testSubject.getClazz();
-       }
-
-       
-       @Test
-       public void testSetClazz() {
-               ElementTypeEnum testSubject;
-               Class clazz = null;
-
-               // default test
-               testSubject = createTestSubject();
-               testSubject.setClazz(clazz);
-       }
-}