Add test contracts for ValidatorExecutor and TopologyTemplateValidatorExecutor
Signed-off-by: Francis Toth <francis.toth@yoppworks.com>
Change-Id: I10f0de565588e0bc7cd0f47ba7f714eab3f1f7f7
Issue-ID: SDC-2499
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
index ff27b66..27bcd1f 100644
--- 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
@@ -39,8 +39,7 @@
@Autowired(required = false)
public ServiceValidatorExecutor(JanusGraphDao janusGraphDao) {
- super(janusGraphDao);
- setName("SERVICE_VALIDATOR");
+ super(janusGraphDao, "SERVICE_VALIDATOR");
}
@Override
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executor/TopologyTemplateValidatorExecutor.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executor/TopologyTemplateValidatorExecutor.java
index 9ba2f5a..95a9fce 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executor/TopologyTemplateValidatorExecutor.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executor/TopologyTemplateValidatorExecutor.java
@@ -27,6 +27,7 @@
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.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());
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
index 4729e63..f8aaf54 100644
--- 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
@@ -36,9 +36,8 @@
@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
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
index bc0eb25..4888f42 100644
--- 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
@@ -20,29 +20,13 @@
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 {
+public class ServiceValidatorExecutorTest
+ implements ValidatorExecutorContract, TopologyTemplateValidatorExecutorContract {
- private ServiceValidatorExecutor createTestSubject() {
- JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
- return new ServiceValidatorExecutor(janusGraphDaoMock);
- }
-
- @Test
- public void testGetName() {
- createTestSubject().getName();
- }
-
- @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);
}
}
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
new file mode 100644
index 0000000..8817826
--- /dev/null
+++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/TopologyTemplateValidatorExecutorContract.java
@@ -0,0 +1,40 @@
+/*-
+ * ============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));
+ }
+}
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/TopologyTemplateValidatorExecutorTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/TopologyTemplateValidatorExecutorTest.java
deleted file mode 100644
index 57e99c3..0000000
--- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/TopologyTemplateValidatorExecutorTest.java
+++ /dev/null
@@ -1,65 +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.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.mockito.Mockito.mock;
-
-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;
-
- // default test
- testSubject = createTestSubject();
- result = testSubject.getName();
- }
-
- @Test
- public void testGetVerticesToValidate() {
- TopologyTemplateValidatorExecutor testSubject;
-
- // default test
- testSubject = createTestSubject();
- Assertions.assertThrows(NullPointerException.class, () -> testSubject.getVerticesToValidate(ComponentTypeEnum.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
index 0000000..de1f049
--- /dev/null
+++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executor/ValidatorExecutorContract.java
@@ -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()))
+ );
+ }
+}
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
index c40f660..85bf4bc 100644
--- 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
@@ -20,34 +20,14 @@
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 {
+public class VfValidatorExecutorTest
+ implements ValidatorExecutorContract, TopologyTemplateValidatorExecutorContract {
- private VfValidatorExecutor createTestSubject() {
- List<VfValidationTask> validationTasks = new ArrayList<>();
- JanusGraphDao janusGraphDaoMock = mock(JanusGraphDao.class);
-
- return new VfValidatorExecutor(validationTasks, janusGraphDaoMock);
- }
-
- @Test
- public void testGetName() {
- createTestSubject().getName();
- }
-
- @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);
}
}