Keep DeleteFabricConfigurationBB 60/110460/1
authorKuleshov, Elena <evn@att.com>
Wed, 22 Jul 2020 16:05:33 +0000 (12:05 -0400)
committerBenjamin, Max (mb388a) <mb388a@att.com>
Wed, 22 Jul 2020 16:05:34 +0000 (12:05 -0400)
Keep DeleteFabricConfigurationBB in rollbackToCreated scenario.

Issue-ID: SO-3094
Signed-off-by: Benjamin, Max (mb388a) <mb388a@att.com>
Change-Id: Ifb8e6eed8f732ba6278aa75dd38a89936a2356a5

bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java

index 343b25e..155011e 100644 (file)
@@ -334,6 +334,7 @@ public class WorkflowActionBBTasks {
                             && !rollbackFlow.getBuildingBlock().getBpmnFlowName().contains("FabricConfiguration")) {
                         rollbackFlowsFiltered.remove(rollbackFlow);
                     } else if (rollbackFlow.getBuildingBlock().getBpmnFlowName().contains("Delete")
+                            && !rollbackFlow.getBuildingBlock().getBpmnFlowName().contains("FabricConfiguration")
                             && ROLLBACKTOCREATED.equals(handlingCode)) {
                         rollbackFlowsFiltered.remove(rollbackFlow);
                     }
index 1aa7640..70b10c5 100644 (file)
@@ -399,6 +399,42 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest {
 
     }
 
+    @Test
+    public void rollbackExecutionRollbackToCreatedWithFabricTest() {
+        execution.setVariable("isRollback", false);
+        execution.setVariable("handlingCode", "RollbackToCreated");
+        execution.setVariable("requestAction", EMPTY_STRING);
+        execution.setVariable("resourceName", EMPTY_STRING);
+        List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
+
+        BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignVfModuleBB");
+        ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
+        flowsToExecute.add(ebb1);
+
+        BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateVfModuleBB");
+        ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
+        flowsToExecute.add(ebb2);
+
+        BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
+        ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
+        flowsToExecute.add(ebb3);
+
+        BuildingBlock buildingBlock4 = new BuildingBlock().setBpmnFlowName("AddFabricConfigurationBB");
+        ExecuteBuildingBlock ebb4 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock4);
+        flowsToExecute.add(ebb4);
+
+        execution.setVariable("flowsToExecute", flowsToExecute);
+        execution.setVariable("gCurrentSequence", 4);
+
+        workflowActionBBTasks.rollbackExecutionPath(execution);
+        List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
+        assertEquals(0, execution.getVariable("gCurrentSequence"));
+        assertEquals(2, ebbs.size());
+        assertEquals("DeleteFabricConfigurationBB", ebbs.get(0).getBuildingBlock().getBpmnFlowName());
+        assertEquals("DeactivateVfModuleBB", ebbs.get(1).getBuildingBlock().getBpmnFlowName());
+
+    }
+
     @Test
     public void rollbackExecutionRollbackToCreatedTest() {
         execution.setVariable("isRollback", false);