Multiple PNFs with same ModelInfo but different instance name not able to be instantiated
[so.git] / bpmn / so-bpmn-tasks / src / test / java / org / onap / so / bpmn / infrastructure / workflow / tasks / ebb / loader / UserParamsServiceTraversalTest.java
index cac7f87..cf6588e 100644 (file)
@@ -66,6 +66,7 @@ public class UserParamsServiceTraversalTest extends BaseTaskTest {
     private static final String MACRO_CREATE_WITHOUT_RESOURCES_JSON = "Macro/ServiceMacroCreateWithoutResources.json";
     private static final String MACRO_CREATE_SVC_SAME_MODEL_VNF_VFMODULE =
             "Macro/ServiceMacroCreateMultipleSameModelVnfsAndVfModules.json";
+    private static final String MACRO_CREATE_SVC_SAME_MODEL_PNF = "Macro/ServiceMacroCreateMultipleSameModelPnfs.json";
     private static final String serviceInstanceId = "123";
     private DelegateExecution execution;
     private CatalogDbClient mockCatalogDbClient;
@@ -148,6 +149,30 @@ public class UserParamsServiceTraversalTest extends BaseTaskTest {
         assertEquals("83677d89-428a-407b-b4ec-738e68275d84", vfmodule4.getResourceId());
     }
 
+    @Test
+    public void getResourceListFromUserParamsMultiplePnfs() throws Exception {
+        initExecution("createInstance", readBpmnRequestFromFile(MACRO_CREATE_SVC_SAME_MODEL_PNF), false);
+
+        List<Resource> resourceListFromUserParams = userParamsServiceTraversal.getResourceListFromUserParams(execution,
+                getUserParams(), serviceInstanceId, requestAction);
+
+        assertEquals(3, resourceListFromUserParams.size());
+
+        Resource service = resourceListFromUserParams.get(0);
+        assertTrue(service.getResourceType() == WorkflowType.SERVICE);
+        assertEquals(2, service.getChildren().size());
+
+        Resource pnf1 = service.getChildren().get(0);
+        assertEquals(service, pnf1.getParent());
+        assertEquals("ORAN_SIM1_2106_pnf_01", pnf1.getInstanceName());
+        assertEquals("88a3096a-af87-4853-99f6-7256a9ab6c3e", pnf1.getResourceId());
+
+        Resource pnf2 = service.getChildren().get(1);
+        assertEquals(service, pnf2.getParent());
+        assertEquals("ORAN_SIM1_2106_pnf_02", pnf2.getInstanceName());
+        assertEquals("88a3096a-af87-4853-99f6-7256a9ab6c3e", pnf2.getResourceId());
+    }
+
     @Test
     public void getResourceListFromUserParamsForVnfs() throws Exception {
         initExecution(requestAction, readBpmnRequestFromFile(MACRO_ASSIGN_JSON), false);