Fix macro flow resource blocks processing order
[so.git] / bpmn / so-bpmn-tasks / src / test / java / org / onap / so / bpmn / infrastructure / workflow / tasks / ebb / loader / UserParamsServiceTraversalTest.java
index 9f4bd97..58fee86 100644 (file)
@@ -59,6 +59,7 @@ import static org.mockito.Mockito.mock;
 public class UserParamsServiceTraversalTest extends BaseTaskTest {
 
     private static final String MACRO_ASSIGN_JSON = "Macro/ServiceMacroAssign.json";
+    private static final String MACRO_CREATE_JSON = "Macro/ServiceMacroAssignVnfAndPnf.json";
     private static final String MACRO_ASSIGN_PNF_JSON = "Macro/ServiceMacroAssignPnf.json";
     private static final String NETWORK_COLLECTION_JSON = "Macro/CreateNetworkCollection.json";
     private static final String MACRO_CREATE_WITHOUT_RESOURCES_JSON = "Macro/ServiceMacroCreateWithoutResources.json";
@@ -113,6 +114,26 @@ public class UserParamsServiceTraversalTest extends BaseTaskTest {
         assertThat(expected, is(result));
     }
 
+    @Test
+    public void getResourceListFromUserParamsForVnfsWithPriorities() throws Exception {
+        initExecution(requestAction, readBpmnRequestFromFile(MACRO_CREATE_JSON), false);
+        Mockito.doReturn(getVfModuleCustomization()).when(mockCatalogDbClient)
+                .getVfModuleCustomizationByModelCuztomizationUUID("a25e8e8c-58b8-4eec-810c-97dcc1f5cb7f");
+        Mockito.doReturn(getCvnfcCustomizations()).when(mockCatalogDbClient).getCvnfcCustomization(anyString(),
+                anyString(), anyString());
+
+        List<Resource> resourceListFromUserParams = userParamsServiceTraversal.getResourceListFromUserParams(execution,
+                getUserParams(), serviceInstanceId, requestAction);
+        List<WorkflowType> expected = List.of(WorkflowType.SERVICE, WorkflowType.VNF, WorkflowType.VOLUMEGROUP,
+                WorkflowType.VFMODULE, WorkflowType.CONFIGURATION, WorkflowType.PNF);
+        List<WorkflowType> result =
+                resourceListFromUserParams.stream().map(Resource::getResourceType).collect(Collectors.toList());
+
+        assertEquals(6, resourceListFromUserParams.size());
+        assertThat(expected, is(result));
+        assertEquals(2, resourceListFromUserParams.get(1).getChildren().get(1).getProcessingPriority());
+    }
+
     @Test
     public void getResourceListFromUserParamsForPnfs() throws Exception {
         initExecution(requestAction, readBpmnRequestFromFile(MACRO_ASSIGN_PNF_JSON), false);