2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 - 2018 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Modifications Copyright (c) 2020 Nokia
8 * ================================================================================
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 * ============LICENSE_END=========================================================
23 package org.onap.so.bpmn.infrastructure.workflow.tasks;
25 import org.camunda.bpm.engine.delegate.BpmnError;
26 import org.camunda.bpm.engine.delegate.DelegateExecution;
27 import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake;
28 import org.junit.Before;
29 import org.junit.Rule;
30 import org.junit.Test;
31 import org.junit.rules.ExpectedException;
32 import org.mockito.InjectMocks;
33 import org.mockito.Mock;
34 import org.mockito.Mockito;
35 import org.mockito.Spy;
36 import org.onap.aai.domain.yang.Configuration;
37 import org.onap.aai.domain.yang.GenericVnf;
38 import org.onap.aai.domain.yang.InstanceGroup;
39 import org.onap.aai.domain.yang.L3Network;
40 import org.onap.aai.domain.yang.ServiceInstance;
41 import org.onap.aai.domain.yang.VfModule;
42 import org.onap.aai.domain.yang.VolumeGroup;
43 import org.onap.so.bpmn.BaseTaskTest;
44 import org.onap.so.bpmn.common.listener.flowmanipulator.FlowManipulatorListenerRunner;
45 import org.onap.so.bpmn.core.WorkflowException;
46 import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock;
47 import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock;
48 import org.onap.so.db.catalog.beans.VnfResourceCustomization;
49 import org.onap.so.db.request.beans.InfraActiveRequests;
50 import org.onap.so.serviceinstancebeans.ModelInfo;
51 import org.onap.so.serviceinstancebeans.RequestDetails;
52 import org.springframework.core.env.Environment;
53 import java.util.ArrayList;
54 import java.util.List;
55 import java.util.Optional;
56 import static org.junit.Assert.assertEquals;
57 import static org.junit.Assert.assertTrue;
58 import static org.mockito.ArgumentMatchers.anyObject;
59 import static org.mockito.ArgumentMatchers.anyString;
60 import static org.mockito.ArgumentMatchers.isA;
61 import static org.mockito.Mockito.doNothing;
62 import static org.mockito.Mockito.doReturn;
63 import static org.mockito.Mockito.when;
65 public class WorkflowActionBBTasksTest extends BaseTaskTest {
67 private static final String SAMPLE_MSO_REQUEST_ID = "00f704ca-c5e5-4f95-a72c-6889db7b0688";
68 private static final String SAMPLE_REQUEST_ACTION = "Delete-Network-Collection";
69 private static final int SAMPLE_SEQUENCE = 0;
71 protected WorkflowAction workflowAction;
74 protected WorkflowActionBBFailure workflowActionBBFailure;
78 protected WorkflowActionBBTasks workflowActionBBTasks;
81 InfraActiveRequests reqMock;
83 private DelegateExecution execution;
86 protected Environment environment;
89 private FlowManipulatorListenerRunner flowManipulatorListenerRunner;
92 public ExpectedException thrown = ExpectedException.none();
95 public void before() throws Exception {
96 execution = new DelegateExecutionFake();
97 ServiceInstance servInstance = new ServiceInstance();
98 servInstance.setServiceInstanceId("TEST");
99 when(bbSetupUtils.getAAIServiceInstanceByName(anyString(), anyObject())).thenReturn(servInstance);
100 workflowAction.setBbInputSetupUtils(bbSetupUtils);
101 workflowAction.setBbInputSetup(bbInputSetup);
105 public void selectBBTest() {
106 String vnfCustomizationUUID = "1234567";
107 String modelUuid = "1234567";
108 prepareDelegateExecution();
109 List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
111 BuildingBlock buildingBlock =
112 new BuildingBlock().setBpmnFlowName("ConfigAssignVnfBB").setKey(vnfCustomizationUUID);
113 RequestDetails rd = new RequestDetails();
114 ModelInfo mi = new ModelInfo();
115 mi.setModelUuid(modelUuid);
117 ExecuteBuildingBlock ebb = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock).setRequestDetails(rd);
118 flowsToExecute.add(ebb);
120 List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList<>();
121 VnfResourceCustomization vrc = new VnfResourceCustomization();
122 vrc.setSkipPostInstConf(false);
123 vrc.setModelCustomizationUUID(vnfCustomizationUUID);
124 vnfResourceCustomizations.add(vrc);
125 GenericVnf genericVnf = new GenericVnf();
126 genericVnf.setModelCustomizationId(vnfCustomizationUUID);
127 doReturn(vnfResourceCustomizations).when(catalogDbClient).getVnfResourceCustomizationByModelUuid(modelUuid);
128 doReturn(vrc).when(catalogDbClient).findVnfResourceCustomizationInList(vnfCustomizationUUID,
129 vnfResourceCustomizations);
131 execution.setVariable("flowsToExecute", flowsToExecute);
132 workflowActionBBTasks.selectBB(execution);
133 boolean success = (boolean) execution.getVariable("completed");
134 int currentSequence = (int) execution.getVariable("gCurrentSequence");
136 assertEquals(1, currentSequence);
140 public void select2BBTest() {
141 String vnfCustomizationUUID = "1234567";
142 String modelUuid = "1234567";
144 prepareDelegateExecution();
145 List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
146 BuildingBlock buildingBlock =
147 new BuildingBlock().setBpmnFlowName("ConfigDeployVnfBB").setKey(vnfCustomizationUUID);
148 RequestDetails rd = new RequestDetails();
149 ModelInfo mi = new ModelInfo();
150 mi.setModelUuid(modelUuid);
152 ExecuteBuildingBlock ebb = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock).setRequestDetails(rd);
153 ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock();
155 flowsToExecute.add(ebb);
157 List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList<>();
158 VnfResourceCustomization vrc = new VnfResourceCustomization();
160 vrc.setSkipPostInstConf(false);
161 vrc.setModelCustomizationUUID(vnfCustomizationUUID);
162 vnfResourceCustomizations.add(vrc);
163 GenericVnf genericVnf = new GenericVnf();
164 genericVnf.setModelCustomizationId(vnfCustomizationUUID);
166 doReturn(vnfResourceCustomizations).when(catalogDbClient).getVnfResourceCustomizationByModelUuid(modelUuid);
167 doReturn(vrc).when(catalogDbClient).findVnfResourceCustomizationInList(vnfCustomizationUUID,
168 vnfResourceCustomizations);
170 flowsToExecute.add(ebb2);
171 execution.setVariable("flowsToExecute", flowsToExecute);
172 workflowActionBBTasks.selectBB(execution);
173 boolean success = (boolean) execution.getVariable("completed");
174 int currentSequence = (int) execution.getVariable("gCurrentSequence");
175 assertEquals(false, success);
176 assertEquals(1, currentSequence);
180 public void updateRequestStatusToCompleteTest() {
181 String reqId = "reqId123";
182 execution.setVariable("mso-request-id", reqId);
183 execution.setVariable("requestAction", "createInstance");
184 execution.setVariable("resourceName", "Service");
185 execution.setVariable("aLaCarte", true);
186 InfraActiveRequests req = new InfraActiveRequests();
187 doReturn(req).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
188 doNothing().when(requestsDbClient).updateInfraActiveRequests(isA(InfraActiveRequests.class));
189 workflowActionBBTasks.updateRequestStatusToComplete(execution);
190 assertEquals("ALaCarte-Service-createInstance request was executed correctly.",
191 execution.getVariable("finalStatusMessage"));
195 public void rollbackExecutionPathTest() {
196 execution.setVariable("handlingCode", "Rollback");
197 execution.setVariable("isRollback", false);
198 List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
199 BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignVfModuleBB");
200 ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
201 flowsToExecute.add(ebb1);
203 BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateVfModuleBB");
204 ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
205 flowsToExecute.add(ebb2);
207 BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
208 ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
209 flowsToExecute.add(ebb3);
211 execution.setVariable("flowsToExecute", flowsToExecute);
212 execution.setVariable("gCurrentSequence", 3);
213 doNothing().when(workflowActionBBFailure).updateRequestErrorStatusMessage(isA(DelegateExecution.class));
215 workflowActionBBTasks.rollbackExecutionPath(execution);
216 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
217 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(), "DeactivateVfModuleBB");
218 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(), "DeleteVfModuleBB");
219 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(), "UnassignVfModuleBB");
220 assertEquals(0, execution.getVariable("gCurrentSequence"));
224 public void rollbackExecutionPathUnfinishedFlowTest() {
225 execution.setVariable("handlingCode", "Rollback");
226 execution.setVariable("isRollback", false);
227 List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
228 BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignVfModuleBB");
229 ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
230 flowsToExecute.add(ebb1);
232 BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateVfModuleBB");
233 ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
234 flowsToExecute.add(ebb2);
236 BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
237 ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
238 flowsToExecute.add(ebb3);
240 execution.setVariable("flowsToExecute", flowsToExecute);
241 execution.setVariable("gCurrentSequence", 2);
242 doNothing().when(workflowActionBBFailure).updateRequestErrorStatusMessage(isA(DelegateExecution.class));
244 workflowActionBBTasks.rollbackExecutionPath(execution);
245 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
246 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(), "DeleteVfModuleBB");
247 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(), "UnassignVfModuleBB");
248 assertEquals(0, execution.getVariable("gCurrentSequence"));
249 assertEquals(0, execution.getVariable("retryCount"));
253 public void rollbackExecutionTest() {
254 execution.setVariable("handlingCode", "Rollback");
255 execution.setVariable("isRollback", false);
256 List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
257 BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignServiceInstanceBB");
258 ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
259 flowsToExecute.add(ebb1);
261 BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateNetworkCollectionBB");
262 ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
263 flowsToExecute.add(ebb2);
265 BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("AssignNetworkBB");
266 ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
267 flowsToExecute.add(ebb3);
269 BuildingBlock buildingBlock4 = new BuildingBlock().setBpmnFlowName("CreateNetworkBB");
270 ExecuteBuildingBlock ebb4 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock4);
271 flowsToExecute.add(ebb4);
273 execution.setVariable("flowsToExecute", flowsToExecute);
274 execution.setVariable("gCurrentSequence", 3);
275 doNothing().when(workflowActionBBFailure).updateRequestErrorStatusMessage(isA(DelegateExecution.class));
277 workflowActionBBTasks.rollbackExecutionPath(execution);
278 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
279 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(), "UnassignNetworkBB");
280 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(), "DeleteNetworkCollectionBB");
281 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(), "UnassignServiceInstanceBB");
282 assertEquals(0, execution.getVariable("gCurrentSequence"));
286 public void rollbackExecutionRollbackToAssignedTest() {
287 execution.setVariable("isRollback", false);
288 execution.setVariable("handlingCode", "RollbackToAssigned");
289 List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
291 BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignVfModuleBB");
292 ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
293 flowsToExecute.add(ebb1);
295 BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateVfModuleBB");
296 ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
297 flowsToExecute.add(ebb2);
299 BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
300 ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
301 flowsToExecute.add(ebb3);
303 execution.setVariable("flowsToExecute", flowsToExecute);
304 execution.setVariable("gCurrentSequence", 2);
306 workflowActionBBTasks.rollbackExecutionPath(execution);
307 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
308 assertEquals("DeleteVfModuleBB", ebbs.get(0).getBuildingBlock().getBpmnFlowName());
309 assertEquals(0, execution.getVariable("gCurrentSequence"));
310 assertEquals(1, ebbs.size());
314 public void rollbackExecutionRollbackToAssignedWithFabricTest() {
315 execution.setVariable("isRollback", false);
316 execution.setVariable("handlingCode", "RollbackToAssigned");
317 List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
319 BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignVfModuleBB");
320 ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
321 flowsToExecute.add(ebb1);
323 BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateVfModuleBB");
324 ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
325 flowsToExecute.add(ebb2);
327 BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
328 ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
329 flowsToExecute.add(ebb3);
331 BuildingBlock buildingBlock4 = new BuildingBlock().setBpmnFlowName("AddFabricConfigurationBB");
332 ExecuteBuildingBlock ebb4 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock4);
333 flowsToExecute.add(ebb4);
335 execution.setVariable("flowsToExecute", flowsToExecute);
336 execution.setVariable("gCurrentSequence", 4);
338 workflowActionBBTasks.rollbackExecutionPath(execution);
339 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
340 assertEquals(0, execution.getVariable("gCurrentSequence"));
341 assertEquals(3, ebbs.size());
342 assertEquals("DeleteFabricConfigurationBB", ebbs.get(0).getBuildingBlock().getBpmnFlowName());
343 assertEquals("DeactivateVfModuleBB", ebbs.get(1).getBuildingBlock().getBpmnFlowName());
344 assertEquals("DeleteVfModuleBB", ebbs.get(2).getBuildingBlock().getBpmnFlowName());
349 public void rollbackExecutionRollbackToCreatedTest() {
350 execution.setVariable("isRollback", false);
351 execution.setVariable("handlingCode", "RollbackToCreated");
352 List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
353 BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignVfModuleBB");
354 ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
355 flowsToExecute.add(ebb1);
357 BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateVfModuleBB");
358 ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
359 flowsToExecute.add(ebb2);
361 BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
362 ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
363 flowsToExecute.add(ebb3);
365 execution.setVariable("flowsToExecute", flowsToExecute);
366 execution.setVariable("gCurrentSequence", 3);
368 workflowActionBBTasks.rollbackExecutionPath(execution);
369 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
370 assertEquals("DeactivateVfModuleBB", ebbs.get(0).getBuildingBlock().getBpmnFlowName());
371 assertEquals(0, execution.getVariable("gCurrentSequence"));
372 assertEquals(1, ebbs.size());
376 public void checkRetryStatusTest() {
377 String reqId = "reqId123";
378 execution.setVariable("mso-request-id", reqId);
379 doNothing().when(workflowActionBBFailure).updateRequestErrorStatusMessage(isA(DelegateExecution.class));
380 doReturn("6").when(environment).getProperty("mso.rainyDay.maxRetries");
381 execution.setVariable("handlingCode", "Retry");
382 execution.setVariable("retryCount", 1);
383 execution.setVariable("gCurrentSequence", 1);
384 InfraActiveRequests req = new InfraActiveRequests();
385 doReturn(req).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
386 workflowActionBBTasks.checkRetryStatus(execution);
387 assertEquals(0, execution.getVariable("gCurrentSequence"));
391 public void checkRetryStatusTestExceededMaxRetries() {
392 String reqId = "reqId123";
393 execution.setVariable("mso-request-id", reqId);
394 doNothing().when(workflowActionBBFailure).updateRequestErrorStatusMessage(isA(DelegateExecution.class));
395 doReturn("6").when(environment).getProperty("mso.rainyDay.maxRetries");
396 execution.setVariable("handlingCode", "Retry");
397 execution.setVariable("retryCount", 6);
398 execution.setVariable("gCurrentSequence", 1);
399 InfraActiveRequests req = new InfraActiveRequests();
400 doReturn(req).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
402 workflowActionBBTasks.checkRetryStatus(execution);
403 } catch (BpmnError e) {
404 WorkflowException exception = (WorkflowException) execution.getVariable("WorkflowException");
405 assertEquals("Exceeded maximum retries. Ending flow with status Abort", exception.getErrorMessage());
410 public void checkRetryStatusNoRetryTest() {
411 String reqId = "reqId123";
412 execution.setVariable("mso-request-id", reqId);
413 execution.setVariable("retryCount", 3);
414 execution.setVariable("handlingCode", "Success");
415 execution.setVariable("gCurrentSequence", 1);
416 InfraActiveRequests req = new InfraActiveRequests();
417 doReturn(req).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
418 workflowActionBBTasks.checkRetryStatus(execution);
419 assertEquals(0, execution.getVariable("retryCount"));
423 public void updateInstanceId() {
424 String reqId = "req123";
425 String instanceId = "123123123";
426 execution.setVariable("mso-request-id", reqId);
427 execution.setVariable("resourceId", instanceId);
428 execution.setVariable("resourceType", WorkflowType.SERVICE);
429 doReturn(reqMock).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
430 doNothing().when(requestsDbClient).updateInfraActiveRequests(isA(InfraActiveRequests.class));
431 workflowActionBBTasks.updateInstanceId(execution);
432 Mockito.verify(reqMock, Mockito.times(1)).setServiceInstanceId(instanceId);
436 public void getConfigurationId() {
437 org.onap.aai.domain.yang.Vnfc vnfc = new org.onap.aai.domain.yang.Vnfc();
438 vnfc.setModelInvariantId("modelInvariantId");
439 vnfc.setVnfcName("testVnfcName");
440 List<Configuration> configurations = new ArrayList<>();
441 org.onap.aai.domain.yang.Configuration configuration = new org.onap.aai.domain.yang.Configuration();
442 configuration.setConfigurationId("configurationId");
443 configuration.setModelCustomizationId("modelCustimizationId");
444 configuration.setConfigurationName("testConfigurationName");
445 configurations.add(configuration);
446 doReturn(configurations.get(0).getConfigurationId()).when(workflowActionBBTasks).getConfigurationId(vnfc);
447 assertEquals(workflowActionBBTasks.getConfigurationId(vnfc), "configurationId");
451 public void setServiceInstanceNameTest() {
452 String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
453 WorkflowType resourceType = WorkflowType.SERVICE;
454 InfraActiveRequests request = new InfraActiveRequests();
455 ServiceInstance service = new ServiceInstance();
456 service.setServiceInstanceName("serviceInstanceName");
457 doReturn(service).when(bbSetupUtils).getAAIServiceInstanceById(resourceId);
459 workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
460 assertEquals("serviceInstanceName", request.getServiceInstanceName());
464 public void setVnfNameTest() {
465 String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
466 WorkflowType resourceType = WorkflowType.VNF;
467 InfraActiveRequests request = new InfraActiveRequests();
468 GenericVnf vnf = new GenericVnf();
469 vnf.setVnfName("vnfName");
470 doReturn(vnf).when(bbSetupUtils).getAAIGenericVnf(resourceId);
472 workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
473 assertEquals("vnfName", request.getVnfName());
477 public void setVfModuleNameTest() {
478 String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
479 WorkflowType resourceType = WorkflowType.VFMODULE;
480 InfraActiveRequests request = new InfraActiveRequests();
481 request.setVnfId("ae5cc3e8-c13c-4d88-aaf6-694ab4977b0e");
482 VfModule vfModule = new VfModule();
483 vfModule.setVfModuleName("vfModuleName");
484 doReturn(vfModule).when(bbSetupUtils).getAAIVfModule("ae5cc3e8-c13c-4d88-aaf6-694ab4977b0e", resourceId);
486 workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
487 assertEquals("vfModuleName", request.getVfModuleName());
491 public void setNetworkNameTest() {
492 String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
493 WorkflowType resourceType = WorkflowType.NETWORK;
494 InfraActiveRequests request = new InfraActiveRequests();
495 L3Network network = new L3Network();
496 network.setNetworkName("networkName");
497 doReturn(network).when(bbSetupUtils).getAAIL3Network(resourceId);
499 workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
500 assertEquals("networkName", request.getNetworkName());
504 public void setConfigurationNameTest() {
505 String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
506 WorkflowType resourceType = WorkflowType.CONFIGURATION;
507 InfraActiveRequests request = new InfraActiveRequests();
508 Configuration configuration = new Configuration();
509 configuration.setConfigurationName("configurationName");
510 doReturn(configuration).when(bbSetupUtils).getAAIConfiguration(resourceId);
512 workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
513 assertEquals("configurationName", request.getConfigurationName());
517 public void setInstanceGroupNameTest() {
518 String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
519 WorkflowType resourceType = WorkflowType.INSTANCE_GROUP;
520 InfraActiveRequests request = new InfraActiveRequests();
521 InstanceGroup instanceGroup = new InstanceGroup();
522 instanceGroup.setInstanceGroupName("instanceGroupName");
523 doReturn(instanceGroup).when(bbSetupUtils).getAAIInstanceGroup(resourceId);
525 workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
526 assertEquals("instanceGroupName", request.getInstanceGroupName());
530 public void setVolumeGroupNameTest() {
531 String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
532 WorkflowType resourceType = WorkflowType.VOLUMEGROUP;
533 InfraActiveRequests request = new InfraActiveRequests();
534 request.setVnfId("4aa72c90-21eb-4465-8847-997e27af6c3e");
535 VolumeGroup volumeGroup = new VolumeGroup();
536 volumeGroup.setVolumeGroupName("volumeGroupName");
537 Optional<VolumeGroup> returnVolumeGroup = Optional.of(volumeGroup);
539 doReturn(returnVolumeGroup).when(bbSetupUtils).getRelatedVolumeGroupByIdFromVnf(request.getVnfId(), resourceId);
540 workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
542 assertEquals("volumeGroupName", request.getVolumeGroupName());
545 private void prepareDelegateExecution() {
546 execution.setVariable("mso-request-id", SAMPLE_MSO_REQUEST_ID);
547 execution.setVariable("requestAction", SAMPLE_REQUEST_ACTION);
548 execution.setVariable("gCurrentSequence", SAMPLE_SEQUENCE);
549 execution.setVariable("homing", false);
550 execution.setVariable("calledHoming", false);