Adding unit tests 54/118254/6
authorxuegao <xue.gao@intl.att.com>
Tue, 23 Feb 2021 15:16:42 +0000 (16:16 +0100)
committerChristophe Closset <christophe.closset@intl.att.com>
Fri, 26 Feb 2021 17:03:37 +0000 (17:03 +0000)
Adding unit tests to improve test coverage.

Issue-ID: SDC-3428
Change-Id: I64ed1937fb95b16f8af2df20aa10a6d7c45e42e8
Signed-off-by: xuegao <xue.gao@intl.att.com>
catalog-dao/src/main/java/org/openecomp/sdc/be/resources/data/auditing/model/ResourceCommonInfo.java
catalog-model/src/main/java/org/openecomp/sdc/be/model/tosca/converters/ToscaValueBaseConverter.java
catalog-model/src/test/java/org/openecomp/sdc/be/model/tosca/converters/ToscaValueBaseConverterTest.java [new file with mode: 0644]
common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/datatypes/model/NodeTemplateTest.java
common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/services/YamlUtilTest.java [new file with mode: 0644]
common/onap-tosca-datatype/src/test/resources/yamlList.yaml [new file with mode: 0644]
common/onap-tosca-datatype/src/test/resources/yamlListError.yaml [new file with mode: 0644]
common/onap-tosca-datatype/src/test/resources/yamlMap.yaml [new file with mode: 0644]

index 58226a9..4ca585c 100644 (file)
 
 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;
-    }
-
 }
index fd987e8..366acd3 100644 (file)
@@ -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 (file)
index 0000000..0923f8e
--- /dev/null
@@ -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);
+    }
+}
index e265d4b..3f8e100 100644 (file)
@@ -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 (file)
index 0000000..562b208
--- /dev/null
@@ -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 (file)
index 0000000..0880d7d
--- /dev/null
@@ -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 (file)
index 0000000..1cc8353
--- /dev/null
@@ -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 (file)
index 0000000..d4a07a8
--- /dev/null
@@ -0,0 +1,3 @@
+parameter1: value1
+parameter2: value2
+parameter3: value3
\ No newline at end of file