From 43b49025fd8f2cdcbbcaf436fb1c5dfabbaa4855 Mon Sep 17 00:00:00 2001 From: xuegao Date: Tue, 23 Feb 2021 16:16:42 +0100 Subject: [PATCH] Adding unit tests Adding unit tests to improve test coverage. Issue-ID: SDC-3428 Change-Id: I64ed1937fb95b16f8af2df20aa10a6d7c45e42e8 Signed-off-by: xuegao --- .../data/auditing/model/ResourceCommonInfo.java | 29 ++---- .../tosca/converters/ToscaValueBaseConverter.java | 14 ++- .../converters/ToscaValueBaseConverterTest.java | 73 ++++++++++++++ .../tosca/datatypes/model/NodeTemplateTest.java | 106 ++++++++++++++++++--- .../org/onap/sdc/tosca/services/YamlUtilTest.java | 80 ++++++++++++++++ .../src/test/resources/yamlList.yaml | 1 + .../src/test/resources/yamlListError.yaml | 1 + .../src/test/resources/yamlMap.yaml | 3 + 8 files changed, 268 insertions(+), 39 deletions(-) create mode 100644 catalog-model/src/test/java/org/openecomp/sdc/be/model/tosca/converters/ToscaValueBaseConverterTest.java create mode 100644 common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/services/YamlUtilTest.java create mode 100644 common/onap-tosca-datatype/src/test/resources/yamlList.yaml create mode 100644 common/onap-tosca-datatype/src/test/resources/yamlListError.yaml create mode 100644 common/onap-tosca-datatype/src/test/resources/yamlMap.yaml diff --git a/catalog-dao/src/main/java/org/openecomp/sdc/be/resources/data/auditing/model/ResourceCommonInfo.java b/catalog-dao/src/main/java/org/openecomp/sdc/be/resources/data/auditing/model/ResourceCommonInfo.java index 58226a994b..4ca585ccc1 100644 --- a/catalog-dao/src/main/java/org/openecomp/sdc/be/resources/data/auditing/model/ResourceCommonInfo.java +++ b/catalog-dao/src/main/java/org/openecomp/sdc/be/resources/data/auditing/model/ResourceCommonInfo.java @@ -20,32 +20,21 @@ package org.openecomp.sdc.be.resources.data.auditing.model; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@NoArgsConstructor +@AllArgsConstructor +@Getter +@Setter public class ResourceCommonInfo { private String resourceName; private String resourceType; - public ResourceCommonInfo(){} - - public ResourceCommonInfo(String resourceName, String resourceType) { - this.resourceName = resourceName; - this.resourceType = resourceType; - } - public ResourceCommonInfo(String resourceType) { this.resourceType = resourceType; } - - public String getResourceName() { - return resourceName; - } - - public String getResourceType() { - return resourceType; - } - - public void setResourceName(String resourceName) { - this.resourceName = resourceName; - } - } diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/tosca/converters/ToscaValueBaseConverter.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/tosca/converters/ToscaValueBaseConverter.java index fd987e8c9c..366acd3e77 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/tosca/converters/ToscaValueBaseConverter.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/tosca/converters/ToscaValueBaseConverter.java @@ -151,14 +151,12 @@ public class ToscaValueBaseConverter { * @param convertedValue * @return */ - static public boolean isEmptyObjectValue(Object convertedValue) { - if (convertedValue == null) { - return true; - } else if (convertedValue instanceof String && ((String) convertedValue).isEmpty()) { - return true; - } else if (convertedValue instanceof Map && ((Map) convertedValue).isEmpty()) { - return true; - } else if (convertedValue instanceof List && ((List) convertedValue).isEmpty()) { + public static boolean isEmptyObjectValue(Object convertedValue) { + if ((convertedValue == null) + || (convertedValue instanceof String && ((String) convertedValue).isEmpty()) + || (convertedValue instanceof Map && ((Map) convertedValue).isEmpty()) + || (convertedValue instanceof List && ((List) convertedValue).isEmpty())) + { return true; } return false; diff --git a/catalog-model/src/test/java/org/openecomp/sdc/be/model/tosca/converters/ToscaValueBaseConverterTest.java b/catalog-model/src/test/java/org/openecomp/sdc/be/model/tosca/converters/ToscaValueBaseConverterTest.java new file mode 100644 index 0000000000..0923f8e49f --- /dev/null +++ b/catalog-model/src/test/java/org/openecomp/sdc/be/model/tosca/converters/ToscaValueBaseConverterTest.java @@ -0,0 +1,73 @@ +/*- + * ============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.openecomp.sdc.be.model.tosca.converters; + +import com.google.gson.JsonPrimitive; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; +import org.junit.jupiter.api.Test; + + +import java.util.HashMap; +import java.util.LinkedList; + + +public class ToscaValueBaseConverterTest { + + private ToscaValueBaseConverter converter = new ToscaValueBaseConverter(); + + @Test + public void testJson2JavaPrimitive() throws Exception { + JsonPrimitive prim1 = new JsonPrimitive(Boolean.FALSE); + Object res1 = converter.json2JavaPrimitive(prim1); + assertFalse((Boolean)res1); + + JsonPrimitive prim2 = new JsonPrimitive("Test"); + Object res2 = converter.json2JavaPrimitive(prim2); + assertTrue(res2.equals("Test")); + + JsonPrimitive prim3 = new JsonPrimitive(3); + Object res3 = converter.json2JavaPrimitive(prim3); + assertTrue((Integer)res3 == 3); + + JsonPrimitive prim4 = new JsonPrimitive(3.6); + Object res4 = converter.json2JavaPrimitive(prim4); + assertTrue((Double)res4 == 3.6); + } + + @Test + public void testIsEmptyObjectValue() throws Exception { + boolean res1 = ToscaValueBaseConverter.isEmptyObjectValue(null); + assertTrue(res1); + + boolean res2 = ToscaValueBaseConverter.isEmptyObjectValue(""); + assertTrue(res2); + + boolean res3 = ToscaValueBaseConverter.isEmptyObjectValue(new HashMap<>()); + assertTrue(res3); + + boolean res4 = ToscaValueBaseConverter.isEmptyObjectValue(new LinkedList<>()); + assertTrue(res4); + + boolean res5 = ToscaValueBaseConverter.isEmptyObjectValue("test"); + assertFalse(res5); + } +} 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 requirementAssignmentList = new LinkedList<>(); + RequirementAssignment requirement1 = new RequirementAssignment(); + requirement1.setNode("node1"); + requirement1.setCapability("cap1"); + requirementAssignmentList.add(requirement1); + nodeTemplate.setRequirements(requirementAssignmentList); + + List> res = nodeTemplate.getRequirements(); + assertNotNull(res); + assertEquals(res.size(), 0); + + RequirementAssignment requirement2 = new RequirementAssignment(); + requirement2.setNode("node2"); + requirement2.setCapability("cap2"); + HashMap map = new HashMap<>(); + map.put("value2", requirement2); + nodeTemplate.addRequirements(map); + List> 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 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> res = NodeTemplate.convertToscaRequirementAssignment(requirementAssignmentObj); + assertNull(res); + + Map map = new HashMap<>(); + map.put("value1", new RequirementAssignment()); + Map 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>)requirementAssignmentObj).add(map); + List> 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 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> 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> res = yamlUtil.yamlToList(is); + assertEquals(res.get().size(), 3); + assertEquals(res.get().get(0), "value1"); + + InputStream is2 = yamlUtil.loadYamlFileIs("/yamlListError.yaml"); + Optional> 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 -- 2.16.6