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("AssignFabricConfigurationBB");
332 ExecuteBuildingBlock ebb4 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock4);
333 flowsToExecute.add(ebb4);
335 BuildingBlock buildingBlock5 = new BuildingBlock().setBpmnFlowName("ActivateFabricConfigurationBB");
336 ExecuteBuildingBlock ebb5 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock5);
337 flowsToExecute.add(ebb5);
339 execution.setVariable("flowsToExecute", flowsToExecute);
340 execution.setVariable("gCurrentSequence", 5);
342 workflowActionBBTasks.rollbackExecutionPath(execution);
343 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
344 assertEquals(0, execution.getVariable("gCurrentSequence"));
345 assertEquals(4, ebbs.size());
346 assertEquals("DeactivateFabricConfigurationBB", ebbs.get(0).getBuildingBlock().getBpmnFlowName());
347 assertEquals("UnassignFabricConfigurationBB", ebbs.get(1).getBuildingBlock().getBpmnFlowName());
348 assertEquals("DeactivateVfModuleBB", ebbs.get(2).getBuildingBlock().getBpmnFlowName());
349 assertEquals("DeleteVfModuleBB", ebbs.get(3).getBuildingBlock().getBpmnFlowName());
354 public void rollbackExecutionRollbackToCreatedTest() {
355 execution.setVariable("isRollback", false);
356 execution.setVariable("handlingCode", "RollbackToCreated");
357 List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
358 BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignVfModuleBB");
359 ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
360 flowsToExecute.add(ebb1);
362 BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateVfModuleBB");
363 ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
364 flowsToExecute.add(ebb2);
366 BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
367 ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
368 flowsToExecute.add(ebb3);
370 execution.setVariable("flowsToExecute", flowsToExecute);
371 execution.setVariable("gCurrentSequence", 3);
373 workflowActionBBTasks.rollbackExecutionPath(execution);
374 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
375 assertEquals("DeactivateVfModuleBB", ebbs.get(0).getBuildingBlock().getBpmnFlowName());
376 assertEquals(0, execution.getVariable("gCurrentSequence"));
377 assertEquals(1, ebbs.size());
381 public void checkRetryStatusTest() {
382 String reqId = "reqId123";
383 execution.setVariable("mso-request-id", reqId);
384 doNothing().when(workflowActionBBFailure).updateRequestErrorStatusMessage(isA(DelegateExecution.class));
385 doReturn("6").when(environment).getProperty("mso.rainyDay.maxRetries");
386 execution.setVariable("handlingCode", "Retry");
387 execution.setVariable("retryCount", 1);
388 execution.setVariable("gCurrentSequence", 1);
389 InfraActiveRequests req = new InfraActiveRequests();
390 doReturn(req).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
391 workflowActionBBTasks.checkRetryStatus(execution);
392 assertEquals(0, execution.getVariable("gCurrentSequence"));
396 public void checkRetryStatusTestExceededMaxRetries() {
397 String reqId = "reqId123";
398 execution.setVariable("mso-request-id", reqId);
399 doNothing().when(workflowActionBBFailure).updateRequestErrorStatusMessage(isA(DelegateExecution.class));
400 doReturn("6").when(environment).getProperty("mso.rainyDay.maxRetries");
401 execution.setVariable("handlingCode", "Retry");
402 execution.setVariable("retryCount", 6);
403 execution.setVariable("gCurrentSequence", 1);
404 InfraActiveRequests req = new InfraActiveRequests();
405 doReturn(req).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
407 workflowActionBBTasks.checkRetryStatus(execution);
408 } catch (BpmnError e) {
409 WorkflowException exception = (WorkflowException) execution.getVariable("WorkflowException");
410 assertEquals("Exceeded maximum retries. Ending flow with status Abort", exception.getErrorMessage());
415 public void checkRetryStatusNoRetryTest() {
416 String reqId = "reqId123";
417 execution.setVariable("mso-request-id", reqId);
418 execution.setVariable("retryCount", 3);
419 execution.setVariable("handlingCode", "Success");
420 execution.setVariable("gCurrentSequence", 1);
421 InfraActiveRequests req = new InfraActiveRequests();
422 doReturn(req).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
423 workflowActionBBTasks.checkRetryStatus(execution);
424 assertEquals(0, execution.getVariable("retryCount"));
428 public void updateInstanceId() {
429 String reqId = "req123";
430 String instanceId = "123123123";
431 execution.setVariable("mso-request-id", reqId);
432 execution.setVariable("resourceId", instanceId);
433 execution.setVariable("resourceType", WorkflowType.SERVICE);
434 doReturn(reqMock).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
435 doNothing().when(requestsDbClient).updateInfraActiveRequests(isA(InfraActiveRequests.class));
436 workflowActionBBTasks.updateInstanceId(execution);
437 Mockito.verify(reqMock, Mockito.times(1)).setServiceInstanceId(instanceId);
441 public void getConfigurationId() {
442 org.onap.aai.domain.yang.Vnfc vnfc = new org.onap.aai.domain.yang.Vnfc();
443 vnfc.setModelInvariantId("modelInvariantId");
444 vnfc.setVnfcName("testVnfcName");
445 List<Configuration> configurations = new ArrayList<>();
446 org.onap.aai.domain.yang.Configuration configuration = new org.onap.aai.domain.yang.Configuration();
447 configuration.setConfigurationId("configurationId");
448 configuration.setModelCustomizationId("modelCustimizationId");
449 configuration.setConfigurationName("testConfigurationName");
450 configurations.add(configuration);
451 doReturn(configurations.get(0).getConfigurationId()).when(workflowActionBBTasks).getConfigurationId(vnfc);
452 assertEquals(workflowActionBBTasks.getConfigurationId(vnfc), "configurationId");
456 public void setServiceInstanceNameTest() {
457 String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
458 WorkflowType resourceType = WorkflowType.SERVICE;
459 InfraActiveRequests request = new InfraActiveRequests();
460 ServiceInstance service = new ServiceInstance();
461 service.setServiceInstanceName("serviceInstanceName");
462 doReturn(service).when(bbSetupUtils).getAAIServiceInstanceById(resourceId);
464 workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
465 assertEquals("serviceInstanceName", request.getServiceInstanceName());
469 public void setVnfNameTest() {
470 String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
471 WorkflowType resourceType = WorkflowType.VNF;
472 InfraActiveRequests request = new InfraActiveRequests();
473 GenericVnf vnf = new GenericVnf();
474 vnf.setVnfName("vnfName");
475 doReturn(vnf).when(bbSetupUtils).getAAIGenericVnf(resourceId);
477 workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
478 assertEquals("vnfName", request.getVnfName());
482 public void setVfModuleNameTest() {
483 String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
484 WorkflowType resourceType = WorkflowType.VFMODULE;
485 InfraActiveRequests request = new InfraActiveRequests();
486 request.setVnfId("ae5cc3e8-c13c-4d88-aaf6-694ab4977b0e");
487 VfModule vfModule = new VfModule();
488 vfModule.setVfModuleName("vfModuleName");
489 doReturn(vfModule).when(bbSetupUtils).getAAIVfModule("ae5cc3e8-c13c-4d88-aaf6-694ab4977b0e", resourceId);
491 workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
492 assertEquals("vfModuleName", request.getVfModuleName());
496 public void setNetworkNameTest() {
497 String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
498 WorkflowType resourceType = WorkflowType.NETWORK;
499 InfraActiveRequests request = new InfraActiveRequests();
500 L3Network network = new L3Network();
501 network.setNetworkName("networkName");
502 doReturn(network).when(bbSetupUtils).getAAIL3Network(resourceId);
504 workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
505 assertEquals("networkName", request.getNetworkName());
509 public void setConfigurationNameTest() {
510 String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
511 WorkflowType resourceType = WorkflowType.CONFIGURATION;
512 InfraActiveRequests request = new InfraActiveRequests();
513 Configuration configuration = new Configuration();
514 configuration.setConfigurationName("configurationName");
515 doReturn(configuration).when(bbSetupUtils).getAAIConfiguration(resourceId);
517 workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
518 assertEquals("configurationName", request.getConfigurationName());
522 public void setInstanceGroupNameTest() {
523 String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
524 WorkflowType resourceType = WorkflowType.INSTANCE_GROUP;
525 InfraActiveRequests request = new InfraActiveRequests();
526 InstanceGroup instanceGroup = new InstanceGroup();
527 instanceGroup.setInstanceGroupName("instanceGroupName");
528 doReturn(instanceGroup).when(bbSetupUtils).getAAIInstanceGroup(resourceId);
530 workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
531 assertEquals("instanceGroupName", request.getInstanceGroupName());
535 public void setVolumeGroupNameTest() {
536 String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
537 WorkflowType resourceType = WorkflowType.VOLUMEGROUP;
538 InfraActiveRequests request = new InfraActiveRequests();
539 request.setVnfId("4aa72c90-21eb-4465-8847-997e27af6c3e");
540 VolumeGroup volumeGroup = new VolumeGroup();
541 volumeGroup.setVolumeGroupName("volumeGroupName");
542 Optional<VolumeGroup> returnVolumeGroup = Optional.of(volumeGroup);
544 doReturn(returnVolumeGroup).when(bbSetupUtils).getRelatedVolumeGroupByIdFromVnf(request.getVnfId(), resourceId);
545 workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
547 assertEquals("volumeGroupName", request.getVolumeGroupName());
550 private void prepareDelegateExecution() {
551 execution.setVariable("mso-request-id", SAMPLE_MSO_REQUEST_ID);
552 execution.setVariable("requestAction", SAMPLE_REQUEST_ACTION);
553 execution.setVariable("gCurrentSequence", SAMPLE_SEQUENCE);
554 execution.setVariable("homing", false);
555 execution.setVariable("calledHoming", false);