PNF service instantiation using building blocks fails
[so.git] / bpmn / so-bpmn-tasks / src / test / java / org / onap / so / bpmn / infrastructure / workflow / tasks / WorkflowActionBBTasksTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
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
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
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=========================================================
21  */
22
23 package org.onap.so.bpmn.infrastructure.workflow.tasks;
24
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.core.WorkflowException;
45 import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock;
46 import org.onap.so.bpmn.servicedecomposition.entities.ConfigurationResourceKeys;
47 import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock;
48 import org.onap.so.bpmn.servicedecomposition.entities.WorkflowResourceIds;
49 import org.onap.so.db.catalog.beans.VnfResourceCustomization;
50 import org.onap.so.db.request.beans.InfraActiveRequests;
51 import org.onap.so.serviceinstancebeans.ModelInfo;
52 import org.onap.so.serviceinstancebeans.RequestDetails;
53 import org.springframework.core.env.Environment;
54 import java.util.ArrayList;
55 import java.util.List;
56 import java.util.Optional;
57 import static org.assertj.core.api.Assertions.assertThat;
58 import static org.junit.Assert.assertEquals;
59 import static org.junit.Assert.assertFalse;
60 import static org.junit.Assert.assertTrue;
61 import static org.mockito.ArgumentMatchers.anyObject;
62 import static org.mockito.ArgumentMatchers.anyString;
63 import static org.mockito.ArgumentMatchers.isA;
64 import static org.mockito.Mockito.doNothing;
65 import static org.mockito.Mockito.doReturn;
66 import static org.mockito.Mockito.when;
67
68 public class WorkflowActionBBTasksTest extends BaseTaskTest {
69
70     private static final String SAMPLE_MSO_REQUEST_ID = "00f704ca-c5e5-4f95-a72c-6889db7b0688";
71     private static final String SAMPLE_REQUEST_ACTION = "Delete-Network-Collection";
72     private static final int SAMPLE_SEQUENCE = 0;
73     private static final String EMPTY_STRING = "";
74     @Mock
75     protected WorkflowAction workflowAction;
76
77     @Mock
78     protected WorkflowActionBBFailure workflowActionBBFailure;
79
80     @InjectMocks
81     @Spy
82     protected WorkflowActionBBTasks workflowActionBBTasks;
83
84     @Mock
85     InfraActiveRequests reqMock;
86
87     private DelegateExecution execution;
88
89     @Mock
90     protected Environment environment;
91
92     @Rule
93     public ExpectedException thrown = ExpectedException.none();
94
95     @Before
96     public void before() throws Exception {
97         execution = new DelegateExecutionFake();
98         ServiceInstance servInstance = new ServiceInstance();
99         servInstance.setServiceInstanceId("TEST");
100         when(bbSetupUtils.getAAIServiceInstanceByName(anyString(), anyObject())).thenReturn(servInstance);
101         workflowAction.setBbInputSetupUtils(bbSetupUtils);
102         workflowAction.setBbInputSetup(bbInputSetup);
103     }
104
105     @Test
106     public void selectBBTest() {
107         String vnfCustomizationUUID = "1234567";
108         String modelUuid = "1234567";
109         prepareDelegateExecution();
110         List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
111
112         BuildingBlock buildingBlock =
113                 new BuildingBlock().setBpmnFlowName("ConfigAssignVnfBB").setKey(vnfCustomizationUUID);
114         RequestDetails rd = new RequestDetails();
115         ModelInfo mi = new ModelInfo();
116         mi.setModelUuid(modelUuid);
117         rd.setModelInfo(mi);
118         ExecuteBuildingBlock ebb = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock).setRequestDetails(rd);
119         flowsToExecute.add(ebb);
120
121         List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList<>();
122         VnfResourceCustomization vrc = new VnfResourceCustomization();
123         vrc.setSkipPostInstConf(false);
124         vrc.setModelCustomizationUUID(vnfCustomizationUUID);
125         vnfResourceCustomizations.add(vrc);
126         GenericVnf genericVnf = new GenericVnf();
127         genericVnf.setModelCustomizationId(vnfCustomizationUUID);
128         doReturn(vnfResourceCustomizations).when(catalogDbClient).getVnfResourceCustomizationByModelUuid(modelUuid);
129         doReturn(vrc).when(catalogDbClient).findVnfResourceCustomizationInList(vnfCustomizationUUID,
130                 vnfResourceCustomizations);
131
132         execution.setVariable("flowsToExecute", flowsToExecute);
133         workflowActionBBTasks.selectBB(execution);
134         boolean success = (boolean) execution.getVariable("completed");
135         int currentSequence = (int) execution.getVariable("gCurrentSequence");
136         assertTrue(success);
137         assertEquals(1, currentSequence);
138     }
139
140     @Test
141     public void select2BBTest() {
142         String vnfCustomizationUUID = "1234567";
143         String modelUuid = "1234567";
144
145         prepareDelegateExecution();
146         List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
147         BuildingBlock buildingBlock =
148                 new BuildingBlock().setBpmnFlowName("ConfigDeployVnfBB").setKey(vnfCustomizationUUID);
149         RequestDetails rd = new RequestDetails();
150         ModelInfo mi = new ModelInfo();
151         mi.setModelUuid(modelUuid);
152         rd.setModelInfo(mi);
153         ExecuteBuildingBlock ebb = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock).setRequestDetails(rd);
154         ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock();
155
156         flowsToExecute.add(ebb);
157
158         List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList<>();
159         VnfResourceCustomization vrc = new VnfResourceCustomization();
160
161         vrc.setSkipPostInstConf(false);
162         vrc.setModelCustomizationUUID(vnfCustomizationUUID);
163         vnfResourceCustomizations.add(vrc);
164         GenericVnf genericVnf = new GenericVnf();
165         genericVnf.setModelCustomizationId(vnfCustomizationUUID);
166
167         doReturn(vnfResourceCustomizations).when(catalogDbClient).getVnfResourceCustomizationByModelUuid(modelUuid);
168         doReturn(vrc).when(catalogDbClient).findVnfResourceCustomizationInList(vnfCustomizationUUID,
169                 vnfResourceCustomizations);
170
171         flowsToExecute.add(ebb2);
172         execution.setVariable("flowsToExecute", flowsToExecute);
173         workflowActionBBTasks.selectBB(execution);
174         boolean success = (boolean) execution.getVariable("completed");
175         int currentSequence = (int) execution.getVariable("gCurrentSequence");
176         assertFalse(success);
177         assertEquals(1, currentSequence);
178     }
179
180     @Test
181     public void updateRequestStatusToCompleteTest() {
182         String reqId = "reqId123";
183         execution.setVariable("mso-request-id", reqId);
184         execution.setVariable("requestAction", "createInstance");
185         execution.setVariable("resourceName", "Service");
186         execution.setVariable("aLaCarte", true);
187         InfraActiveRequests req = new InfraActiveRequests();
188         doReturn(req).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
189         doNothing().when(requestsDbClient).updateInfraActiveRequests(isA(InfraActiveRequests.class));
190         workflowActionBBTasks.updateRequestStatusToComplete(execution);
191         assertEquals("ALaCarte-Service-createInstance request was executed correctly.",
192                 execution.getVariable("finalStatusMessage"));
193     }
194
195     @Test
196     public void rollbackExecutionPathTest() {
197         execution.setVariable("handlingCode", "Rollback");
198         execution.setVariable("isRollback", false);
199         execution.setVariable("requestAction", EMPTY_STRING);
200         execution.setVariable("resourceName", EMPTY_STRING);
201         List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
202         BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignVfModuleBB");
203         ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
204         flowsToExecute.add(ebb1);
205
206         BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateVfModuleBB");
207         ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
208         flowsToExecute.add(ebb2);
209
210         BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
211         ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
212         flowsToExecute.add(ebb3);
213
214         execution.setVariable("flowsToExecute", flowsToExecute);
215         execution.setVariable("gCurrentSequence", 3);
216         doNothing().when(workflowActionBBFailure).updateRequestErrorStatusMessage(isA(DelegateExecution.class));
217
218         workflowActionBBTasks.rollbackExecutionPath(execution);
219         List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
220         assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(), "DeactivateVfModuleBB");
221         assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(), "DeleteVfModuleBB");
222         assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(), "UnassignVfModuleBB");
223         assertEquals(0, execution.getVariable("gCurrentSequence"));
224     }
225
226     @Test
227     public void rollbackExecutionPathUnfinishedFlowTest() {
228         execution.setVariable("handlingCode", "Rollback");
229         execution.setVariable("isRollback", false);
230         execution.setVariable("requestAction", EMPTY_STRING);
231         execution.setVariable("resourceName", EMPTY_STRING);
232         List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
233         BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignVfModuleBB");
234         ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
235         flowsToExecute.add(ebb1);
236
237         BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateVfModuleBB");
238         ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
239         flowsToExecute.add(ebb2);
240
241         BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
242         ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
243         flowsToExecute.add(ebb3);
244
245         execution.setVariable("flowsToExecute", flowsToExecute);
246         execution.setVariable("gCurrentSequence", 2);
247         doNothing().when(workflowActionBBFailure).updateRequestErrorStatusMessage(isA(DelegateExecution.class));
248
249         workflowActionBBTasks.rollbackExecutionPath(execution);
250         List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
251         assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(), "DeleteVfModuleBB");
252         assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(), "UnassignVfModuleBB");
253         assertEquals(0, execution.getVariable("gCurrentSequence"));
254         assertEquals(0, execution.getVariable("retryCount"));
255     }
256
257     @Test
258     public void rollbackExecutionTest() {
259         execution.setVariable("handlingCode", "Rollback");
260         execution.setVariable("isRollback", false);
261         execution.setVariable("requestAction", EMPTY_STRING);
262         execution.setVariable("resourceName", EMPTY_STRING);
263         List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
264         BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignServiceInstanceBB");
265         ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
266         flowsToExecute.add(ebb1);
267
268         BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateNetworkCollectionBB");
269         ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
270         flowsToExecute.add(ebb2);
271
272         BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("AssignNetworkBB");
273         ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
274         flowsToExecute.add(ebb3);
275
276         BuildingBlock buildingBlock4 = new BuildingBlock().setBpmnFlowName("CreateNetworkBB");
277         ExecuteBuildingBlock ebb4 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock4);
278         flowsToExecute.add(ebb4);
279
280         execution.setVariable("flowsToExecute", flowsToExecute);
281         execution.setVariable("gCurrentSequence", 3);
282         doNothing().when(workflowActionBBFailure).updateRequestErrorStatusMessage(isA(DelegateExecution.class));
283
284         workflowActionBBTasks.rollbackExecutionPath(execution);
285         List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
286         assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(), "UnassignNetworkBB");
287         assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(), "DeleteNetworkCollectionBB");
288         assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(), "UnassignServiceInstanceBB");
289         assertEquals(0, execution.getVariable("gCurrentSequence"));
290     }
291
292     @Test
293     public void rollbackExecutionRollbackToAssignedTest() {
294         execution.setVariable("isRollback", false);
295         execution.setVariable("handlingCode", "RollbackToAssigned");
296         execution.setVariable("requestAction", EMPTY_STRING);
297         execution.setVariable("resourceName", EMPTY_STRING);
298         List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
299
300         BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignVfModuleBB");
301         ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
302         flowsToExecute.add(ebb1);
303
304         BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateVfModuleBB");
305         ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
306         flowsToExecute.add(ebb2);
307
308         BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
309         ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
310         flowsToExecute.add(ebb3);
311
312         execution.setVariable("flowsToExecute", flowsToExecute);
313         execution.setVariable("gCurrentSequence", 2);
314
315         workflowActionBBTasks.rollbackExecutionPath(execution);
316         List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
317         assertEquals("DeleteVfModuleBB", ebbs.get(0).getBuildingBlock().getBpmnFlowName());
318         assertEquals(0, execution.getVariable("gCurrentSequence"));
319         assertEquals(1, ebbs.size());
320     }
321
322     @Test
323     public void rollbackExecutionPathChangeBBForReplaceVFModuleTest() {
324         execution.setVariable("handlingCode", "Rollback");
325         execution.setVariable("isRollback", false);
326         execution.setVariable("requestAction", "replaceInstance");
327         execution.setVariable("resourceName", "VfModule");
328         List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
329         BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignVfModuleBB");
330         ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
331         flowsToExecute.add(ebb1);
332
333         BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateVfModuleBB");
334         ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
335         flowsToExecute.add(ebb2);
336
337         BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
338         ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
339         flowsToExecute.add(ebb3);
340
341
342         BuildingBlock buildingBlock4 = new BuildingBlock().setBpmnFlowName("ChangeModelVnfBB");
343         ExecuteBuildingBlock ebb4 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock4);
344         flowsToExecute.add(ebb4);
345
346         BuildingBlock buildingBlock5 = new BuildingBlock().setBpmnFlowName("ChangeModelServiceInstanceBB");
347         ExecuteBuildingBlock ebb5 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock5);
348         flowsToExecute.add(ebb5);
349
350         execution.setVariable("flowsToExecute", flowsToExecute);
351         execution.setVariable("gCurrentSequence", 5);
352         doNothing().when(workflowActionBBFailure).updateRequestErrorStatusMessage(isA(DelegateExecution.class));
353
354         workflowActionBBTasks.rollbackExecutionPath(execution);
355         List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
356         assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(), "ChangeModelVnfBB");
357         assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(), "ChangeModelServiceInstanceBB");
358         assertEquals(0, execution.getVariable("gCurrentSequence"));
359     }
360
361     @Test
362     public void rollbackExecutionRollbackToAssignedWithFabricTest() {
363         execution.setVariable("isRollback", false);
364         execution.setVariable("handlingCode", "RollbackToAssigned");
365         execution.setVariable("requestAction", EMPTY_STRING);
366         execution.setVariable("resourceName", EMPTY_STRING);
367         List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
368
369         BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignVfModuleBB");
370         ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
371         flowsToExecute.add(ebb1);
372
373         BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateVfModuleBB");
374         ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
375         flowsToExecute.add(ebb2);
376
377         BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
378         ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
379         flowsToExecute.add(ebb3);
380
381         BuildingBlock buildingBlock4 = new BuildingBlock().setBpmnFlowName("AddFabricConfigurationBB");
382         ExecuteBuildingBlock ebb4 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock4);
383         flowsToExecute.add(ebb4);
384
385         execution.setVariable("flowsToExecute", flowsToExecute);
386         execution.setVariable("gCurrentSequence", 4);
387
388         workflowActionBBTasks.rollbackExecutionPath(execution);
389         List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
390         assertEquals(0, execution.getVariable("gCurrentSequence"));
391         assertEquals(3, ebbs.size());
392         assertEquals("DeleteFabricConfigurationBB", ebbs.get(0).getBuildingBlock().getBpmnFlowName());
393         assertEquals("DeactivateVfModuleBB", ebbs.get(1).getBuildingBlock().getBpmnFlowName());
394         assertEquals("DeleteVfModuleBB", ebbs.get(2).getBuildingBlock().getBpmnFlowName());
395
396     }
397
398     @Test
399     public void rollbackExecutionRollbackToCreatedWithFabricTest() {
400         execution.setVariable("isRollback", false);
401         execution.setVariable("handlingCode", "RollbackToCreated");
402         execution.setVariable("requestAction", EMPTY_STRING);
403         execution.setVariable("resourceName", EMPTY_STRING);
404         List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
405
406         BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignVfModuleBB");
407         ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
408         flowsToExecute.add(ebb1);
409
410         BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateVfModuleBB");
411         ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
412         flowsToExecute.add(ebb2);
413
414         BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
415         ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
416         flowsToExecute.add(ebb3);
417
418         BuildingBlock buildingBlock4 = new BuildingBlock().setBpmnFlowName("AddFabricConfigurationBB");
419         ExecuteBuildingBlock ebb4 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock4);
420         flowsToExecute.add(ebb4);
421
422         execution.setVariable("flowsToExecute", flowsToExecute);
423         execution.setVariable("gCurrentSequence", 4);
424
425         workflowActionBBTasks.rollbackExecutionPath(execution);
426         List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
427         assertEquals(0, execution.getVariable("gCurrentSequence"));
428         assertEquals(2, ebbs.size());
429         assertEquals("DeleteFabricConfigurationBB", ebbs.get(0).getBuildingBlock().getBpmnFlowName());
430         assertEquals("DeactivateVfModuleBB", ebbs.get(1).getBuildingBlock().getBpmnFlowName());
431
432     }
433
434     @Test
435     public void rollbackExecutionRollbackToCreatedNoConfigurationWithFabricTest() {
436         execution.setVariable("isRollback", false);
437         execution.setVariable("handlingCode", "RollbackToCreatedNoConfiguration");
438         execution.setVariable("requestAction", EMPTY_STRING);
439         execution.setVariable("resourceName", EMPTY_STRING);
440         List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
441
442         BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignVfModuleBB");
443         ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
444         flowsToExecute.add(ebb1);
445
446         BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateVfModuleBB");
447         ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
448         flowsToExecute.add(ebb2);
449
450         BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
451         ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
452         flowsToExecute.add(ebb3);
453
454         BuildingBlock buildingBlock4 = new BuildingBlock().setBpmnFlowName("AddFabricConfigurationBB");
455         ExecuteBuildingBlock ebb4 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock4);
456         flowsToExecute.add(ebb4);
457
458         execution.setVariable("flowsToExecute", flowsToExecute);
459         execution.setVariable("gCurrentSequence", 4);
460
461         workflowActionBBTasks.rollbackExecutionPath(execution);
462         List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
463         assertEquals(0, execution.getVariable("gCurrentSequence"));
464         assertEquals(1, ebbs.size());
465         assertEquals("DeactivateVfModuleBB", ebbs.get(0).getBuildingBlock().getBpmnFlowName());
466     }
467
468     @Test
469     public void rollbackExecutionRollbackToCreatedTest() {
470         execution.setVariable("isRollback", false);
471         execution.setVariable("handlingCode", "RollbackToCreated");
472         execution.setVariable("requestAction", EMPTY_STRING);
473         execution.setVariable("resourceName", EMPTY_STRING);
474         List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
475         BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("AssignVfModuleBB");
476         ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
477         flowsToExecute.add(ebb1);
478
479         BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("CreateVfModuleBB");
480         ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
481         flowsToExecute.add(ebb2);
482
483         BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
484         ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
485         flowsToExecute.add(ebb3);
486
487         execution.setVariable("flowsToExecute", flowsToExecute);
488         execution.setVariable("gCurrentSequence", 3);
489
490         workflowActionBBTasks.rollbackExecutionPath(execution);
491         List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
492         assertEquals("DeactivateVfModuleBB", ebbs.get(0).getBuildingBlock().getBpmnFlowName());
493         assertEquals(0, execution.getVariable("gCurrentSequence"));
494         assertEquals(1, ebbs.size());
495     }
496
497     @Test
498     public void rollbackExecutionRollbackInPlaceSoftwareUpdateTest() {
499         execution.setVariable("isRollback", false);
500         execution.setVariable("handlingCode", "Rollback");
501         execution.setVariable("requestAction", EMPTY_STRING);
502         execution.setVariable("resourceName", EMPTY_STRING);
503         List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
504         BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("VNFCheckPserversLockedFlagActivity");
505         ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
506         flowsToExecute.add(ebb1);
507
508         BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("VNFCheckInMaintFlagActivity");
509         ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
510         flowsToExecute.add(ebb2);
511
512         BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("VNFSetInMaintFlagActivity");
513         ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
514         flowsToExecute.add(ebb3);
515
516         BuildingBlock buildingBlock4 = new BuildingBlock().setBpmnFlowName("VNFCheckClosedLoopDisabledFlagActivity");
517         ExecuteBuildingBlock ebb4 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock4);
518         flowsToExecute.add(ebb4);
519
520         BuildingBlock buildingBlock5 = new BuildingBlock().setBpmnFlowName("VNFSetClosedLoopDisabledFlagActivity");
521         ExecuteBuildingBlock ebb5 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock5);
522         flowsToExecute.add(ebb5);
523
524         BuildingBlock buildingBlock6 = new BuildingBlock().setBpmnFlowName("VNFLockActivity");
525         ExecuteBuildingBlock ebb6 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock6);
526         flowsToExecute.add(ebb6);
527
528         BuildingBlock buildingBlock7 = new BuildingBlock().setBpmnFlowName("VNFUpgradePreCheckActivity");
529         ExecuteBuildingBlock ebb7 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock7);
530         flowsToExecute.add(ebb7);
531
532         BuildingBlock buildingBlock8 = new BuildingBlock().setBpmnFlowName("VNFQuiesceTrafficActivity");
533         ExecuteBuildingBlock ebb8 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock8);
534         flowsToExecute.add(ebb8);
535
536         BuildingBlock buildingBlock9 = new BuildingBlock().setBpmnFlowName("VNFStopActivity");
537         ExecuteBuildingBlock ebb9 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock9);
538         flowsToExecute.add(ebb9);
539
540         BuildingBlock buildingBlock10 = new BuildingBlock().setBpmnFlowName("VNFSnapShotActivity");
541         ExecuteBuildingBlock ebb10 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock10);
542         flowsToExecute.add(ebb10);
543
544         execution.setVariable("flowsToExecute", flowsToExecute);
545         execution.setVariable("gCurrentSequence", 10);
546
547         workflowActionBBTasks.rollbackExecutionPath(execution);
548         List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
549         assertEquals("VNFStartActivity", ebbs.get(0).getBuildingBlock().getBpmnFlowName());
550         assertEquals("VNFResumeTrafficActivity", ebbs.get(1).getBuildingBlock().getBpmnFlowName());
551         assertEquals("VNFUnlockActivity", ebbs.get(2).getBuildingBlock().getBpmnFlowName());
552         assertEquals("VNFUnsetClosedLoopDisabledFlagActivity", ebbs.get(3).getBuildingBlock().getBpmnFlowName());
553         assertEquals("VNFUnsetInMaintFlagActivity", ebbs.get(4).getBuildingBlock().getBpmnFlowName());
554         assertEquals(0, execution.getVariable("gCurrentSequence"));
555         assertEquals(5, ebbs.size());
556     }
557
558     @Test
559     public void rollbackExecutionRollbackConfigModifyTest() {
560         execution.setVariable("isRollback", false);
561         execution.setVariable("handlingCode", "Rollback");
562         execution.setVariable("requestAction", EMPTY_STRING);
563         execution.setVariable("resourceName", EMPTY_STRING);
564         List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
565         BuildingBlock buildingBlock1 = new BuildingBlock().setBpmnFlowName("VNFCheckPserversLockedFlagActivity");
566         ExecuteBuildingBlock ebb1 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock1);
567         flowsToExecute.add(ebb1);
568
569         BuildingBlock buildingBlock2 = new BuildingBlock().setBpmnFlowName("VNFCheckInMaintFlagActivity");
570         ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock2);
571         flowsToExecute.add(ebb2);
572
573         BuildingBlock buildingBlock3 = new BuildingBlock().setBpmnFlowName("VNFSetInMaintFlagActivity");
574         ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock3);
575         flowsToExecute.add(ebb3);
576
577         BuildingBlock buildingBlock4 = new BuildingBlock().setBpmnFlowName("VNFCheckClosedLoopDisabledFlagActivity");
578         ExecuteBuildingBlock ebb4 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock4);
579         flowsToExecute.add(ebb4);
580
581         BuildingBlock buildingBlock5 = new BuildingBlock().setBpmnFlowName("VNFSetClosedLoopDisabledFlagActivity");
582         ExecuteBuildingBlock ebb5 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock5);
583         flowsToExecute.add(ebb5);
584
585         BuildingBlock buildingBlock6 = new BuildingBlock().setBpmnFlowName("VNFHealthCheckActivity");
586         ExecuteBuildingBlock ebb6 = new ExecuteBuildingBlock().setBuildingBlock(buildingBlock6);
587         flowsToExecute.add(ebb6);
588
589         execution.setVariable("flowsToExecute", flowsToExecute);
590         execution.setVariable("gCurrentSequence", 6);
591
592         workflowActionBBTasks.rollbackExecutionPath(execution);
593         List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
594         assertEquals("VNFUnsetClosedLoopDisabledFlagActivity", ebbs.get(0).getBuildingBlock().getBpmnFlowName());
595         assertEquals("VNFUnsetInMaintFlagActivity", ebbs.get(1).getBuildingBlock().getBpmnFlowName());
596         assertEquals(0, execution.getVariable("gCurrentSequence"));
597         assertEquals(2, ebbs.size());
598     }
599
600     @Test
601     public void postProcessingExecuteBBActivateVfModuleTest() throws CloneNotSupportedException {
602         BuildingBlock bbActivateVfModule = new BuildingBlock().setBpmnFlowName("ActivateVfModuleBB");
603         ExecuteBuildingBlock ebbActivateVfModule = new ExecuteBuildingBlock().setBuildingBlock(bbActivateVfModule);
604
605         WorkflowResourceIds resourceIdsActivateVfModule = new WorkflowResourceIds();
606         resourceIdsActivateVfModule.setServiceInstanceId("test-service-inbstance-id");
607         resourceIdsActivateVfModule.setVnfId("test-vnf-id");
608         resourceIdsActivateVfModule.setVfModuleId("test-vf-module-id");
609         resourceIdsActivateVfModule.setConfigurationId("");
610
611         RequestDetails requestDetails = new RequestDetails();
612
613         ebbActivateVfModule.setApiVersion("7");
614         ebbActivateVfModule.setaLaCarte(true);
615         ebbActivateVfModule.setRequestAction("createInstance");
616         ebbActivateVfModule.setVnfType("test-vnf-type");
617         ebbActivateVfModule.setRequestId("f6c00ae2-a205-4cbd-b055-02e553efde12");
618         ebbActivateVfModule.setRequestDetails(requestDetails);
619         ebbActivateVfModule.setWorkflowResourceIds(resourceIdsActivateVfModule);
620
621         ConfigurationResourceKeys configurationResourceKeys = new ConfigurationResourceKeys();
622         configurationResourceKeys.setCvnfcCustomizationUUID("07d64cd2-4427-4156-b11d-d14b96b3e4cb");
623         configurationResourceKeys.setVfModuleCustomizationUUID("50b61075-6ebb-4aab-a9fc-bedad9a2aa76");
624         configurationResourceKeys.setVnfResourceCustomizationUUID("a1d0e36e-34a9-431b-b5ba-4bbb72f63c7c");
625         configurationResourceKeys.setVnfcName("rdm54bvbgw5001vm018pim001");
626
627         ExecuteBuildingBlock ebbAddFabricConfig =
628                 workflowActionBBTasks.getExecuteBBForConfig("AddFabricConfigurationBB", ebbActivateVfModule,
629                         "cc7e12f9-967c-4362-8d14-e5b2bf0608a4", configurationResourceKeys);
630
631         assertEquals("7", ebbAddFabricConfig.getApiVersion());
632         assertTrue(ebbAddFabricConfig.isaLaCarte());
633         assertEquals("createInstance", ebbAddFabricConfig.getRequestAction());
634         assertEquals("test-vnf-type", ebbAddFabricConfig.getVnfType());
635         assertEquals("f6c00ae2-a205-4cbd-b055-02e553efde12", ebbAddFabricConfig.getRequestId());
636         assertEquals(requestDetails, ebbAddFabricConfig.getRequestDetails());
637         assertEquals("cc7e12f9-967c-4362-8d14-e5b2bf0608a4",
638                 ebbAddFabricConfig.getWorkflowResourceIds().getConfigurationId());
639         assertEquals("test-service-inbstance-id", ebbAddFabricConfig.getWorkflowResourceIds().getServiceInstanceId());
640         assertEquals("test-vnf-id", ebbAddFabricConfig.getWorkflowResourceIds().getVnfId());
641         assertEquals("test-vf-module-id", ebbAddFabricConfig.getWorkflowResourceIds().getVfModuleId());
642
643         assertThat(ebbAddFabricConfig.getConfigurationResourceKeys()).isEqualTo(configurationResourceKeys);
644         assertThat(ebbAddFabricConfig.getWorkflowResourceIds())
645                 .isNotEqualTo(ebbActivateVfModule.getWorkflowResourceIds());
646         assertThat(ebbAddFabricConfig.getWorkflowResourceIds().getConfigurationId())
647                 .isNotEqualTo(ebbActivateVfModule.getWorkflowResourceIds().getConfigurationId());
648     }
649
650     @Test
651     public void checkRetryStatusTest() {
652         String reqId = "reqId123";
653         execution.setVariable("mso-request-id", reqId);
654         doNothing().when(workflowActionBBFailure).updateRequestErrorStatusMessage(isA(DelegateExecution.class));
655         doReturn("6").when(environment).getProperty("mso.rainyDay.maxRetries");
656         execution.setVariable("handlingCode", "Retry");
657         execution.setVariable("retryCount", 1);
658         execution.setVariable("gCurrentSequence", 1);
659         InfraActiveRequests req = new InfraActiveRequests();
660         doReturn(req).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
661         workflowActionBBTasks.checkRetryStatus(execution);
662         assertEquals(0, execution.getVariable("gCurrentSequence"));
663     }
664
665     @Test
666     public void checkRetryStatusTestExceededMaxRetries() {
667         String reqId = "reqId123";
668         execution.setVariable("mso-request-id", reqId);
669         doNothing().when(workflowActionBBFailure).updateRequestErrorStatusMessage(isA(DelegateExecution.class));
670         doReturn("6").when(environment).getProperty("mso.rainyDay.maxRetries");
671         execution.setVariable("handlingCode", "Retry");
672         execution.setVariable("retryCount", 6);
673         execution.setVariable("gCurrentSequence", 1);
674         InfraActiveRequests req = new InfraActiveRequests();
675         doReturn(req).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
676         try {
677             workflowActionBBTasks.checkRetryStatus(execution);
678         } catch (BpmnError e) {
679             WorkflowException exception = (WorkflowException) execution.getVariable("WorkflowException");
680             assertEquals("Exceeded maximum retries. Ending flow with status Abort", exception.getErrorMessage());
681         }
682     }
683
684     @Test
685     public void checkRetryStatusNoRetryTest() {
686         String reqId = "reqId123";
687         execution.setVariable("mso-request-id", reqId);
688         execution.setVariable("retryCount", 3);
689         execution.setVariable("handlingCode", "Success");
690         execution.setVariable("gCurrentSequence", 1);
691         InfraActiveRequests req = new InfraActiveRequests();
692         doReturn(req).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
693         workflowActionBBTasks.checkRetryStatus(execution);
694         assertEquals(0, execution.getVariable("retryCount"));
695     }
696
697     @Test
698     public void updateInstanceId() {
699         String reqId = "req123";
700         String instanceId = "123123123";
701         execution.setVariable("mso-request-id", reqId);
702         execution.setVariable("resourceId", instanceId);
703         execution.setVariable("resourceType", WorkflowType.SERVICE);
704         doReturn(reqMock).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
705         doNothing().when(requestsDbClient).updateInfraActiveRequests(isA(InfraActiveRequests.class));
706         workflowActionBBTasks.updateInstanceId(execution);
707         Mockito.verify(reqMock, Mockito.times(1)).setServiceInstanceId(instanceId);
708     }
709
710     @Test
711     public void getConfigurationId() throws Exception {
712         org.onap.aai.domain.yang.Vnfc vnfc = new org.onap.aai.domain.yang.Vnfc();
713         vnfc.setModelInvariantId("modelInvariantId");
714         vnfc.setVnfcName("testVnfcName");
715         List<Configuration> configurations = new ArrayList<>();
716         org.onap.aai.domain.yang.Configuration configuration = new org.onap.aai.domain.yang.Configuration();
717         configuration.setConfigurationId("configurationId");
718         configuration.setModelCustomizationId("modelCustimizationId");
719         configuration.setConfigurationName("testConfigurationName");
720         configurations.add(configuration);
721         doReturn(configurations.get(0).getConfigurationId()).when(workflowActionBBTasks).getConfigurationId(vnfc);
722         assertEquals(workflowActionBBTasks.getConfigurationId(vnfc), "configurationId");
723     }
724
725     @Test
726     public void setServiceInstanceNameTest() {
727         String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
728         WorkflowType resourceType = WorkflowType.SERVICE;
729         InfraActiveRequests request = new InfraActiveRequests();
730         ServiceInstance service = new ServiceInstance();
731         service.setServiceInstanceName("serviceInstanceName");
732         doReturn(service).when(bbSetupUtils).getAAIServiceInstanceById(resourceId);
733
734         workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
735         assertEquals("serviceInstanceName", request.getServiceInstanceName());
736     }
737
738     @Test
739     public void setVnfNameTest() {
740         String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
741         WorkflowType resourceType = WorkflowType.VNF;
742         InfraActiveRequests request = new InfraActiveRequests();
743         GenericVnf vnf = new GenericVnf();
744         vnf.setVnfName("vnfName");
745         doReturn(vnf).when(bbSetupUtils).getAAIGenericVnf(resourceId);
746
747         workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
748         assertEquals("vnfName", request.getVnfName());
749     }
750
751     @Test
752     public void setVfModuleNameTest() {
753         String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
754         WorkflowType resourceType = WorkflowType.VFMODULE;
755         InfraActiveRequests request = new InfraActiveRequests();
756         request.setVnfId("ae5cc3e8-c13c-4d88-aaf6-694ab4977b0e");
757         VfModule vfModule = new VfModule();
758         vfModule.setVfModuleName("vfModuleName");
759         doReturn(vfModule).when(bbSetupUtils).getAAIVfModule("ae5cc3e8-c13c-4d88-aaf6-694ab4977b0e", resourceId);
760
761         workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
762         assertEquals("vfModuleName", request.getVfModuleName());
763     }
764
765     @Test
766     public void setNetworkNameTest() {
767         String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
768         WorkflowType resourceType = WorkflowType.NETWORK;
769         InfraActiveRequests request = new InfraActiveRequests();
770         L3Network network = new L3Network();
771         network.setNetworkName("networkName");
772         doReturn(network).when(bbSetupUtils).getAAIL3Network(resourceId);
773
774         workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
775         assertEquals("networkName", request.getNetworkName());
776     }
777
778     @Test
779     public void setConfigurationNameTest() {
780         String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
781         WorkflowType resourceType = WorkflowType.CONFIGURATION;
782         InfraActiveRequests request = new InfraActiveRequests();
783         Configuration configuration = new Configuration();
784         configuration.setConfigurationName("configurationName");
785         doReturn(configuration).when(bbSetupUtils).getAAIConfiguration(resourceId);
786
787         workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
788         assertEquals("configurationName", request.getConfigurationName());
789     }
790
791     @Test
792     public void setInstanceGroupNameTest() {
793         String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
794         WorkflowType resourceType = WorkflowType.INSTANCE_GROUP;
795         InfraActiveRequests request = new InfraActiveRequests();
796         InstanceGroup instanceGroup = new InstanceGroup();
797         instanceGroup.setInstanceGroupName("instanceGroupName");
798         doReturn(instanceGroup).when(bbSetupUtils).getAAIInstanceGroup(resourceId);
799
800         workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
801         assertEquals("instanceGroupName", request.getInstanceGroupName());
802     }
803
804     @Test
805     public void setVolumeGroupNameTest() {
806         String resourceId = "40bc4ebd-11df-4610-8055-059f7441ec1c";
807         WorkflowType resourceType = WorkflowType.VOLUMEGROUP;
808         InfraActiveRequests request = new InfraActiveRequests();
809         request.setVnfId("4aa72c90-21eb-4465-8847-997e27af6c3e");
810         VolumeGroup volumeGroup = new VolumeGroup();
811         volumeGroup.setVolumeGroupName("volumeGroupName");
812         Optional<VolumeGroup> returnVolumeGroup = Optional.of(volumeGroup);
813
814         doReturn(returnVolumeGroup).when(bbSetupUtils).getRelatedVolumeGroupByIdFromVnf(request.getVnfId(), resourceId);
815         workflowActionBBTasks.setInstanceName(resourceId, resourceType, request);
816
817         assertEquals("volumeGroupName", request.getVolumeGroupName());
818     }
819
820     private void prepareDelegateExecution() {
821         execution.setVariable("mso-request-id", SAMPLE_MSO_REQUEST_ID);
822         execution.setVariable("requestAction", SAMPLE_REQUEST_ACTION);
823         execution.setVariable("gCurrentSequence", SAMPLE_SEQUENCE);
824         execution.setVariable("homing", false);
825         execution.setVariable("calledHoming", false);
826     }
827 }