diff options
author | xuegao <xue.gao@intl.att.com> | 2021-02-23 16:16:42 +0100 |
---|---|---|
committer | Christophe Closset <christophe.closset@intl.att.com> | 2021-02-26 17:03:37 +0000 |
commit | 43b49025fd8f2cdcbbcaf436fb1c5dfabbaa4855 (patch) | |
tree | 34becd0c9d52ff8436e77be37f595059e9e20ebc /common/onap-tosca-datatype | |
parent | 5d760031d3aeecff297c6141adfe5d7490cdcbb9 (diff) |
Adding unit tests
Adding unit tests to improve test coverage.
Issue-ID: SDC-3428
Change-Id: I64ed1937fb95b16f8af2df20aa10a6d7c45e42e8
Signed-off-by: xuegao <xue.gao@intl.att.com>
Diffstat (limited to 'common/onap-tosca-datatype')
5 files changed, 180 insertions, 11 deletions
diff --git a/common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/datatypes/model/NodeTemplateTest.java b/common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/datatypes/model/NodeTemplateTest.java index e265d4bd8b..3f8e100147 100644 --- a/common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/datatypes/model/NodeTemplateTest.java +++ b/common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/datatypes/model/NodeTemplateTest.java @@ -14,6 +14,7 @@ * limitations under the License. * * Modifications copyright (c) 2019 Nokia + * Modifications copyright (c) 2021 AT&T Intellectual Property */ package org.onap.sdc.tosca.datatypes.model; @@ -21,10 +22,14 @@ package org.onap.sdc.tosca.datatypes.model; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; import java.util.Map; -import org.junit.Assert; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import org.junit.jupiter.api.Test; import org.onap.sdc.tosca.services.ToscaExtensionYamlUtil; import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanEqualsExcluding; @@ -70,7 +75,7 @@ public class NodeTemplateTest { String expectedServiceTemplate = toscaExtensionYamlUtil.objectToYaml(expectedServiceTemplateFromYaml); String actualServiceTemplate = toscaExtensionYamlUtil.objectToYaml(serviceTemplateForUpdate); - Assert.assertEquals(expectedServiceTemplate, actualServiceTemplate); + assertEquals(expectedServiceTemplate, actualServiceTemplate); } @Test @@ -88,6 +93,85 @@ public class NodeTemplateTest { assertThat(NodeTemplate.class, hasValidBeanHashCodeExcluding("requirements", "normalizeInterfaces")); } + @Test + public void setRequirementsTest() throws IOException { + ServiceTemplate serviceTemplateForUpdate = getServiceTemplate(INTERFACE_DEFINITION_FOR_UPD); + NodeTemplate nodeTemplate = + serviceTemplateForUpdate.getTopology_template().getNode_templates().get(NODE_WITH_INTERFACE); + nodeTemplate.addInterface(INTERFACE_KEY, createInterfaceDefinitionTemplate()); + + List<RequirementAssignment> requirementAssignmentList = new LinkedList<>(); + RequirementAssignment requirement1 = new RequirementAssignment(); + requirement1.setNode("node1"); + requirement1.setCapability("cap1"); + requirementAssignmentList.add(requirement1); + nodeTemplate.setRequirements(requirementAssignmentList); + + List<Map<String, RequirementAssignment>> res = nodeTemplate.getRequirements(); + assertNotNull(res); + assertEquals(res.size(), 0); + + RequirementAssignment requirement2 = new RequirementAssignment(); + requirement2.setNode("node2"); + requirement2.setCapability("cap2"); + HashMap<String, RequirementAssignment> map = new HashMap<>(); + map.put("value2", requirement2); + nodeTemplate.addRequirements(map); + List<Map<String, RequirementAssignment>> res2 = nodeTemplate.getRequirements(); + assertNotNull(res2); + assertEquals(res2.size(), 1); + assertEquals(res2.get(0).get("value2"), requirement2); + } + + @Test + public void addInterfaceTest() throws IOException { + ServiceTemplate serviceTemplateForUpdate = getServiceTemplate(INTERFACE_DEFINITION_FOR_UPD); + NodeTemplate nodeTemplate = + serviceTemplateForUpdate.getTopology_template().getNode_templates().get(NODE_WITH_INTERFACE); + nodeTemplate.addInterface(INTERFACE_KEY, createInterfaceDefinitionTemplate()); + + Map<String, Object> res = nodeTemplate.getInterfaces(); + assertEquals(res.size(), 2); + assertNotNull(res.get("Standard")); + assertNotNull(res.get(INTERFACE_KEY)); + } + + @Test + public void cloneTest() throws IOException { + ServiceTemplate serviceTemplateForUpdate = getServiceTemplate(INTERFACE_DEFINITION_FOR_UPD); + NodeTemplate nodeTemplate = + serviceTemplateForUpdate.getTopology_template().getNode_templates().get(NODE_WITH_INTERFACE); + + NodeTemplate res = nodeTemplate.clone(); + assertEquals(res, nodeTemplate); + } + + @Test + public void convertToscaRequirementAssignmentTest() throws IOException { + List<?> requirementAssignmentObj = new LinkedList<>(); + List<Map<String, RequirementAssignment>> res = NodeTemplate.convertToscaRequirementAssignment(requirementAssignmentObj); + assertNull(res); + + Map<String, Object> map = new HashMap<>(); + map.put("value1", new RequirementAssignment()); + Map<String, Object> requirementMap = new HashMap<>(); + requirementMap.put("capability", "capabilityValue"); + requirementMap.put("node", "nodeValue"); + requirementMap.put("relationship", "relationshipValue"); + requirementMap.put("node_filter", new NodeFilter()); + Object[] objectArr = {}; + requirementMap.put("occurrences", objectArr); + map.put("value2", requirementMap); + ((List<Map<String, Object>>)requirementAssignmentObj).add(map); + List<Map<String, RequirementAssignment>> res2 = NodeTemplate.convertToscaRequirementAssignment(requirementAssignmentObj); + assertNotNull(res2); + assertEquals(res2.size(), 2); + assertEquals(res2.get(0).get("value2").getNode(), "nodeValue"); + assertEquals(res2.get(0).get("value2").getCapability(), "capabilityValue"); + assertEquals(res2.get(0).get("value2").getRelationship(), "relationshipValue"); + assertEquals(res2.get(0).get("value2").getOccurrences().length, 0 ); + } + private InterfaceDefinitionTemplate createInterfaceDefinitionTemplate() { InterfaceDefinitionTemplate interfaceDefinitionTemplate = new InterfaceDefinitionTemplate(); interfaceDefinitionTemplate.setInputs(new HashMap<>()); @@ -110,16 +194,16 @@ public class NodeTemplateTest { } protected InterfaceDefinitionTemplate chkData(Map<String, InterfaceDefinitionTemplate> normalizeInterfaces) { - Assert.assertNotNull(normalizeInterfaces); + assertNotNull(normalizeInterfaces); InterfaceDefinitionTemplate interfaceDefinitionTemplate = normalizeInterfaces.get(STANDARD_INTERFACE_KEY); - Assert.assertNotNull(interfaceDefinitionTemplate); - Assert.assertNotNull(interfaceDefinitionTemplate.getInputs()); - Assert.assertEquals(1, interfaceDefinitionTemplate.getInputs().size()); - Assert.assertNotNull(interfaceDefinitionTemplate.getOperations()); - Assert.assertEquals(1, interfaceDefinitionTemplate.getOperations().size()); + assertNotNull(interfaceDefinitionTemplate); + assertNotNull(interfaceDefinitionTemplate.getInputs()); + assertEquals(1, interfaceDefinitionTemplate.getInputs().size()); + assertNotNull(interfaceDefinitionTemplate.getOperations()); + assertEquals(1, interfaceDefinitionTemplate.getOperations().size()); OperationDefinitionTemplate createOperation = interfaceDefinitionTemplate.getOperations().get(CREATE_OPER); - Assert.assertNotNull(createOperation); - Assert.assertNotNull(createOperation.getInputs()); + assertNotNull(createOperation); + assertNotNull(createOperation.getInputs()); return interfaceDefinitionTemplate; } diff --git a/common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/services/YamlUtilTest.java b/common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/services/YamlUtilTest.java new file mode 100644 index 0000000000..562b208bde --- /dev/null +++ b/common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/services/YamlUtilTest.java @@ -0,0 +1,80 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2021 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.onap.sdc.tosca.services; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import org.junit.jupiter.api.Test; + +import java.io.InputStream; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; + + +public class YamlUtilTest { + + private YamlUtil yamlUtil = new YamlUtil(); + + @Test + public void testYamlToMap() { + InputStream is = yamlUtil.loadYamlFileIs("/yamlMap.yaml"); + Map<String, LinkedHashMap<String, Object>> res = yamlUtil.yamlToMap(is); + assertNotNull(res); + assertEquals(res.size(), 3); + assertEquals(res.get("parameter1"), "value1"); + assertEquals(res.get("parameter2"), "value2"); + assertEquals(res.get("parameter3"), "value3"); + } + + @Test + public void testYamlToList() { + InputStream is = yamlUtil.loadYamlFileIs("/yamlList.yaml"); + Optional<List<Object>> res = yamlUtil.yamlToList(is); + assertEquals(res.get().size(), 3); + assertEquals(res.get().get(0), "value1"); + + InputStream is2 = yamlUtil.loadYamlFileIs("/yamlListError.yaml"); + Optional<List<Object>> res2 = yamlUtil.yamlToList(is2); + assertTrue(res2.isEmpty()); + } + + @Test + public void testIsYamlFileContentValid() { + String yamlString = "tosca_definitions_version: tosca_simple_yaml_1_1\n" + + "imports: []\n" + + "node_types:\n" + + " tosca.nodes.Root:\n" + + " description: The TOSCA Node Type all other TOSCA base Node Types derive from"; + boolean res = yamlUtil.isYamlFileContentValid(yamlString); + assertTrue(res); + + String yamlString2 = "{tosca_definitions_version: tosca_simple_yaml_1_1\n" + + "node_types:\n" + + " tosca.nodes.Root:\n" + + " description: The TOSCA Node Type all other TOSCA base Node Types derive from}"; + boolean res2 = yamlUtil.isYamlFileContentValid(yamlString2); + assertFalse(res2); + } +}
\ No newline at end of file diff --git a/common/onap-tosca-datatype/src/test/resources/yamlList.yaml b/common/onap-tosca-datatype/src/test/resources/yamlList.yaml new file mode 100644 index 0000000000..0880d7db1c --- /dev/null +++ b/common/onap-tosca-datatype/src/test/resources/yamlList.yaml @@ -0,0 +1 @@ +[value1, value2, value3]
\ No newline at end of file diff --git a/common/onap-tosca-datatype/src/test/resources/yamlListError.yaml b/common/onap-tosca-datatype/src/test/resources/yamlListError.yaml new file mode 100644 index 0000000000..1cc8353ed1 --- /dev/null +++ b/common/onap-tosca-datatype/src/test/resources/yamlListError.yaml @@ -0,0 +1 @@ +parameter1: value1, value2, value3
\ No newline at end of file diff --git a/common/onap-tosca-datatype/src/test/resources/yamlMap.yaml b/common/onap-tosca-datatype/src/test/resources/yamlMap.yaml new file mode 100644 index 0000000000..d4a07a82a5 --- /dev/null +++ b/common/onap-tosca-datatype/src/test/resources/yamlMap.yaml @@ -0,0 +1,3 @@ +parameter1: value1 +parameter2: value2 +parameter3: value3
\ No newline at end of file |