Add test contracts for ValidatorExecutor and TopologyTemplateValidatorExecutor 92/109892/3
authorFrancis Toth <francis.toth@yoppworks.com>
Tue, 7 Jul 2020 11:24:48 +0000 (07:24 -0400)
committerFrancis Toth <francis.toth@yoppworks.com>
Tue, 7 Jul 2020 11:31:31 +0000 (07:31 -0400)
Signed-off-by: Francis Toth <francis.toth@yoppworks.com>
Change-Id: I10f0de565588e0bc7cd0f47ba7f714eab3f1f7f7
Issue-ID: SDC-2499

asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executor/ServiceValidatorExecutor.java
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
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/ServiceValidatorExecutorTest.java
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/TopologyTemplateValidatorExecutorContract.java [moved from asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/TopologyTemplateValidatorExecutorTest.java with 50% similarity]
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/ValidatorExecutorContract.java [new file with mode: 0644]
asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/VfValidatorExecutorTest.java

index ff27b66..27bcd1f 100644 (file)
@@ -39,8 +39,7 @@ public class ServiceValidatorExecutor extends TopologyTemplateValidatorExecutor
 
     @Autowired(required = false)
     public ServiceValidatorExecutor(JanusGraphDao janusGraphDao) {
-        super(janusGraphDao);
-        setName("SERVICE_VALIDATOR");
+        super(janusGraphDao, "SERVICE_VALIDATOR");
     }
 
     @Override
index 9ba2f5a..95a9fce 100644 (file)
@@ -27,6 +27,7 @@ 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;
@@ -39,29 +40,21 @@ 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;
 
 public class TopologyTemplateValidatorExecutor {
 
     private static final Logger log = Logger.getLogger(VfValidatorExecutor.class);
 
-    protected JanusGraphDao janusGraphDao;
+    private final JanusGraphDao janusGraphDao;
 
-    protected String name;
+    @Getter
+    private final String name;
 
-    @Autowired
-    public TopologyTemplateValidatorExecutor(JanusGraphDao janusGraphDao) {
+    public TopologyTemplateValidatorExecutor(JanusGraphDao janusGraphDao, String name) {
         this.janusGraphDao = janusGraphDao;
-    }
-
-    public void setName(String name) {
         this.name = name;
     }
 
-    public String getName() {
-        return name;
-    }
-
     protected List<GraphVertex> getVerticesToValidate(ComponentTypeEnum type) {
         Map<GraphPropertyEnum, Object> props = new EnumMap<>(GraphPropertyEnum.class);
         props.put(GraphPropertyEnum.COMPONENT_TYPE, type.name());
index 4729e63..f8aaf54 100644 (file)
@@ -36,9 +36,8 @@ public class VfValidatorExecutor extends TopologyTemplateValidatorExecutor imple
 
     @Autowired(required = false)
     public VfValidatorExecutor(List<VfValidationTask> tasks, JanusGraphDao janusGraphDao) {
-        super(janusGraphDao);
+        super(janusGraphDao, "BASIC_VF_VALIDATOR");
         this.tasks = tasks;
-        setName("BASIC_VF_VALIDATOR");
     }
 
     @Override
index bc0eb25..4888f42 100644 (file)
 
 package org.openecomp.sdc.asdctool.impl.validator.executor;
 
-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;
-
-import org.junit.Test;
-import org.openecomp.sdc.asdctool.impl.validator.report.Report;
 import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
 
-public class ServiceValidatorExecutorTest {
-
-    private ServiceValidatorExecutor createTestSubject() {
-        JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
-        return new ServiceValidatorExecutor(janusGraphDaoMock);
-    }
-
-    @Test
-    public void testGetName() {
-        createTestSubject().getName();
-    }
+public class ServiceValidatorExecutorTest
+    implements ValidatorExecutorContract, TopologyTemplateValidatorExecutorContract {
 
-    @Test(expected = NullPointerException.class)
-    public void testExecuteValidations() {
-        Report report = Report.make();
-        createTestSubject().executeValidations(report, makeTxtFile(makeConsoleWriter()));
+    @Override
+    public ServiceValidatorExecutor createTestSubject(JanusGraphDao dao) {
+        return new ServiceValidatorExecutor(dao);
     }
 }
@@ -2,14 +2,14 @@
  * ============LICENSE_START=======================================================
  * SDC
  * ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * 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.
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.asdctool.impl.validator.executor;
 
-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.datatypes.enums.ComponentTypeEnum;
-
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.Mockito.mock;
+import static org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum.PRODUCT;
 
-public class TopologyTemplateValidatorExecutorTest {
-
-       private TopologyTemplateValidatorExecutor createTestSubject() {
-               JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
-               return new TopologyTemplateValidatorExecutor(janusGraphDaoMock);
-       }
-
-       @Test
-       public void testSetName() {
-               TopologyTemplateValidatorExecutor testSubject;
-               String name = "";
-
-               // default test
-               testSubject = createTestSubject();
-               testSubject.setName(name);
-       }
-
-       @Test
-       public void testGetName() {
-               TopologyTemplateValidatorExecutor testSubject;
-               String result;
+import org.junit.jupiter.api.Test;
+import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
 
-               // default test
-               testSubject = createTestSubject();
-               result = testSubject.getName();
-       }
+public interface TopologyTemplateValidatorExecutorContract {
 
-       @Test
-       public void testGetVerticesToValidate() {
-               TopologyTemplateValidatorExecutor testSubject;
+    TopologyTemplateValidatorExecutor createTestSubject(JanusGraphDao dao);
 
-               // default test
-               testSubject = createTestSubject();
-               Assertions.assertThrows(NullPointerException.class, () -> testSubject.getVerticesToValidate(ComponentTypeEnum.PRODUCT));
-       }
+    @Test
+    default void testGetVerticesToValidate() {
+        JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
+        TopologyTemplateValidatorExecutor testSubject = createTestSubject(janusGraphDaoMock);
+        assertThrows(NullPointerException.class,
+            () -> testSubject.getVerticesToValidate(PRODUCT));
+    }
 }
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/ValidatorExecutorContract.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/ValidatorExecutorContract.java
new file mode 100644 (file)
index 0000000..de1f049
--- /dev/null
@@ -0,0 +1,43 @@
+/*-
+ * ============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.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 {
+
+    ValidatorExecutor createTestSubject(JanusGraphDao dao);
+
+    @Test
+    default void testExecuteValidations() {
+        Report report = Report.make();
+        JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
+        assertThrows(NullPointerException.class, () ->
+            createTestSubject(janusGraphDaoMock).executeValidations(report, makeTxtFile(makeConsoleWriter()))
+        );
+    }
+}
index c40f660..85bf4bc 100644 (file)
 
 package org.openecomp.sdc.asdctool.impl.validator.executor;
 
-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;
-
 import java.util.ArrayList;
-import java.util.List;
-import org.junit.Test;
-import org.openecomp.sdc.asdctool.impl.validator.report.Report;
-import org.openecomp.sdc.asdctool.impl.validator.tasks.VfValidationTask;
 import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
 
-public class VfValidatorExecutorTest {
-
-    private VfValidatorExecutor createTestSubject() {
-        List<VfValidationTask> validationTasks = new ArrayList<>();
-        JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
-
-        return new VfValidatorExecutor(validationTasks, janusGraphDaoMock);
-    }
-
-    @Test
-    public void testGetName() {
-        createTestSubject().getName();
-    }
+public class VfValidatorExecutorTest
+    implements ValidatorExecutorContract, TopologyTemplateValidatorExecutorContract {
 
-    @Test(expected = NullPointerException.class)
-    public void testExecuteValidations() {
-        Report report = Report.make();
-        createTestSubject().executeValidations(report, makeTxtFile(makeConsoleWriter()));
+    @Override
+    public VfValidatorExecutor createTestSubject(JanusGraphDao dao) {
+        return new VfValidatorExecutor(new ArrayList<>(), dao);
     }
 }