aboutsummaryrefslogtreecommitdiffstats
path: root/bpmn/so-bpmn-tasks
diff options
context:
space:
mode:
Diffstat (limited to 'bpmn/so-bpmn-tasks')
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericCDSProcessingBB.java4
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericPnfCDSControllerRunnableBB.java4
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/vfmodule/CreateVFModule.java6
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java35
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java12
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java19
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/aai/mapper/AAIObjectMapper.java2
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericCDSProcessingBBTest.java4
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java4
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java2
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java42
11 files changed, 111 insertions, 23 deletions
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericCDSProcessingBB.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericCDSProcessingBB.java
index d78b7c3af0..1fae5ce06c 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericCDSProcessingBB.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericCDSProcessingBB.java
@@ -84,7 +84,7 @@ public class GenericCDSProcessingBB implements ControllerRunnable<BuildingBlockE
@Override
public void run(ControllerContext<BuildingBlockExecution> context) {
BuildingBlockExecution obj = context.getExecution();
- cdsDispather.constructExecutionServiceInputObject(obj);
- cdsDispather.sendRequestToCDSClient(obj);
+ cdsDispather.constructExecutionServiceInputObjectBB(obj);
+ cdsDispather.sendRequestToCDSClientBB(obj);
}
}
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericPnfCDSControllerRunnableBB.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericPnfCDSControllerRunnableBB.java
index 3b81d52703..fe6d9de199 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericPnfCDSControllerRunnableBB.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericPnfCDSControllerRunnableBB.java
@@ -94,8 +94,8 @@ public class GenericPnfCDSControllerRunnableBB implements ControllerRunnable<Bui
@Override
public void run(ControllerContext<BuildingBlockExecution> controllerContext) {
BuildingBlockExecution buildingBlockExecution = controllerContext.getExecution();
- abstractCDSProcessingBBUtils.constructExecutionServiceInputObject(buildingBlockExecution);
- abstractCDSProcessingBBUtils.sendRequestToCDSClient(buildingBlockExecution);
+ abstractCDSProcessingBBUtils.constructExecutionServiceInputObjectBB(buildingBlockExecution);
+ abstractCDSProcessingBBUtils.sendRequestToCDSClientBB(buildingBlockExecution);
}
private AbstractCDSPropertiesBean prepareAndSetCdsPropertyBean(BuildingBlockExecution buildingBlockExecution) {
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/vfmodule/CreateVFModule.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/vfmodule/CreateVFModule.java
index f7c42b97e9..b706be92cb 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/vfmodule/CreateVFModule.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/vfmodule/CreateVFModule.java
@@ -44,7 +44,11 @@ public class CreateVFModule {
CloudInformation cloudInformation = new CloudInformation();
cloudInformation.setOwner(gBBInput.getCloudRegion().getCloudOwner());
cloudInformation.setRegionId(gBBInput.getCloudRegion().getLcpCloudRegionId());
- cloudInformation.setTenantId(gBBInput.getTenant().getTenantId());
+ String tenantId = gBBInput.getTenant().getTenantId();
+ if (tenantId == null) {
+ tenantId = gBBInput.getCloudRegion().getTenantId();
+ }
+ cloudInformation.setTenantId(tenantId);
cloudInformation.setTenantName(gBBInput.getTenant().getTenantName());
cloudInformation.setTenantContext(gBBInput.getTenant().getTenantContext());
cloudInformation.setTemplateInstanceId(execution.getVariable("heatStackId"));
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java
index 0f955e2851..7c4f735577 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java
@@ -30,6 +30,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -88,6 +89,7 @@ import org.onap.so.serviceinstancebeans.ModelType;
import org.onap.so.serviceinstancebeans.Networks;
import org.onap.so.serviceinstancebeans.Pnfs;
import org.onap.so.serviceinstancebeans.RelatedInstance;
+import org.onap.so.serviceinstancebeans.RelatedInstanceList;
import org.onap.so.serviceinstancebeans.RequestDetails;
import org.onap.so.serviceinstancebeans.Service;
import org.onap.so.serviceinstancebeans.ServiceInstancesRequest;
@@ -566,6 +568,20 @@ public class WorkflowAction {
} else {
vfModuleCustomizationUUID = aaiVfModule.getModelCustomizationId();
}
+ String replaceVfModuleCustomizationUUID = "";
+ String replaceVnfModuleCustomizationUUID = "";
+ boolean isReplace = false;
+ if (dataObj.getRequestAction().equalsIgnoreCase("replaceInstance")
+ || dataObj.getRequestAction().equalsIgnoreCase("replaceInstanceRetainAssignments")) {
+ for (RelatedInstanceList relatedInstList : dataObj.getRequestDetails().getRelatedInstanceList()) {
+ RelatedInstance relatedInstance = relatedInstList.getRelatedInstance();
+ if (relatedInstance.getModelInfo().getModelType().equals(ModelType.vnf)) {
+ replaceVnfModuleCustomizationUUID = relatedInstance.getModelInfo().getModelCustomizationId();
+ }
+ }
+ replaceVfModuleCustomizationUUID = dataObj.getRequestDetails().getModelInfo().getModelCustomizationId();
+ isReplace = true;
+ }
List<org.onap.aai.domain.yang.Vnfc> vnfcs =
getRelatedResourcesInVfModule(vnfId, vfModuleId, org.onap.aai.domain.yang.Vnfc.class, Types.VNFC);
@@ -579,9 +595,19 @@ public class WorkflowAction {
}
workflowIdsCopy.setConfigurationId(configuration.getConfigurationId());
for (OrchestrationFlow orchFlow : result) {
- dataObj.getResourceKey().setVfModuleCustomizationId(vfModuleCustomizationUUID);
+ if (!isReplace) {
+ dataObj.getResourceKey().setVfModuleCustomizationId(vfModuleCustomizationUUID);
+ dataObj.getResourceKey().setVnfCustomizationId(vnfCustomizationUUID);
+ } else {
+ if (orchFlow.getFlowName().contains("Delete")) {
+ dataObj.getResourceKey().setVfModuleCustomizationId(vfModuleCustomizationUUID);
+ dataObj.getResourceKey().setVnfCustomizationId(vnfCustomizationUUID);
+ } else {
+ dataObj.getResourceKey().setVfModuleCustomizationId(replaceVfModuleCustomizationUUID);
+ dataObj.getResourceKey().setVnfCustomizationId(replaceVnfModuleCustomizationUUID);
+ }
+ }
dataObj.getResourceKey().setCvnfModuleCustomizationId(vnfc.getModelCustomizationId());
- dataObj.getResourceKey().setVnfCustomizationId(vnfCustomizationUUID);
String vnfcName = vnfc.getVnfcName();
if (vnfcName == null || vnfcName.isEmpty()) {
buildAndThrowException(dataObj.getExecution(), "Exception in create execution list "
@@ -1638,8 +1664,11 @@ public class WorkflowAction {
execution.setVariable(BBConstants.G_ISTOPLEVELFLOW, northBoundRequest.getIsToplevelflow());
}
List<OrchestrationFlow> flows = northBoundRequest.getOrchestrationFlowList();
- if (flows == null)
+ if (flows == null) {
flows = new ArrayList<>();
+ } else {
+ flows.sort(Comparator.comparingInt(OrchestrationFlow::getSequenceNumber));
+ }
for (OrchestrationFlow flow : flows) {
if (!flow.getFlowName().contains("BB") && !flow.getFlowName().contains("Activity")) {
List<OrchestrationFlow> macroQueryFlows =
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java
index f0898ace81..0cb8fb2ccd 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java
@@ -103,7 +103,6 @@ public class WorkflowActionBBTasks {
(List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
execution.setVariable("MacroRollback", false);
- flowManipulatorListenerRunner.modifyFlows(flowsToExecute, new DelegateExecutionImpl(execution));
int currentSequence = (int) execution.getVariable(G_CURRENT_SEQUENCE);
ExecuteBuildingBlock ebb = flowsToExecute.get(currentSequence);
@@ -114,6 +113,12 @@ public class WorkflowActionBBTasks {
execution.setVariable(G_CURRENT_SEQUENCE, currentSequence);
}
+ public void runFlowManipulator(DelegateExecution execution) {
+ List<ExecuteBuildingBlock> flowsToExecute =
+ (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
+ flowManipulatorListenerRunner.modifyFlows(flowsToExecute, new DelegateExecutionImpl(execution));
+ }
+
public void updateFlowStatistics(DelegateExecution execution) {
try {
int currentSequence = (int) execution.getVariable(G_CURRENT_SEQUENCE);
@@ -414,9 +419,12 @@ public class WorkflowActionBBTasks {
String handlingCode = (String) execution.getVariable(HANDLINGCODE);
final boolean aLaCarte = (boolean) execution.getVariable(G_ALACARTE);
int currentSequence = (int) execution.getVariable(G_CURRENT_SEQUENCE);
+ String requestAction = (String) execution.getVariable(G_ACTION);
ExecuteBuildingBlock ebb = flowsToExecute.get(currentSequence - 1);
String bbFlowName = ebb.getBuildingBlock().getBpmnFlowName();
- if ("ActivateVfModuleBB".equalsIgnoreCase(bbFlowName) && aLaCarte && "Success".equalsIgnoreCase(handlingCode)) {
+ if ("ActivateVfModuleBB".equalsIgnoreCase(bbFlowName) && aLaCarte && "Success".equalsIgnoreCase(handlingCode)
+ && !(requestAction.equalsIgnoreCase("replaceInstance")
+ || requestAction.equalsIgnoreCase("replaceInstanceRetainAssignments"))) {
postProcessingExecuteBBActivateVfModule(execution, ebb, flowsToExecute);
}
}
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java
index 2119ced951..42aab4c16e 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java
@@ -52,6 +52,8 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator {
private Set<String> pnfActions =
new HashSet<>(Arrays.asList("config-assign", "config-deploy", "PnfConfigAssign", "PnfConfigDeploy"));
+ private static final String COMPLETED = "completed";
+
@Override
public boolean shouldRunFor(String currentBBName, boolean isFirst, BuildingBlockExecution execution) {
@@ -70,6 +72,7 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator {
public void run(List<ExecuteBuildingBlock> flowsToExecute, ExecuteBuildingBlock currentBB,
BuildingBlockExecution execution) {
String customizationUUID = currentBB.getBuildingBlock().getKey();
+ int flowsToExecuteSize = flowsToExecute.size();
if (Strings.isEmpty(customizationUUID)) {
return;
@@ -85,7 +88,7 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator {
vnfResourceCustomizations);
if (null != vrc) {
boolean skipConfigVNF = vrc.isSkipPostInstConf();
- currentSequenceSkipCheck(execution, skipConfigVNF);
+ currentSequenceSkipCheck(execution, skipConfigVNF, flowsToExecuteSize);
}
}
@@ -97,7 +100,7 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator {
if (null != vfc) {
boolean skipVfModule = vfc.isSkipPostInstConf();
- currentSequenceSkipCheck(execution, skipVfModule);
+ currentSequenceSkipCheck(execution, skipVfModule, flowsToExecuteSize);
}
} else if (currentBB.getBuildingBlock().getBpmnScope().equalsIgnoreCase("PNF")
@@ -107,7 +110,7 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator {
if (null != pnfResourceCustomization) {
boolean skipConfigPNF = pnfResourceCustomization.isSkipPostInstConf();
- currentSequenceSkipCheck(execution, skipConfigPNF);
+ currentSequenceSkipCheck(execution, skipConfigPNF, flowsToExecuteSize);
}
}
}
@@ -118,10 +121,16 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator {
}
- private void currentSequenceSkipCheck(BuildingBlockExecution execution, boolean skipModule) {
+ private void currentSequenceSkipCheck(BuildingBlockExecution execution, boolean skipModule,
+ int flowsToExecuteSize) {
if (skipModule) {
int currentSequence = execution.getVariable(BBConstants.G_CURRENT_SEQUENCE);
- execution.setVariable(BBConstants.G_CURRENT_SEQUENCE, currentSequence + 1);
+ currentSequence++;
+ if (currentSequence >= flowsToExecuteSize) {
+ execution.setVariable(COMPLETED, true);
+ } else {
+ execution.setVariable(BBConstants.G_CURRENT_SEQUENCE, currentSequence);
+ }
}
}
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/aai/mapper/AAIObjectMapper.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/aai/mapper/AAIObjectMapper.java
index 614401d32a..9899d89b5e 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/aai/mapper/AAIObjectMapper.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/aai/mapper/AAIObjectMapper.java
@@ -52,7 +52,7 @@ import org.springframework.stereotype.Component;
@Component
public class AAIObjectMapper {
- private static final ModelMapper modelMapper = new ModelMapper();
+ private final ModelMapper modelMapper = new ModelMapper();
public org.onap.aai.domain.yang.ServiceInstance mapServiceInstance(ServiceInstance serviceInstance) {
if (modelMapper.getTypeMap(ServiceInstance.class, org.onap.aai.domain.yang.ServiceInstance.class) == null) {
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericCDSProcessingBBTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericCDSProcessingBBTest.java
index 24bbc78afb..e360dc7c42 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericCDSProcessingBBTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericCDSProcessingBBTest.java
@@ -102,8 +102,8 @@ public class GenericCDSProcessingBBTest extends BaseTaskTest {
AbstractCDSPropertiesBean cdsBean = prepareCDSBean();
doReturn(cdsBean).when(generatePayloadForCds).buildCdsPropertiesBean(buildingBlockExecution);
- doNothing().when(cdsDispather).constructExecutionServiceInputObject(buildingBlockExecution);
- doNothing().when(cdsDispather).sendRequestToCDSClient(buildingBlockExecution);
+ doNothing().when(cdsDispather).constructExecutionServiceInputObjectBB(buildingBlockExecution);
+ doNothing().when(cdsDispather).sendRequestToCDSClientBB(buildingBlockExecution);
// when
Boolean isUnderstandable = controllerRunnable.understand(controllerContext);
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java
index 3290bb3dce..b0358c51f0 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java
@@ -41,7 +41,6 @@ import org.onap.aai.domain.yang.ServiceInstance;
import org.onap.aai.domain.yang.VfModule;
import org.onap.aai.domain.yang.VolumeGroup;
import org.onap.so.bpmn.BaseTaskTest;
-import org.onap.so.bpmn.common.listener.flowmanipulator.FlowManipulatorListenerRunner;
import org.onap.so.bpmn.core.WorkflowException;
import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock;
import org.onap.so.bpmn.servicedecomposition.entities.ConfigurationResourceKeys;
@@ -90,9 +89,6 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest {
@Mock
protected Environment environment;
- @Mock
- private FlowManipulatorListenerRunner flowManipulatorListenerRunner;
-
@Rule
public ExpectedException thrown = ExpectedException.none();
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java
index 53d1bea1f2..50ff074866 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java
@@ -3110,9 +3110,11 @@ public class WorkflowActionTest extends BaseTaskTest {
private List<OrchestrationFlow> createFlowList(String... flowNames) {
List<OrchestrationFlow> result = new ArrayList<>();
+ int sequenceNumber = 1;
for (String flowName : flowNames) {
OrchestrationFlow orchFlow = new OrchestrationFlow();
orchFlow.setFlowName(flowName);
+ orchFlow.setSequenceNumber(sequenceNumber++);
result.add(orchFlow);
}
return result;
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java
index fdf4d36c89..1d68cf0adb 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java
@@ -55,10 +55,10 @@ public class SkipCDSBuildingBlockListenerTest {
private static final String PNFModule_TEST_ACTION = "config-assign";
private static final String MODELCUSTOMIZATIONUUID = "123456789";
private static final String BBNAME = "ControllerExecutionBB";
+ private static final String COMPLETED = "completed";
private static final boolean ISFIRST = true;
private int actual;
- private List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
private List<VnfResourceCustomization> vnfResourceCustomization;
private List<VfModuleCustomization> vfModuleCustomization;
private ExecuteBuildingBlock executeBuildingBlock = new ExecuteBuildingBlock();
@@ -91,6 +91,9 @@ public class SkipCDSBuildingBlockListenerTest {
@Test
public void testProcessForVNFToSkipCDSBB() {
+ List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
+ flowsToExecute.add(executeBuildingBlock);
+ flowsToExecute.add(new ExecuteBuildingBlock());
// given
setBuildingBlockAndCurrentSequence(VNF_SCOPE, VNF_TEST_ACTION, 0);
vnfResourceCustomization = getVnfResourceCustomizationList(true);
@@ -112,6 +115,9 @@ public class SkipCDSBuildingBlockListenerTest {
@Test
public void testProcessForVNFNotToSkipCDSBB() {
+ List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
+ flowsToExecute.add(executeBuildingBlock);
+ flowsToExecute.add(new ExecuteBuildingBlock());
// given
setBuildingBlockAndCurrentSequence(VNF_SCOPE, VNF_TEST_ACTION, 0);
vnfResourceCustomization = getVnfResourceCustomizationList(false);
@@ -134,6 +140,9 @@ public class SkipCDSBuildingBlockListenerTest {
@Test
public void testProcessForVFToSkipCDSBB() {
+ List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
+ flowsToExecute.add(executeBuildingBlock);
+ flowsToExecute.add(new ExecuteBuildingBlock());
// given
setBuildingBlockAndCurrentSequence(VF_SCOPE, VFModule_TEST_ACTION, 0);
vfModuleCustomization = getVfModuleCustomizationList(true);
@@ -153,6 +162,9 @@ public class SkipCDSBuildingBlockListenerTest {
@Test
public void testProcessForVFNotToSkipCDSBB() {
+ List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
+ flowsToExecute.add(executeBuildingBlock);
+ flowsToExecute.add(new ExecuteBuildingBlock());
// given
setBuildingBlockAndCurrentSequence(VF_SCOPE, VFModule_TEST_ACTION, 0);
vfModuleCustomization = getVfModuleCustomizationList(false);
@@ -172,6 +184,9 @@ public class SkipCDSBuildingBlockListenerTest {
@Test
public void testProcessForPNFToSkipCDSBB() {
+ List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
+ flowsToExecute.add(executeBuildingBlock);
+ flowsToExecute.add(new ExecuteBuildingBlock());
// given
setBuildingBlockAndCurrentSequence(PNF_SCOPE, PNFModule_TEST_ACTION, 0);
pnfResourceCustomization = getPnfResourceCustomization(true);
@@ -190,7 +205,32 @@ public class SkipCDSBuildingBlockListenerTest {
}
@Test
+ public void testProcessForPNFToSkipCDSBBLastBBInList() {
+ List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
+ flowsToExecute.add(executeBuildingBlock);
+ // given
+ setBuildingBlockAndCurrentSequence(PNF_SCOPE, PNFModule_TEST_ACTION, 0);
+ pnfResourceCustomization = getPnfResourceCustomization(true);
+
+ when(catalogDbClient
+ .getPnfResourceCustomizationByModelCustomizationUUID(executeBuildingBlock.getBuildingBlock().getKey()))
+ .thenReturn(pnfResourceCustomization);
+
+ // when
+ skipCDSBuildingBlockListener.run(flowsToExecute, executeBuildingBlock, buildingBlockExecution);
+
+ // then
+ actual = buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE);
+ boolean isCompleted = buildingBlockExecution.getVariable(COMPLETED);
+ assertEquals(true, isCompleted);
+ assertEquals(0, actual);
+ }
+
+ @Test
public void testProcessForPNFNotToSkipCDSBB() {
+ List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
+ flowsToExecute.add(executeBuildingBlock);
+ flowsToExecute.add(new ExecuteBuildingBlock());
// given
setBuildingBlockAndCurrentSequence(PNF_SCOPE, PNFModule_TEST_ACTION, 0);
pnfResourceCustomization = getPnfResourceCustomization(false);