Fix Integer cast exception in getResourceInput 05/76105/1 so-1408
authorsubhash kumar singh <subhash.kumar.singh@huawei.com>
Tue, 22 Jan 2019 08:57:55 +0000 (14:27 +0530)
committersubhash kumar singh <subhash.kumar.singh@huawei.com>
Tue, 22 Jan 2019 08:57:55 +0000 (14:27 +0530)
Fix Integer cast exception in getResourceInput.

Change-Id: I2022ec07fe12bfe1764f734f1776f6bd32143b84
Issue-ID: SO-1408
Signed-off-by: subhash kumar singh <subhash.kumar.singh@huawei.com>
asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java
asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInputTest.java

index b3fda73..aa1e1a8 100644 (file)
@@ -425,7 +425,7 @@ public class ToscaResourceInstaller {
                                if(input.getName().equals(inputName)) {
                                        // keep both input name and default value
                                        // if service input does not supplies value the use default value
-                                       String defaultValue = input.getDefault() != null ? (String) input.getDefault() : "";
+                                       String defaultValue = input.getDefault() != null ? (String) input.getDefault().toString() : "";
                                        output =  inputName + "|" + defaultValue;// return default value
                                }
                        }
index e738235..bc9275b 100644 (file)
@@ -133,4 +133,53 @@ public class ToscaResourceInputTest {
         String resourceInput = toscaResourceInstaller.getResourceInput(toscaResourceStructure, "id1");
         assertEquals("{\\\"prop1\\\":\\\"res_key|default_value\\\"}", resourceInput);
     }
+
+    @Test
+    public void resouceInputGetInputDefaultIntegerTest() throws ArtifactInstallerException {
+        ToscaResourceInstaller toscaResourceInstaller = new ToscaResourceInstaller();
+        ToscaResourceStructure toscaResourceStructure = new ToscaResourceStructure();
+
+        toscaResourceStructure.setSdcCsarHelper(sdcCsarHelper);
+
+        HashMap hashMap = new HashMap();
+        hashMap.put("customizationUUID", "id1");
+        Metadata metadata = new Metadata(hashMap);
+
+        LinkedHashMap propertyMap = new LinkedHashMap();
+        propertyMap.put("prop1", property);
+
+        when(sdcCsarHelper.getServiceNodeTemplates()).thenReturn(Arrays.asList(nodeTemplate));
+        when(sdcCsarHelper.getServiceInputs()).thenReturn(Arrays.asList(input));
+        when(nodeTemplate.getMetaData()).thenReturn(metadata);
+        when(nodeTemplate.getProperties()).thenReturn(propertyMap);
+        when(property.getValue()).thenReturn(getInput);
+        when(getInput.getInputName()).thenReturn("res_key");
+        when(input.getName()).thenReturn("res_key");
+        when(input.getDefault()).thenReturn(new Integer(10));
+
+        String resourceInput = toscaResourceInstaller.getResourceInput(toscaResourceStructure, "id1");
+        assertEquals("{\\\"prop1\\\":\\\"res_key|10\\\"}", resourceInput);
+    }
+
+    @Test
+    public void resouceInputGetInputNoPropertyTest() throws ArtifactInstallerException {
+        ToscaResourceInstaller toscaResourceInstaller = new ToscaResourceInstaller();
+        ToscaResourceStructure toscaResourceStructure = new ToscaResourceStructure();
+
+        toscaResourceStructure.setSdcCsarHelper(sdcCsarHelper);
+
+        HashMap hashMap = new HashMap();
+        hashMap.put("customizationUUID", "id1");
+        Metadata metadata = new Metadata(hashMap);
+
+        LinkedHashMap propertyMap = new LinkedHashMap();
+
+        when(sdcCsarHelper.getServiceNodeTemplates()).thenReturn(Arrays.asList(nodeTemplate));
+        when(sdcCsarHelper.getServiceInputs()).thenReturn(Arrays.asList(input));
+        when(nodeTemplate.getMetaData()).thenReturn(metadata);
+        when(nodeTemplate.getProperties()).thenReturn(propertyMap);
+
+        String resourceInput = toscaResourceInstaller.getResourceInput(toscaResourceStructure, "id1");
+        assertEquals("{}", resourceInput);
+    }
 }