2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 - 2018 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.so.bpmn.infrastructure.workflow.tasks;
23 import static org.hamcrest.CoreMatchers.containsString;
24 import static org.hamcrest.CoreMatchers.equalTo;
25 import static org.junit.Assert.assertEquals;
26 import static org.junit.Assert.assertNull;
27 import static org.junit.Assert.assertThat;
28 import static org.mockito.Matchers.anyObject;
29 import static org.mockito.Matchers.anyString;
30 import static org.mockito.Mockito.doReturn;
31 import static org.mockito.Mockito.when;
33 import java.io.IOException;
34 import java.net.MalformedURLException;
35 import java.nio.file.Files;
36 import java.nio.file.Paths;
37 import java.util.ArrayList;
38 import java.util.Arrays;
39 import java.util.LinkedHashMap;
40 import java.util.LinkedList;
41 import java.util.List;
42 import java.util.Optional;
43 import java.util.UUID;
45 import org.camunda.bpm.engine.delegate.BpmnError;
46 import org.camunda.bpm.engine.delegate.DelegateExecution;
47 import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake;
48 import org.junit.Before;
49 import org.junit.Ignore;
50 import org.junit.Rule;
51 import org.junit.Test;
52 import org.junit.rules.ExpectedException;
53 import org.onap.aai.domain.yang.GenericVnf;
54 import org.onap.aai.domain.yang.L3Network;
55 import org.onap.aai.domain.yang.ServiceInstance;
56 import org.onap.aai.domain.yang.VfModule;
57 import org.onap.aai.domain.yang.VfModules;
58 import org.onap.aai.domain.yang.VolumeGroup;
59 import org.onap.so.bpmn.BaseTaskTest;
60 import org.onap.so.bpmn.servicedecomposition.bbobjects.Collection;
61 import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock;
62 import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock;
63 import org.onap.so.bpmn.servicedecomposition.entities.WorkflowResourceIds;
64 import org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization;
65 import org.onap.so.db.catalog.beans.CollectionResource;
66 import org.onap.so.db.catalog.beans.CollectionResourceCustomization;
67 import org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization;
68 import org.onap.so.db.catalog.beans.HeatEnvironment;
69 import org.onap.so.db.catalog.beans.HeatTemplate;
70 import org.onap.so.db.catalog.beans.InstanceGroup;
71 import org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization;
72 import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
73 import org.onap.so.db.catalog.beans.Service;
74 import org.onap.so.db.catalog.beans.VfModuleCustomization;
75 import org.onap.so.db.catalog.beans.macro.NorthBoundRequest;
76 import org.onap.so.db.catalog.beans.macro.OrchestrationFlow;
77 import org.onap.so.serviceinstancebeans.ModelInfo;
78 import org.onap.so.serviceinstancebeans.RequestDetails;
79 import org.onap.so.serviceinstancebeans.RequestParameters;
80 import org.onap.so.serviceinstancebeans.ServiceInstancesRequest;
81 import org.onap.so.serviceinstancebeans.SubscriberInfo;
82 import org.springframework.beans.factory.annotation.Autowired;
84 import com.fasterxml.jackson.databind.ObjectMapper;
86 public class WorkflowActionTest extends BaseTaskTest {
88 protected WorkflowAction workflowAction;
90 private DelegateExecution execution;
93 public ExpectedException thrown = ExpectedException.none();
96 public void before() throws Exception {
97 execution = new DelegateExecutionFake();
98 org.onap.aai.domain.yang.ServiceInstance servInstance = new org.onap.aai.domain.yang.ServiceInstance();
99 servInstance.setServiceInstanceId("TEST");
100 when(bbSetupUtils.getAAIServiceInstanceByName(anyString(), anyObject())).thenReturn(servInstance);
101 workflowAction.setBbInputSetupUtils(bbSetupUtils);
102 workflowAction.setBbInputSetup(bbInputSetup);
108 public void selectExecutionListALaCarteNetworkCreateTest() throws Exception{
109 String gAction = "createInstance";
110 String resource = "Network";
111 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
112 execution.setVariable("requestAction", gAction);
113 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroAssign.json")));
114 execution.setVariable("bpmnRequest", bpmnRequest);
115 execution.setVariable("aLaCarte", true);
116 execution.setVariable("apiVersion", "7");
117 execution.setVariable("requestUri", "v6/networks/123");
118 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
119 List<OrchestrationFlow> orchFlows = new LinkedList<>();
120 northBoundRequest.setOrchestrationFlowList(orchFlows);
121 OrchestrationFlow orch1 = new OrchestrationFlow();
122 orch1.setFlowName("AssignNetwork1802BB");
123 orchFlows.add(orch1);
124 OrchestrationFlow orch2 = new OrchestrationFlow();
125 orch2.setFlowName("CreateNetworkBB");
126 orchFlows.add(orch2);
127 OrchestrationFlow orch3 = new OrchestrationFlow();
128 orch3.setFlowName("ActivateNetworkBB");
129 orchFlows.add(orch3);
131 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,true)).thenReturn(northBoundRequest);
134 workflowAction.selectExecutionList(execution);
135 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
136 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"AssignNetwork1802BB");
137 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
138 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
142 public void selectExecutionListALaCarteNetworkDeleteTest() throws Exception{
143 String gAction = "deleteInstance";
144 String resource = "Network";
145 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
146 execution.setVariable("requestAction", gAction);
147 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroAssign.json")));
148 execution.setVariable("bpmnRequest", bpmnRequest);
149 execution.setVariable("aLaCarte", true);
150 execution.setVariable("apiVersion", "7");
151 execution.setVariable("requestUri", "v6/networks/123");
152 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
153 List<OrchestrationFlow> orchFlows = new LinkedList<>();
154 northBoundRequest.setOrchestrationFlowList(orchFlows);
155 OrchestrationFlow orch1 = new OrchestrationFlow();
156 orch1.setFlowName("DeactivateNetworkBB");
157 orchFlows.add(orch1);
158 OrchestrationFlow orch2 = new OrchestrationFlow();
159 orch2.setFlowName("DeleteNetworkBB");
160 orchFlows.add(orch2);
161 OrchestrationFlow orch3 = new OrchestrationFlow();
162 orch3.setFlowName("UnassignNetwork1802BB");
163 orchFlows.add(orch3);
164 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,true)).thenReturn(northBoundRequest);
165 workflowAction.selectExecutionList(execution);
166 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
167 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"DeactivateNetworkBB");
168 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkBB");
169 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"UnassignNetwork1802BB");
173 public void selectExecutionListALaCarteServiceCreateTest() throws Exception{
174 String gAction = "createInstance";
175 String resource = "Service";
176 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
177 execution.setVariable("requestAction", gAction);
178 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroAssign.json")));
179 execution.setVariable("bpmnRequest", bpmnRequest);
180 execution.setVariable("aLaCarte", true);
181 execution.setVariable("apiVersion", "7");
182 execution.setVariable("requestUri", "v6/serviceInstances/123");
184 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
185 List<OrchestrationFlow> orchFlows = new LinkedList<>();
186 northBoundRequest.setOrchestrationFlowList(orchFlows);
187 OrchestrationFlow orch1 = new OrchestrationFlow();
188 orch1.setFlowName("AssignServiceInstanceBB");
189 orchFlows.add(orch1);
190 OrchestrationFlow orch2 = new OrchestrationFlow();
191 orch2.setFlowName("ActivateServiceInstanceBB");
192 orchFlows.add(orch2);
193 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,true)).thenReturn(northBoundRequest);
194 workflowAction.selectExecutionList(execution);
195 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
196 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"AssignServiceInstanceBB");
197 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"ActivateServiceInstanceBB");
201 * SERVICE MACRO TESTS
204 public void selectExecutionListServiceMacroAssignTest() throws Exception{
205 String gAction = "assignInstance";
206 String resource = "Service";
207 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
208 execution.setVariable("requestAction", gAction);
209 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroAssign.json")));
210 execution.setVariable("bpmnRequest", bpmnRequest);
211 execution.setVariable("aLaCarte", false);
212 execution.setVariable("apiVersion", "7");
213 execution.setVariable("requestUri", "v6/serviceInstances/123");
215 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
216 List<OrchestrationFlow> orchFlows = new LinkedList<>();
217 northBoundRequest.setOrchestrationFlowList(orchFlows);
218 OrchestrationFlow orch1 = new OrchestrationFlow();
219 orch1.setFlowName("AssignServiceInstanceBB");
220 orchFlows.add(orch1);
221 OrchestrationFlow orch2 = new OrchestrationFlow();
222 orch2.setFlowName("AssignNetworkBB");
223 orchFlows.add(orch2);
224 OrchestrationFlow orch3 = new OrchestrationFlow();
225 orch3.setFlowName("AssignVnfBB");
226 orchFlows.add(orch3);
227 OrchestrationFlow orch4 = new OrchestrationFlow();
228 orch4.setFlowName("AssignVolumeGroupBB");
229 orchFlows.add(orch4);
230 OrchestrationFlow orch5 = new OrchestrationFlow();
231 orch5.setFlowName("AssignVfModuleBB");
232 orchFlows.add(orch5);
234 VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
235 vfModuleCustomization.setModelCustomizationUUID("a25e8e8c-58b8-4eec-810c-97dcc1f5cb7f");
236 HeatEnvironment volumeHeatEnv = new HeatEnvironment();
237 vfModuleCustomization.setVolumeHeatEnv(volumeHeatEnv);
238 org.onap.so.db.catalog.beans.VfModule vfModule = new org.onap.so.db.catalog.beans.VfModule();
239 HeatTemplate volumeHeatTemplate = new HeatTemplate();
240 vfModule.setVolumeHeatTemplate(volumeHeatTemplate);
241 vfModuleCustomization.setVfModule(vfModule);
243 VfModuleCustomization vfModuleCustomization2 = new VfModuleCustomization();
244 vfModuleCustomization2.setModelCustomizationUUID("72d9d1cd-f46d-447a-abdb-451d6fb05fa8");
245 HeatEnvironment heatEnvironment = new HeatEnvironment();
246 vfModuleCustomization2.setHeatEnvironment(heatEnvironment);
247 org.onap.so.db.catalog.beans.VfModule vfModule2 = new org.onap.so.db.catalog.beans.VfModule();
248 HeatTemplate moduleHeatTemplate = new HeatTemplate();
249 vfModule2.setModuleHeatTemplate(moduleHeatTemplate);
250 vfModuleCustomization2.setVfModule(vfModule2);
252 VfModuleCustomization vfModuleCustomization3 = vfModuleCustomization2;
253 vfModuleCustomization3.setModelCustomizationUUID("72d9d1cd-f46d-447a-abdb-451d6fb05fa8");
255 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
256 when(catalogDbClient.getVfModuleCustomizationByModelCuztomizationUUID("a25e8e8c-58b8-4eec-810c-97dcc1f5cb7f")).thenReturn(vfModuleCustomization);
257 when(catalogDbClient.getVfModuleCustomizationByModelCuztomizationUUID("72d9d1cd-f46d-447a-abdb-451d6fb05fa8")).thenReturn(vfModuleCustomization2);
258 when(catalogDbClient.getVfModuleCustomizationByModelCuztomizationUUID("da4d4327-fb7d-4311-ac7a-be7ba60cf969")).thenReturn(vfModuleCustomization3);
259 workflowAction.selectExecutionList(execution);
260 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
261 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"AssignServiceInstanceBB");
262 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"AssignVnfBB");
263 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"AssignVolumeGroupBB");
264 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"AssignVfModuleBB");
265 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"AssignVfModuleBB");
266 assertEquals(ebbs.get(5).getBuildingBlock().getBpmnFlowName(),"AssignVfModuleBB");
270 public void selectExecutionListServiceMacroActivateTest() throws Exception{
271 String gAction = "activateInstance";
272 String resource = "Service";
273 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
274 execution.setVariable("requestAction", gAction);
275 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroActivateDeleteUnassign.json")));
276 execution.setVariable("bpmnRequest", bpmnRequest);
277 execution.setVariable("aLaCarte", false);
278 execution.setVariable("apiVersion", "7");
279 execution.setVariable("requestUri", "v6/serviceInstances/si0");
281 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
282 List<OrchestrationFlow> orchFlows = new LinkedList<>();
283 northBoundRequest.setOrchestrationFlowList(orchFlows);
284 OrchestrationFlow orch1 = new OrchestrationFlow();
285 orch1.setFlowName("CreateNetworkBB");
286 orchFlows.add(orch1);
287 OrchestrationFlow orch2 = new OrchestrationFlow();
288 orch2.setFlowName("ActivateNetworkBB");
289 orchFlows.add(orch2);
290 OrchestrationFlow orch3 = new OrchestrationFlow();
291 orch3.setFlowName("CreateVolumeGroupBB");
292 orchFlows.add(orch3);
293 OrchestrationFlow orch4 = new OrchestrationFlow();
294 orch4.setFlowName("ActivateVolumeGroupBB");
295 orchFlows.add(orch4);
296 OrchestrationFlow orch5 = new OrchestrationFlow();
297 orch5.setFlowName("CreateVfModuleBB");
298 orchFlows.add(orch5);
299 OrchestrationFlow orch6 = new OrchestrationFlow();
300 orch6.setFlowName("ActivateVfModuleBB");
301 orchFlows.add(orch6);
302 OrchestrationFlow orch7 = new OrchestrationFlow();
303 orch7.setFlowName("ActivateVnfBB");
304 orchFlows.add(orch7);
305 OrchestrationFlow orch8 = new OrchestrationFlow();
306 orch8.setFlowName("ActivateServiceInstanceBB");
307 orchFlows.add(orch8);
309 ServiceInstance serviceInstanceAAI = new ServiceInstance();
310 serviceInstanceAAI.setServiceInstanceId("si0");
311 org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance serviceInstanceMSO = new org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance();
312 org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf vnf = new org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf();
313 vnf.setVnfId("vnf0");
315 org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule vfModule = new org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule();
316 vfModule.setVfModuleId("vfModule0");
317 vnf.getVfModules().add(vfModule);
318 org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule vfModule2 = new org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule();
319 vfModule2.setVfModuleId("vfModule1");
320 vnf.getVfModules().add(vfModule2);
322 org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup volumeGroup = new org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup();
323 volumeGroup.setVolumeGroupId("volumeGroup0");
324 vnf.getVolumeGroups().add(volumeGroup);
326 serviceInstanceMSO.getVnfs().add(vnf);
328 doReturn(serviceInstanceAAI).when(bbSetupUtils).getAAIServiceInstanceById("si0");
329 doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI);
330 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
331 workflowAction.selectExecutionList(execution);
332 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
333 assertEquals("CreateVolumeGroupBB", ebbs.get(0).getBuildingBlock().getBpmnFlowName());
334 assertEquals("volumeGroup0", ebbs.get(0).getWorkflowResourceIds().getVolumeGroupId());
335 assertEquals("ActivateVolumeGroupBB", ebbs.get(1).getBuildingBlock().getBpmnFlowName());
336 assertEquals("volumeGroup0", ebbs.get(1).getWorkflowResourceIds().getVolumeGroupId());
337 assertEquals("CreateVfModuleBB", ebbs.get(2).getBuildingBlock().getBpmnFlowName());
338 assertEquals("vfModule0", ebbs.get(2).getWorkflowResourceIds().getVfModuleId());
339 assertEquals("CreateVfModuleBB", ebbs.get(3).getBuildingBlock().getBpmnFlowName());
340 assertEquals("vfModule1", ebbs.get(3).getWorkflowResourceIds().getVfModuleId());
341 assertEquals("ActivateVfModuleBB", ebbs.get(4).getBuildingBlock().getBpmnFlowName());
342 assertEquals("vfModule0", ebbs.get(4).getWorkflowResourceIds().getVfModuleId());
343 assertEquals("ActivateVfModuleBB", ebbs.get(5).getBuildingBlock().getBpmnFlowName());
344 assertEquals("vfModule1", ebbs.get(5).getWorkflowResourceIds().getVfModuleId());
345 assertEquals("ActivateVnfBB", ebbs.get(6).getBuildingBlock().getBpmnFlowName());
346 assertEquals("vnf0", ebbs.get(6).getWorkflowResourceIds().getVnfId());
347 assertEquals("ActivateServiceInstanceBB", ebbs.get(7).getBuildingBlock().getBpmnFlowName());
348 assertEquals("si0", ebbs.get(7).getWorkflowResourceIds().getServiceInstanceId());
353 public void selectExecutionListServiceMacroDeactivateTest() throws Exception{
354 String gAction = "deactivateInstance";
355 String resource = "Service";
356 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
357 execution.setVariable("requestAction", gAction);
358 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroActivateDeleteUnassign.json")));
359 execution.setVariable("bpmnRequest", bpmnRequest);
360 execution.setVariable("aLaCarte", false);
361 execution.setVariable("apiVersion", "7");
362 execution.setVariable("requestUri", "v6/serviceInstances/123");
364 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
365 List<OrchestrationFlow> orchFlows = new LinkedList<>();
366 northBoundRequest.setOrchestrationFlowList(orchFlows);
367 OrchestrationFlow orch = new OrchestrationFlow();
368 orch.setFlowName("DeactivateServiceInstanceBB");
371 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
372 workflowAction.selectExecutionList(execution);
373 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
374 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"DeactivateServiceInstanceBB");
378 public void selectExecutionListServiceMacroEmptyServiceTest() throws Exception{
379 String gAction = "createInstance";
380 String resource = "Service";
381 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
382 execution.setVariable("requestAction", gAction);
383 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroActivateDeleteUnassign.json")));
384 execution.setVariable("bpmnRequest", bpmnRequest);
385 execution.setVariable("aLaCarte", false);
386 execution.setVariable("apiVersion", "7");
387 execution.setVariable("requestUri", "v6/serviceInstances/123");
389 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
390 northBoundRequest.setIsToplevelflow(true);
391 List<OrchestrationFlow> orchFlows = new LinkedList<>();
392 northBoundRequest.setOrchestrationFlowList(orchFlows);
393 OrchestrationFlow orch1 = new OrchestrationFlow();
394 orch1.setFlowName("AssignServiceInstanceBB");
395 orchFlows.add(orch1);
396 OrchestrationFlow orch2 = new OrchestrationFlow();
397 orch2.setFlowName("CreateNetworkCollectionBB");
398 orchFlows.add(orch2);
399 OrchestrationFlow orch3 = new OrchestrationFlow();
400 orch3.setFlowName("AssignNetworkBB");
401 orchFlows.add(orch3);
402 OrchestrationFlow orch4 = new OrchestrationFlow();
403 orch4.setFlowName("AssignVnfBB");
404 orchFlows.add(orch4);
405 OrchestrationFlow orch5 = new OrchestrationFlow();
406 orch5.setFlowName("AssignVolumeGroupBB");
407 orchFlows.add(orch5);
408 OrchestrationFlow orch6 = new OrchestrationFlow();
409 orch6.setFlowName("AssignVfModuleBB");
410 orchFlows.add(orch6);
411 OrchestrationFlow orch7 = new OrchestrationFlow();
412 orch7.setFlowName("CreateNetworkBB");
413 orchFlows.add(orch7);
414 OrchestrationFlow orch8 = new OrchestrationFlow();
415 orch8.setFlowName("ActivateNetworkBB");
416 orchFlows.add(orch8);
417 OrchestrationFlow orch9 = new OrchestrationFlow();
418 orch9.setFlowName("CreateVolumeGroupBB");
419 orchFlows.add(orch9);
420 OrchestrationFlow orch10 = new OrchestrationFlow();
421 orch10.setFlowName("ActivateVolumeGroupBB");
422 orchFlows.add(orch10);
423 OrchestrationFlow orch11 = new OrchestrationFlow();
424 orch11.setFlowName("CreateVfModuleBB");
425 orchFlows.add(orch11);
426 OrchestrationFlow orch12 = new OrchestrationFlow();
427 orch12.setFlowName("ActivateVfModuleBB");
428 orchFlows.add(orch12);
429 OrchestrationFlow orch13 = new OrchestrationFlow();
430 orch13.setFlowName("AssignFabricConfigurationBB");
431 orchFlows.add(orch13);
432 OrchestrationFlow orch14 = new OrchestrationFlow();
433 orch14.setFlowName("ActivateFabricConfigurationBB");
434 orchFlows.add(orch14);
435 OrchestrationFlow orch15 = new OrchestrationFlow();
436 orch15.setFlowName("ActivateVnfBB");
437 orchFlows.add(orch15);
438 OrchestrationFlow orch16 = new OrchestrationFlow();
439 orch16.setFlowName("ActivateNetworkCollectionBB");
440 orchFlows.add(orch16);
441 OrchestrationFlow orch17 = new OrchestrationFlow();
442 orch17.setFlowName("ActivateServiceInstanceBB");
443 orchFlows.add(orch17);
445 Service service = new Service();
446 doReturn(service).when(catalogDbClient).getServiceByID("3c40d244-808e-42ca-b09a-256d83d19d0a");
447 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
448 workflowAction.selectExecutionList(execution);
449 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
450 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"AssignServiceInstanceBB");
451 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"ActivateServiceInstanceBB");
455 public void selectExecutionListServiceMacroCreateJustNetworkTest() throws Exception{
456 String gAction = "createInstance";
457 String resource = "Service";
458 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
459 execution.setVariable("requestAction", gAction);
460 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroActivateDeleteUnassign.json")));
461 execution.setVariable("bpmnRequest", bpmnRequest);
462 execution.setVariable("aLaCarte", false);
463 execution.setVariable("apiVersion", "7");
464 execution.setVariable("requestUri", "v6/serviceInstances/123");
466 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
467 northBoundRequest.setIsToplevelflow(true);
468 List<OrchestrationFlow> orchFlows = new LinkedList<>();
469 northBoundRequest.setOrchestrationFlowList(orchFlows);
470 OrchestrationFlow orch1 = new OrchestrationFlow();
471 orch1.setFlowName("AssignServiceInstanceBB");
472 orchFlows.add(orch1);
473 OrchestrationFlow orch2 = new OrchestrationFlow();
474 orch2.setFlowName("CreateNetworkCollectionBB");
475 orchFlows.add(orch2);
476 OrchestrationFlow orch3 = new OrchestrationFlow();
477 orch3.setFlowName("AssignNetworkBB");
478 orchFlows.add(orch3);
479 OrchestrationFlow orch4 = new OrchestrationFlow();
480 orch4.setFlowName("AssignVnfBB");
481 orchFlows.add(orch4);
482 OrchestrationFlow orch5 = new OrchestrationFlow();
483 orch5.setFlowName("AssignVolumeGroupBB");
484 orchFlows.add(orch5);
485 OrchestrationFlow orch6 = new OrchestrationFlow();
486 orch6.setFlowName("AssignVfModuleBB");
487 orchFlows.add(orch6);
488 OrchestrationFlow orch7 = new OrchestrationFlow();
489 orch7.setFlowName("CreateNetworkBB");
490 orchFlows.add(orch7);
491 OrchestrationFlow orch8 = new OrchestrationFlow();
492 orch8.setFlowName("ActivateNetworkBB");
493 orchFlows.add(orch8);
494 OrchestrationFlow orch9 = new OrchestrationFlow();
495 orch9.setFlowName("CreateVolumeGroupBB");
496 orchFlows.add(orch9);
497 OrchestrationFlow orch10 = new OrchestrationFlow();
498 orch10.setFlowName("ActivateVolumeGroupBB");
499 orchFlows.add(orch10);
500 OrchestrationFlow orch11 = new OrchestrationFlow();
501 orch11.setFlowName("CreateVfModuleBB");
502 orchFlows.add(orch11);
503 OrchestrationFlow orch12 = new OrchestrationFlow();
504 orch12.setFlowName("ActivateVfModuleBB");
505 orchFlows.add(orch12);
506 OrchestrationFlow orch13 = new OrchestrationFlow();
507 orch13.setFlowName("ActivateVnfBB");
508 orchFlows.add(orch13);
509 OrchestrationFlow orch14 = new OrchestrationFlow();
510 orch14.setFlowName("ActivateNetworkCollectionBB");
511 orchFlows.add(orch14);
512 OrchestrationFlow orch15 = new OrchestrationFlow();
513 orch15.setFlowName("ActivateServiceInstanceBB");
514 orchFlows.add(orch15);
516 Service service = new Service();
517 NetworkResourceCustomization networkCustomization = new NetworkResourceCustomization();
518 networkCustomization.setModelCustomizationUUID("1234");
519 service.getNetworkCustomizations().add(networkCustomization);
520 doReturn(service).when(catalogDbClient).getServiceByID("3c40d244-808e-42ca-b09a-256d83d19d0a");
521 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
522 workflowAction.selectExecutionList(execution);
523 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
524 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"AssignServiceInstanceBB");
525 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
526 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
527 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
528 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"ActivateServiceInstanceBB");
532 public void selectExecutionListServiceMacroCreateWithNetworkCollectionTest() throws Exception{
533 String gAction = "createInstance";
534 String resource = "Service";
535 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
536 execution.setVariable("requestAction", gAction);
537 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroActivateDeleteUnassign.json")));
538 execution.setVariable("bpmnRequest", bpmnRequest);
539 execution.setVariable("aLaCarte", false);
540 execution.setVariable("apiVersion", "7");
541 execution.setVariable("requestUri", "v6/serviceInstances/123");
543 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
544 northBoundRequest.setIsToplevelflow(true);
545 List<OrchestrationFlow> orchFlows = new LinkedList<>();
546 northBoundRequest.setOrchestrationFlowList(orchFlows);
547 OrchestrationFlow orch1 = new OrchestrationFlow();
548 orch1.setFlowName("AssignServiceInstanceBB");
549 orchFlows.add(orch1);
550 OrchestrationFlow orch2 = new OrchestrationFlow();
551 orch2.setFlowName("CreateNetworkCollectionBB");
552 orchFlows.add(orch2);
553 OrchestrationFlow orch3 = new OrchestrationFlow();
554 orch3.setFlowName("AssignNetworkBB");
555 orchFlows.add(orch3);
556 OrchestrationFlow orch4 = new OrchestrationFlow();
557 orch4.setFlowName("AssignVnfBB");
558 orchFlows.add(orch4);
559 OrchestrationFlow orch5 = new OrchestrationFlow();
560 orch5.setFlowName("AssignVolumeGroupBB");
561 orchFlows.add(orch5);
562 OrchestrationFlow orch6 = new OrchestrationFlow();
563 orch6.setFlowName("AssignVfModuleBB");
564 orchFlows.add(orch6);
565 OrchestrationFlow orch7 = new OrchestrationFlow();
566 orch7.setFlowName("CreateNetworkBB");
567 orchFlows.add(orch7);
568 OrchestrationFlow orch8 = new OrchestrationFlow();
569 orch8.setFlowName("ActivateNetworkBB");
570 orchFlows.add(orch8);
571 OrchestrationFlow orch9 = new OrchestrationFlow();
572 orch9.setFlowName("CreateVolumeGroupBB");
573 orchFlows.add(orch9);
574 OrchestrationFlow orch10 = new OrchestrationFlow();
575 orch10.setFlowName("ActivateVolumeGroupBB");
576 orchFlows.add(orch10);
577 OrchestrationFlow orch11 = new OrchestrationFlow();
578 orch11.setFlowName("CreateVfModuleBB");
579 orchFlows.add(orch11);
580 OrchestrationFlow orch12 = new OrchestrationFlow();
581 orch12.setFlowName("ActivateVfModuleBB");
582 orchFlows.add(orch12);
583 OrchestrationFlow orch13 = new OrchestrationFlow();
584 orch13.setFlowName("ActivateVnfBB");
585 orchFlows.add(orch13);
586 OrchestrationFlow orch14 = new OrchestrationFlow();
587 orch14.setFlowName("ActivateNetworkCollectionBB");
588 orchFlows.add(orch14);
589 OrchestrationFlow orch15 = new OrchestrationFlow();
590 orch15.setFlowName("ActivateServiceInstanceBB");
591 orchFlows.add(orch15);
593 Service service = new Service();
594 List<NetworkResourceCustomization> networkCustomizations = new ArrayList<>();
595 NetworkResourceCustomization networkCust = new NetworkResourceCustomization();
596 networkCust.setModelCustomizationUUID("123");
597 networkCustomizations.add(networkCust);
598 service.setNetworkCustomizations(networkCustomizations);
599 NetworkCollectionResourceCustomization collectionResourceCustomization = new NetworkCollectionResourceCustomization();
600 collectionResourceCustomization.setModelCustomizationUUID("123");
602 CollectionResource collectionResource = new CollectionResource();
603 collectionResource.setToscaNodeType("NetworkCollection");
604 InstanceGroup instanceGroup = new InstanceGroup();
605 instanceGroup.setToscaNodeType("NetworkCollectionResource");
606 instanceGroup.setCollectionNetworkResourceCustomizations(new ArrayList<>());
607 CollectionNetworkResourceCustomization collectionNetworkResourceCust = new CollectionNetworkResourceCustomization();
608 collectionNetworkResourceCust.setModelCustomizationUUID("123");
609 collectionNetworkResourceCust.setNetworkResourceCustomization(collectionResourceCustomization);
610 instanceGroup.getCollectionNetworkResourceCustomizations().add(collectionNetworkResourceCust );
611 List<CollectionResourceInstanceGroupCustomization> collectionInstanceGroupCustomizations = new ArrayList<>();
612 CollectionResourceInstanceGroupCustomization collectionInstanceGroupCustomization = new CollectionResourceInstanceGroupCustomization();
613 collectionInstanceGroupCustomization.setModelCustomizationUUID("123");
614 collectionInstanceGroupCustomization.setSubInterfaceNetworkQuantity(3);
615 collectionInstanceGroupCustomizations.add(collectionInstanceGroupCustomization);
616 collectionInstanceGroupCustomization.setInstanceGroup(instanceGroup);
617 collectionInstanceGroupCustomization.setCollectionResourceCust(collectionResourceCustomization);
618 instanceGroup.setCollectionInstanceGroupCustomizations(collectionInstanceGroupCustomizations);
619 collectionResource.setInstanceGroup(instanceGroup);
620 collectionResourceCustomization.setCollectionResource(collectionResource);;
621 service.getCollectionResourceCustomizations().add(collectionResourceCustomization);
622 doReturn(service).when(catalogDbClient).getServiceByID("3c40d244-808e-42ca-b09a-256d83d19d0a");
623 doReturn(collectionResourceCustomization).when(catalogDbClient).getNetworkCollectionResourceCustomizationByID("123");
624 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
625 workflowAction.selectExecutionList(execution);
626 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
627 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"AssignServiceInstanceBB");
628 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"CreateNetworkCollectionBB");
629 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
630 assertEquals("Network id not empty", !ebbs.get(2).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
631 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
632 assertEquals("Network id not empty", !ebbs.get(3).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
633 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
634 assertEquals("Network id not empty", !ebbs.get(4).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
635 assertEquals("Network id same for AssignNetworkBB CreateNetworkBB ActivateNetworkBB",
636 ebbs.get(2).getWorkflowResourceIds().getNetworkId() == ebbs.get(3).getWorkflowResourceIds().getNetworkId()
637 && ebbs.get(3).getWorkflowResourceIds().getNetworkId() == ebbs.get(4).getWorkflowResourceIds().getNetworkId(), true);
638 assertEquals(ebbs.get(5).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
639 assertEquals("Network id not empty", !ebbs.get(5).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
640 assertEquals(ebbs.get(6).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
641 assertEquals("Network id not empty", !ebbs.get(6).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
642 assertEquals(ebbs.get(7).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
643 assertEquals("Network id not empty", !ebbs.get(7).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
644 assertEquals("Network id same for AssignNetworkBB CreateNetworkBB ActivateNetworkBB",
645 ebbs.get(5).getWorkflowResourceIds().getNetworkId() == ebbs.get(6).getWorkflowResourceIds().getNetworkId()
646 && ebbs.get(6).getWorkflowResourceIds().getNetworkId() == ebbs.get(7).getWorkflowResourceIds().getNetworkId(), true);
647 assertEquals(ebbs.get(8).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
648 assertEquals("Network id not empty", !ebbs.get(8).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
649 assertEquals(ebbs.get(9).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
650 assertEquals("Network id not empty", !ebbs.get(9).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
651 assertEquals(ebbs.get(10).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
652 assertEquals("Network id not empty", !ebbs.get(10).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
653 assertEquals("Network id same for AssignNetworkBB CreateNetworkBB ActivateNetworkBB",
654 ebbs.get(8).getWorkflowResourceIds().getNetworkId() == ebbs.get(9).getWorkflowResourceIds().getNetworkId()
655 && ebbs.get(9).getWorkflowResourceIds().getNetworkId() == ebbs.get(10).getWorkflowResourceIds().getNetworkId(), true);
656 assertEquals(ebbs.get(11).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkCollectionBB");
657 assertEquals(ebbs.get(12).getBuildingBlock().getBpmnFlowName(),"ActivateServiceInstanceBB");
661 public void selectExecutionListServiceMacroCreateWithUserParams() throws Exception{
662 String gAction = "createInstance";
663 String resource = "Service";
664 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
665 execution.setVariable("requestAction", gAction);
666 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroAssign.json")));
667 execution.setVariable("bpmnRequest", bpmnRequest);
668 execution.setVariable("aLaCarte", false);
669 execution.setVariable("apiVersion", "7");
670 execution.setVariable("requestUri", "v6/serviceInstances/123");
672 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
673 List<OrchestrationFlow> orchFlows = new LinkedList<>();
674 northBoundRequest.setOrchestrationFlowList(orchFlows);
675 OrchestrationFlow orch1 = new OrchestrationFlow();
676 orch1.setFlowName("AssignServiceInstanceBB");
677 orchFlows.add(orch1);
678 OrchestrationFlow orch2 = new OrchestrationFlow();
679 orch2.setFlowName("CreateNetworkCollectionBB");
680 orchFlows.add(orch2);
681 OrchestrationFlow orch3 = new OrchestrationFlow();
682 orch3.setFlowName("AssignNetworkBB");
683 orchFlows.add(orch3);
684 OrchestrationFlow orch4 = new OrchestrationFlow();
685 orch4.setFlowName("AssignVnfBB");
686 orchFlows.add(orch4);
687 OrchestrationFlow orch5 = new OrchestrationFlow();
688 orch5.setFlowName("AssignVolumeGroupBB");
689 orchFlows.add(orch5);
690 OrchestrationFlow orch6 = new OrchestrationFlow();
691 orch6.setFlowName("AssignVfModuleBB");
692 orchFlows.add(orch6);
693 OrchestrationFlow orch7 = new OrchestrationFlow();
694 orch7.setFlowName("CreateNetworkBB");
695 orchFlows.add(orch7);
696 OrchestrationFlow orch8 = new OrchestrationFlow();
697 orch8.setFlowName("ActivateNetworkBB");
698 orchFlows.add(orch8);
699 OrchestrationFlow orch9 = new OrchestrationFlow();
700 orch9.setFlowName("CreateVolumeGroupBB");
701 orchFlows.add(orch9);
702 OrchestrationFlow orch10 = new OrchestrationFlow();
703 orch10.setFlowName("ActivateVolumeGroupBB");
704 orchFlows.add(orch10);
705 OrchestrationFlow orch11 = new OrchestrationFlow();
706 orch11.setFlowName("CreateVfModuleBB");
707 orchFlows.add(orch11);
708 OrchestrationFlow orch12 = new OrchestrationFlow();
709 orch12.setFlowName("ActivateVfModuleBB");
710 orchFlows.add(orch12);
711 OrchestrationFlow orch13 = new OrchestrationFlow();
712 orch13.setFlowName("ActivateVnfBB");
713 orchFlows.add(orch13);
714 OrchestrationFlow orch14 = new OrchestrationFlow();
715 orch14.setFlowName("ActivateNetworkCollectionBB");
716 orchFlows.add(orch14);
717 OrchestrationFlow orch15 = new OrchestrationFlow();
718 orch15.setFlowName("ActivateServiceInstanceBB");
719 orchFlows.add(orch15);
721 VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
722 vfModuleCustomization.setModelCustomizationUUID("a25e8e8c-58b8-4eec-810c-97dcc1f5cb7f");
723 HeatEnvironment volumeHeatEnv = new HeatEnvironment();
724 vfModuleCustomization.setVolumeHeatEnv(volumeHeatEnv);
725 org.onap.so.db.catalog.beans.VfModule vfModule = new org.onap.so.db.catalog.beans.VfModule();
726 HeatTemplate volumeHeatTemplate = new HeatTemplate();
727 vfModule.setVolumeHeatTemplate(volumeHeatTemplate);
728 vfModuleCustomization.setVfModule(vfModule);
730 VfModuleCustomization vfModuleCustomization2 = new VfModuleCustomization();
731 vfModuleCustomization2.setModelCustomizationUUID("72d9d1cd-f46d-447a-abdb-451d6fb05fa8");
732 HeatEnvironment heatEnvironment = new HeatEnvironment();
733 vfModuleCustomization2.setHeatEnvironment(heatEnvironment);
734 org.onap.so.db.catalog.beans.VfModule vfModule2 = new org.onap.so.db.catalog.beans.VfModule();
735 HeatTemplate moduleHeatTemplate = new HeatTemplate();
736 vfModule2.setModuleHeatTemplate(moduleHeatTemplate);
737 vfModuleCustomization2.setVfModule(vfModule2);
739 VfModuleCustomization vfModuleCustomization3 = vfModuleCustomization2;
740 vfModuleCustomization3.setModelCustomizationUUID("72d9d1cd-f46d-447a-abdb-451d6fb05fa8");
742 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
743 when(catalogDbClient.getVfModuleCustomizationByModelCuztomizationUUID("a25e8e8c-58b8-4eec-810c-97dcc1f5cb7f")).thenReturn(vfModuleCustomization);
744 when(catalogDbClient.getVfModuleCustomizationByModelCuztomizationUUID("72d9d1cd-f46d-447a-abdb-451d6fb05fa8")).thenReturn(vfModuleCustomization2);
745 when(catalogDbClient.getVfModuleCustomizationByModelCuztomizationUUID("da4d4327-fb7d-4311-ac7a-be7ba60cf969")).thenReturn(vfModuleCustomization3);
746 workflowAction.selectExecutionList(execution);
747 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
749 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"AssignServiceInstanceBB");
750 assertEquals(3,ebbs.get(0).getWorkflowResourceIds().getServiceInstanceId().length());
751 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"AssignVnfBB");
752 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(1).getWorkflowResourceIds().getVnfId().length());
753 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"AssignVolumeGroupBB");
754 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(2).getWorkflowResourceIds().getVolumeGroupId().length());
755 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"AssignVfModuleBB");
756 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(3).getWorkflowResourceIds().getVfModuleId().length());
757 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"AssignVfModuleBB");
758 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(4).getWorkflowResourceIds().getVfModuleId().length());
759 assertEquals(ebbs.get(5).getBuildingBlock().getBpmnFlowName(),"AssignVfModuleBB");
760 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(5).getWorkflowResourceIds().getVfModuleId().length());
761 assertEquals(ebbs.get(6).getBuildingBlock().getBpmnFlowName(),"CreateVolumeGroupBB");
762 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(6).getWorkflowResourceIds().getVolumeGroupId().length());
763 assertEquals(ebbs.get(7).getBuildingBlock().getBpmnFlowName(),"ActivateVolumeGroupBB");
764 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(7).getWorkflowResourceIds().getVolumeGroupId().length());
765 assertEquals(ebbs.get(8).getBuildingBlock().getBpmnFlowName(),"CreateVfModuleBB");
766 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(8).getWorkflowResourceIds().getVfModuleId().length());
767 assertEquals(ebbs.get(9).getBuildingBlock().getBpmnFlowName(),"CreateVfModuleBB");
768 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(9).getWorkflowResourceIds().getVfModuleId().length());
769 assertEquals(ebbs.get(10).getBuildingBlock().getBpmnFlowName(),"CreateVfModuleBB");
770 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(10).getWorkflowResourceIds().getVfModuleId().length());
771 assertEquals(ebbs.get(11).getBuildingBlock().getBpmnFlowName(),"ActivateVfModuleBB");
772 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(11).getWorkflowResourceIds().getVfModuleId().length());
773 assertEquals(ebbs.get(12).getBuildingBlock().getBpmnFlowName(),"ActivateVfModuleBB");
774 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(12).getWorkflowResourceIds().getVfModuleId().length());
775 assertEquals(ebbs.get(13).getBuildingBlock().getBpmnFlowName(),"ActivateVfModuleBB");
776 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(13).getWorkflowResourceIds().getVfModuleId().length());
777 assertEquals(ebbs.get(14).getBuildingBlock().getBpmnFlowName(),"ActivateVnfBB");
778 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(14).getWorkflowResourceIds().getVnfId().length());
779 assertEquals(ebbs.get(15).getBuildingBlock().getBpmnFlowName(),"ActivateServiceInstanceBB");
780 assertEquals(3,ebbs.get(0).getWorkflowResourceIds().getServiceInstanceId().length());
781 assertEquals(true, execution.getVariable("homing"));
785 public void selectExecutionListServiceMacroDeleteTest() throws Exception{
786 String gAction = "deleteInstance";
787 String resource = "Service";
788 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
789 execution.setVariable("requestAction", gAction);
790 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroActivateDeleteUnassign.json")));
791 execution.setVariable("bpmnRequest", bpmnRequest);
792 execution.setVariable("aLaCarte", false);
793 execution.setVariable("apiVersion", "7");
794 execution.setVariable("requestUri", "v6/serviceInstances/123");
796 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
797 List<OrchestrationFlow> orchFlows = new LinkedList<>();
798 northBoundRequest.setOrchestrationFlowList(orchFlows);
799 OrchestrationFlow orch1 = new OrchestrationFlow();
800 orch1.setFlowName("DeactivateVfModuleBB");
801 orchFlows.add(orch1);
802 OrchestrationFlow orch2 = new OrchestrationFlow();
803 orch2.setFlowName("DeleteVfModuleBB");
804 orchFlows.add(orch2);
805 OrchestrationFlow orch3 = new OrchestrationFlow();
806 orch3.setFlowName("DeactivateVolumeGroupBB");
807 orchFlows.add(orch3);
808 OrchestrationFlow orch4 = new OrchestrationFlow();
809 orch4.setFlowName("DeleteVolumeGroupBB");
810 orchFlows.add(orch4);
811 OrchestrationFlow orch5 = new OrchestrationFlow();
812 orch5.setFlowName("DeactivateVnfBB");
813 orchFlows.add(orch5);
814 OrchestrationFlow orch6 = new OrchestrationFlow();
815 orch6.setFlowName("DeactivateNetworkBB");
816 orchFlows.add(orch6);
817 OrchestrationFlow orch7 = new OrchestrationFlow();
818 orch7.setFlowName("DeleteNetworkBB");
819 orchFlows.add(orch7);
820 OrchestrationFlow orch8 = new OrchestrationFlow();
821 orch8.setFlowName("DeleteNetworkCollectionBB");
822 orchFlows.add(orch8);
823 OrchestrationFlow orch9 = new OrchestrationFlow();
824 orch9.setFlowName("DeactivateServiceInstanceBB");
825 orchFlows.add(orch9);
826 OrchestrationFlow orch10 = new OrchestrationFlow();
827 orch10.setFlowName("UnassignVfModuleBB");
828 orchFlows.add(orch10);
829 OrchestrationFlow orch11 = new OrchestrationFlow();
830 orch11.setFlowName("UnassignVolumeGroupBB");
831 orchFlows.add(orch11);
832 OrchestrationFlow orch12 = new OrchestrationFlow();
833 orch12.setFlowName("UnassignVnfBB");
834 orchFlows.add(orch12);
835 OrchestrationFlow orch13 = new OrchestrationFlow();
836 orch13.setFlowName("UnassignNetworkBB");
837 orchFlows.add(orch13);
838 OrchestrationFlow orch14 = new OrchestrationFlow();
839 orch14.setFlowName("UnassignServiceInstanceBB");
840 orchFlows.add(orch14);
842 ServiceInstance serviceInstanceAAI = new ServiceInstance();
843 serviceInstanceAAI.setServiceInstanceId("aaisi123");
844 org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance serviceInstanceMSO = new org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance();
845 org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf vnf = new org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf();
846 vnf.setVnfId("vnfId123");
848 org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule vfModule = new org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule();
849 vfModule.setVfModuleId("vfModule1");
850 vnf.getVfModules().add(vfModule);
851 org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule vfModule2 = new org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule();
852 vfModule2.setVfModuleId("vfModule2");
853 vnf.getVfModules().add(vfModule2);
855 org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup volumeGroup = new org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup();
856 volumeGroup.setVolumeGroupId("vg123");
857 vnf.getVolumeGroups().add(volumeGroup);
859 serviceInstanceMSO.getVnfs().add(vnf);
861 doReturn(serviceInstanceAAI).when(bbSetupUtils).getAAIServiceInstanceById("123");
862 doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI);
863 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
864 workflowAction.selectExecutionList(execution);
865 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
866 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"DeactivateVfModuleBB");
867 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"DeactivateVfModuleBB");
868 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"DeleteVfModuleBB");
869 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"DeleteVfModuleBB");
870 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"DeactivateVolumeGroupBB");
871 assertEquals(ebbs.get(5).getBuildingBlock().getBpmnFlowName(),"DeleteVolumeGroupBB");
872 assertEquals(ebbs.get(6).getBuildingBlock().getBpmnFlowName(),"DeactivateVnfBB");
873 assertEquals(ebbs.get(7).getBuildingBlock().getBpmnFlowName(),"DeactivateServiceInstanceBB");
874 assertEquals(ebbs.get(8).getBuildingBlock().getBpmnFlowName(),"UnassignVfModuleBB");
875 assertEquals(ebbs.get(9).getBuildingBlock().getBpmnFlowName(),"UnassignVfModuleBB");
876 assertEquals(ebbs.get(10).getBuildingBlock().getBpmnFlowName(),"UnassignVolumeGroupBB");
877 assertEquals(ebbs.get(11).getBuildingBlock().getBpmnFlowName(),"UnassignVnfBB");
878 assertEquals(ebbs.get(12).getBuildingBlock().getBpmnFlowName(),"UnassignServiceInstanceBB");
882 public void selectExecutionListServiceMacroUnassignTest() throws Exception{
883 String gAction = "unassignInstance";
884 String resource = "Service";
885 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
886 execution.setVariable("requestAction", gAction);
887 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroActivateDeleteUnassign.json")));
888 execution.setVariable("bpmnRequest", bpmnRequest);
889 execution.setVariable("aLaCarte", false);
890 execution.setVariable("apiVersion", "7");
891 execution.setVariable("requestUri", "v6/serviceInstances/123");
893 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
894 List<OrchestrationFlow> orchFlows = new LinkedList<>();
895 northBoundRequest.setOrchestrationFlowList(orchFlows);
896 OrchestrationFlow orch1 = new OrchestrationFlow();
897 orch1.setFlowName("UnassignVfModuleBB");
898 orchFlows.add(orch1);
899 OrchestrationFlow orch2 = new OrchestrationFlow();
900 orch2.setFlowName("UnassignVolumeGroupBB");
901 orchFlows.add(orch2);
902 OrchestrationFlow orch3 = new OrchestrationFlow();
903 orch3.setFlowName("UnassignVnfBB");
904 orchFlows.add(orch3);
905 OrchestrationFlow orch4 = new OrchestrationFlow();
906 orch4.setFlowName("UnassignNetworkBB");
907 orchFlows.add(orch4);
908 OrchestrationFlow orch5 = new OrchestrationFlow();
909 orch5.setFlowName("UnassignServiceInstanceBB");
910 orchFlows.add(orch5);
912 ServiceInstance serviceInstanceAAI = new ServiceInstance();
913 serviceInstanceAAI.setServiceInstanceId("aaisi123");
914 org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance serviceInstanceMSO = new org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance();
915 org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf vnf = new org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf();
916 vnf.setVnfId("vnfId123");
918 org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule vfModule = new org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule();
919 vfModule.setVfModuleId("vfModule1");
920 vnf.getVfModules().add(vfModule);
921 org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule vfModule2 = new org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule();
922 vfModule2.setVfModuleId("vfModule2");
923 vnf.getVfModules().add(vfModule2);
925 org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup volumeGroup = new org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup();
926 volumeGroup.setVolumeGroupId("vg123");
927 vnf.getVolumeGroups().add(volumeGroup);
929 serviceInstanceMSO.getVnfs().add(vnf);
931 doReturn(serviceInstanceAAI).when(bbSetupUtils).getAAIServiceInstanceById("123");
932 doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI);
933 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
934 workflowAction.selectExecutionList(execution);
935 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
936 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"UnassignVfModuleBB");
937 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"UnassignVfModuleBB");
938 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"UnassignVolumeGroupBB");
939 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"UnassignVnfBB");
940 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"UnassignServiceInstanceBB");
944 public void selectExecutionListServiceMacroDeleteNetworkCollectionTest() throws Exception{
945 String gAction = "deleteInstance";
946 String resource = "Service";
947 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
948 execution.setVariable("requestAction", gAction);
949 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroActivateDeleteUnassign.json")));
950 execution.setVariable("bpmnRequest", bpmnRequest);
951 execution.setVariable("aLaCarte", false);
952 execution.setVariable("apiVersion", "7");
953 execution.setVariable("requestUri", "v6/serviceInstances/123");
955 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
956 List<OrchestrationFlow> orchFlows = new LinkedList<>();
957 northBoundRequest.setOrchestrationFlowList(orchFlows);
958 OrchestrationFlow orch1 = new OrchestrationFlow();
959 orch1.setFlowName("DeactivateVfModuleBB");
960 orchFlows.add(orch1);
961 OrchestrationFlow orch2 = new OrchestrationFlow();
962 orch2.setFlowName("DeleteVfModuleBB");
963 orchFlows.add(orch2);
964 OrchestrationFlow orch3 = new OrchestrationFlow();
965 orch3.setFlowName("DeactivateVolumeGroupBB");
966 orchFlows.add(orch3);
967 OrchestrationFlow orch4 = new OrchestrationFlow();
968 orch4.setFlowName("DeleteVolumeGroupBB");
969 orchFlows.add(orch4);
970 OrchestrationFlow orch5 = new OrchestrationFlow();
971 orch5.setFlowName("DeactivateVnfBB");
972 orchFlows.add(orch5);
973 OrchestrationFlow orch6 = new OrchestrationFlow();
974 orch6.setFlowName("DeactivateNetworkBB");
975 orchFlows.add(orch6);
976 OrchestrationFlow orch7 = new OrchestrationFlow();
977 orch7.setFlowName("DeleteNetworkBB");
978 orchFlows.add(orch7);
979 OrchestrationFlow orch8 = new OrchestrationFlow();
980 orch8.setFlowName("DeleteNetworkCollectionBB");
981 orchFlows.add(orch8);
982 OrchestrationFlow orch9 = new OrchestrationFlow();
983 orch9.setFlowName("DeactivateServiceInstanceBB");
984 orchFlows.add(orch9);
985 OrchestrationFlow orch10 = new OrchestrationFlow();
986 orch10.setFlowName("UnassignVfModuleBB");
987 orchFlows.add(orch10);
988 OrchestrationFlow orch11 = new OrchestrationFlow();
989 orch11.setFlowName("UnassignVolumeGroupBB");
990 orchFlows.add(orch11);
991 OrchestrationFlow orch12 = new OrchestrationFlow();
992 orch12.setFlowName("UnassignVnfBB");
993 orchFlows.add(orch12);
994 OrchestrationFlow orch13 = new OrchestrationFlow();
995 orch13.setFlowName("UnassignNetworkBB");
996 orchFlows.add(orch13);
997 OrchestrationFlow orch14 = new OrchestrationFlow();
998 orch14.setFlowName("UnassignServiceInstanceBB");
999 orchFlows.add(orch14);
1001 ServiceInstance serviceInstanceAAI = new ServiceInstance();
1002 serviceInstanceAAI.setServiceInstanceId("aaisi123");
1003 org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance serviceInstanceMSO = new org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance();
1005 org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network network = new org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network();
1006 network.setNetworkId("123");
1007 serviceInstanceMSO.getNetworks().add(network);
1008 org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network network2 = new org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network();
1009 network2.setNetworkId("321");
1010 serviceInstanceMSO.getNetworks().add(network2);
1012 Collection collection = new Collection();
1013 serviceInstanceMSO.setCollection(collection);
1015 doReturn(serviceInstanceAAI).when(bbSetupUtils).getAAIServiceInstanceById("123");
1016 doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI);
1017 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
1018 workflowAction.selectExecutionList(execution);
1019 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
1020 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"DeactivateNetworkBB");
1021 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkBB");
1022 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"UnassignNetworkBB");
1023 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"DeactivateNetworkBB");
1024 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkBB");
1025 assertEquals(ebbs.get(5).getBuildingBlock().getBpmnFlowName(),"UnassignNetworkBB");
1026 assertEquals(ebbs.get(6).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkCollectionBB");
1027 assertEquals(ebbs.get(7).getBuildingBlock().getBpmnFlowName(),"DeactivateServiceInstanceBB");
1028 assertEquals(ebbs.get(8).getBuildingBlock().getBpmnFlowName(),"UnassignServiceInstanceBB");
1033 public void selectExecutionListNetworkCollectionMacroCreate() throws Exception{
1034 String gAction = "createInstance";
1035 String resource = "NetworkCollection";
1036 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
1037 execution.setVariable("requestAction", gAction);
1038 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/CreateNetworkCollection.json")));
1039 execution.setVariable("bpmnRequest", bpmnRequest);
1040 execution.setVariable("aLaCarte", false);
1041 execution.setVariable("apiVersion", "7");
1042 execution.setVariable("requestUri", "v6/serviceInstances/123/networkCollections/123");
1044 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
1045 List<OrchestrationFlow> orchFlows = new LinkedList<>();
1046 northBoundRequest.setOrchestrationFlowList(orchFlows);
1047 OrchestrationFlow orch1 = new OrchestrationFlow();
1048 orch1.setFlowName("CreateNetworkCollectionBB");
1049 orchFlows.add(orch1);
1050 OrchestrationFlow orch2 = new OrchestrationFlow();
1051 orch2.setFlowName("AssignNetworkBB");
1052 orchFlows.add(orch2);
1053 OrchestrationFlow orch3 = new OrchestrationFlow();
1054 orch3.setFlowName("CreateNetworkBB");
1055 orchFlows.add(orch3);
1056 OrchestrationFlow orch4 = new OrchestrationFlow();
1057 orch4.setFlowName("ActivateNetworkBB");
1058 orchFlows.add(orch4);
1059 OrchestrationFlow orch5 = new OrchestrationFlow();
1060 orch5.setFlowName("ActivateNetworkCollectionBB");
1061 orchFlows.add(orch5);
1063 Service service = new Service();
1064 CollectionResourceCustomization collectionResourceCustomization = new CollectionResourceCustomization();
1065 CollectionResource collectionResource = new CollectionResource();
1066 collectionResource.setToscaNodeType("Data NetworkCollection Data");
1067 collectionResourceCustomization.setCollectionResource(collectionResource);
1068 service.getCollectionResourceCustomizations().add(collectionResourceCustomization);
1070 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
1071 when(catalogDbClient.getServiceByID("3c40d244-808e-42ca-b09a-256d83d19d0a")).thenReturn(service);
1072 workflowAction.selectExecutionList(execution);
1073 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
1074 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"CreateNetworkCollectionBB");
1075 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
1076 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
1077 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
1078 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
1079 assertEquals(ebbs.get(5).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
1080 assertEquals(ebbs.get(6).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
1081 assertEquals(ebbs.get(7).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkCollectionBB");
1086 public void selectExecutionListNetworkCollectionMacroDelete() throws Exception{
1087 String gAction = "deleteInstance";
1088 String resource = "NetworkCollection";
1089 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
1090 execution.setVariable("requestAction", gAction);
1091 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/CreateNetworkCollection.json")));
1092 execution.setVariable("bpmnRequest", bpmnRequest);
1093 execution.setVariable("aLaCarte", false);
1094 execution.setVariable("apiVersion", "7");
1095 execution.setVariable("requestUri", "v6/serviceInstances/123/networkCollections/123");
1097 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
1098 List<OrchestrationFlow> orchFlows = new LinkedList<>();
1099 northBoundRequest.setOrchestrationFlowList(orchFlows);
1100 OrchestrationFlow orch1 = new OrchestrationFlow();
1101 orch1.setFlowName("DeactivateNetworkBB");
1102 orchFlows.add(orch1);
1103 OrchestrationFlow orch2 = new OrchestrationFlow();
1104 orch2.setFlowName("DeleteNetworkBB");
1105 orchFlows.add(orch2);
1106 OrchestrationFlow orch3 = new OrchestrationFlow();
1107 orch3.setFlowName("UnassignNetworkBB");
1108 orchFlows.add(orch3);
1109 OrchestrationFlow orch4 = new OrchestrationFlow();
1110 orch4.setFlowName("DeactivateNetworkCollectionBB");
1111 orchFlows.add(orch4);
1112 OrchestrationFlow orch5 = new OrchestrationFlow();
1113 orch5.setFlowName("DeleteNetworkCollectionBB");
1114 orchFlows.add(orch5);
1116 Service service = new Service();
1117 CollectionResourceCustomization collectionResourceCustomization = new CollectionResourceCustomization();
1118 CollectionResource collectionResource = new CollectionResource();
1119 collectionResource.setToscaNodeType("Data NetworkCollection Data");
1120 collectionResourceCustomization.setCollectionResource(collectionResource);
1121 service.getCollectionResourceCustomizations().add(collectionResourceCustomization);
1123 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
1124 when(catalogDbClient.getServiceByID("3c40d244-808e-42ca-b09a-256d83d19d0a")).thenReturn(service);
1125 workflowAction.selectExecutionList(execution);
1126 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
1127 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"DeactivateNetworkBB");
1128 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkBB");
1129 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"UnassignNetworkBB");
1130 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"DeactivateNetworkBB");
1131 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkBB");
1132 assertEquals(ebbs.get(5).getBuildingBlock().getBpmnFlowName(),"UnassignNetworkBB");
1133 assertEquals(ebbs.get(6).getBuildingBlock().getBpmnFlowName(),"DeactivateNetworkCollectionBB");
1134 assertEquals(ebbs.get(7).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkCollectionBB");
1138 * WorkflowActionBB Tests
1142 public void pluralTest() {
1143 List<String> items = Arrays.asList(
1144 "serviceInstances, Service",
1146 "vfModules, VfModule",
1147 "networks, Network",
1148 "invalidNames, invalidNames");
1149 items.forEach(item -> {
1150 String[] split = item.split(",");
1151 String type = split[0].trim();
1152 String expected = split[1].trim();
1153 assertThat(workflowAction.convertTypeFromPlural(type), equalTo(expected));
1158 public void sortExecutionPathByObjectForVlanTaggingCreateTest() throws Exception{
1159 List<ExecuteBuildingBlock> executeFlows = new ArrayList<>();
1160 ExecuteBuildingBlock ebb = new ExecuteBuildingBlock();
1161 BuildingBlock bb = new BuildingBlock();
1162 bb.setBpmnFlowName("AssignNetworkBB");
1164 ebb.setBuildingBlock(bb);
1165 executeFlows.add(ebb);
1166 ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock();
1167 BuildingBlock bb2 = new BuildingBlock();
1168 bb2.setBpmnFlowName("AssignNetworkBB");
1170 ebb2.setBuildingBlock(bb2);
1171 executeFlows.add(ebb2);
1172 ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock();
1173 BuildingBlock bb3 = new BuildingBlock();
1174 bb3.setBpmnFlowName("CreateNetworkBB");
1176 ebb3.setBuildingBlock(bb3);
1177 executeFlows.add(ebb3);
1178 ExecuteBuildingBlock ebb4 = new ExecuteBuildingBlock();
1179 BuildingBlock bb4 = new BuildingBlock();
1180 bb4.setBpmnFlowName("CreateNetworkBB");
1182 ebb4.setBuildingBlock(bb4);
1183 executeFlows.add(ebb4);
1184 ExecuteBuildingBlock ebb5 = new ExecuteBuildingBlock();
1185 BuildingBlock bb5 = new BuildingBlock();
1186 bb5.setBpmnFlowName("ActivateNetworkBB");
1188 ebb5.setBuildingBlock(bb5);
1189 executeFlows.add(ebb5);
1190 ExecuteBuildingBlock ebb6 = new ExecuteBuildingBlock();
1191 BuildingBlock bb6 = new BuildingBlock();
1192 bb6.setBpmnFlowName("ActivateNetworkBB");
1194 ebb6.setBuildingBlock(bb6);
1195 executeFlows.add(ebb6);
1197 List<ExecuteBuildingBlock> sorted = workflowAction.sortExecutionPathByObjectForVlanTagging(executeFlows,"createInstance");
1198 assertEquals(sorted.get(0).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
1199 assertEquals(sorted.get(1).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
1200 assertEquals(sorted.get(2).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
1201 assertEquals(sorted.get(3).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
1202 assertEquals(sorted.get(4).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
1203 assertEquals(sorted.get(5).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
1207 public void sortExecutionPathByObjectForVlanTaggingDeleteTest() throws Exception{
1208 List<ExecuteBuildingBlock> executeFlows = new ArrayList<>();
1209 ExecuteBuildingBlock ebb = new ExecuteBuildingBlock();
1210 BuildingBlock bb = new BuildingBlock();
1211 bb.setBpmnFlowName("DeactivateNetworkBB");
1213 ebb.setBuildingBlock(bb);
1214 executeFlows.add(ebb);
1215 ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock();
1216 BuildingBlock bb2 = new BuildingBlock();
1217 bb2.setBpmnFlowName("DeactivateNetworkBB");
1219 ebb2.setBuildingBlock(bb2);
1220 executeFlows.add(ebb2);
1221 ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock();
1222 BuildingBlock bb3 = new BuildingBlock();
1223 bb3.setBpmnFlowName("DeleteNetworkBB");
1225 ebb3.setBuildingBlock(bb3);
1226 executeFlows.add(ebb3);
1227 ExecuteBuildingBlock ebb4 = new ExecuteBuildingBlock();
1228 BuildingBlock bb4 = new BuildingBlock();
1229 bb4.setBpmnFlowName("DeleteNetworkBB");
1231 ebb4.setBuildingBlock(bb4);
1232 executeFlows.add(ebb4);
1233 ExecuteBuildingBlock ebb5 = new ExecuteBuildingBlock();
1234 BuildingBlock bb5 = new BuildingBlock();
1235 bb5.setBpmnFlowName("UnassignNetworkBB");
1237 ebb5.setBuildingBlock(bb5);
1238 executeFlows.add(ebb5);
1239 ExecuteBuildingBlock ebb6 = new ExecuteBuildingBlock();
1240 BuildingBlock bb6 = new BuildingBlock();
1241 bb6.setBpmnFlowName("UnassignNetworkBB");
1243 ebb6.setBuildingBlock(bb6);
1244 executeFlows.add(ebb6);
1246 List<ExecuteBuildingBlock> sorted = workflowAction.sortExecutionPathByObjectForVlanTagging(executeFlows,"deleteInstance");
1247 assertEquals(sorted.get(0).getBuildingBlock().getBpmnFlowName(),"DeactivateNetworkBB");
1248 assertEquals(sorted.get(1).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkBB");
1249 assertEquals(sorted.get(2).getBuildingBlock().getBpmnFlowName(),"UnassignNetworkBB");
1250 assertEquals(sorted.get(3).getBuildingBlock().getBpmnFlowName(),"DeactivateNetworkBB");
1251 assertEquals(sorted.get(4).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkBB");
1252 assertEquals(sorted.get(5).getBuildingBlock().getBpmnFlowName(),"UnassignNetworkBB");
1255 public void queryNorthBoundRequestCatalogDbNestedTest() throws MalformedURLException {
1256 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
1257 List<OrchestrationFlow> orchFlows = new LinkedList<>();
1258 OrchestrationFlow orch1 = new OrchestrationFlow();
1259 orch1.setFlowName("AAICheckVnfInMaintBB");
1260 orchFlows.add(orch1);
1261 OrchestrationFlow orch2 = new OrchestrationFlow();
1262 orch2.setFlowName("AAISetVnfInMaintBB");
1263 orchFlows.add(orch2);
1264 OrchestrationFlow orch3 = new OrchestrationFlow();
1265 orch3.setFlowName("VNF-Macro-Replace");
1266 orchFlows.add(orch3);
1267 OrchestrationFlow orch4 = new OrchestrationFlow();
1268 orch4.setFlowName("SDNOVnfHealthCheckBB");
1269 orchFlows.add(orch4);
1270 OrchestrationFlow orch5 = new OrchestrationFlow();
1271 orch5.setFlowName("AAIUnsetVnfInMaintBB");
1272 orchFlows.add(orch5);
1273 northBoundRequest.setOrchestrationFlowList(orchFlows);
1275 List<OrchestrationFlow> macroFlows = new LinkedList<>();
1276 OrchestrationFlow o1 = new OrchestrationFlow();
1277 o1.setFlowName("DeactivateVfModuleBB");
1279 OrchestrationFlow o2 = new OrchestrationFlow();
1280 o2.setFlowName("DeleteVfModuleBB");
1282 OrchestrationFlow o3 = new OrchestrationFlow();
1283 o3.setFlowName("DeactivateVnfBB");
1285 OrchestrationFlow o4 = new OrchestrationFlow();
1286 o4.setFlowName("CreateVfModuleBB");
1288 OrchestrationFlow o5 = new OrchestrationFlow();
1289 o5.setFlowName("ActivateVfModuleBB");
1291 OrchestrationFlow o6 = new OrchestrationFlow();
1292 o6.setFlowName("ActivateVnfBB");
1295 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope("replaceInstance","Vnf",false)).thenReturn(northBoundRequest);
1296 when(catalogDbClient.getOrchestrationFlowByAction("VNF-Macro-Replace")).thenReturn(macroFlows);
1297 List<OrchestrationFlow> flows = workflowAction.queryNorthBoundRequestCatalogDb(execution, "replaceInstance", WorkflowType.VNF, false);
1298 assertEquals(flows.get(0).getFlowName(),"AAICheckVnfInMaintBB");
1299 assertEquals(flows.get(1).getFlowName(),"AAISetVnfInMaintBB");
1300 assertEquals(flows.get(2).getFlowName(),"DeactivateVfModuleBB");
1301 assertEquals(flows.get(3).getFlowName(),"DeleteVfModuleBB");
1302 assertEquals(flows.get(4).getFlowName(),"DeactivateVnfBB");
1303 assertEquals(flows.get(5).getFlowName(),"CreateVfModuleBB");
1304 assertEquals(flows.get(6).getFlowName(),"ActivateVfModuleBB");
1305 assertEquals(flows.get(7).getFlowName(),"ActivateVnfBB");
1306 assertEquals(flows.get(8).getFlowName(),"SDNOVnfHealthCheckBB");
1307 assertEquals(flows.get(9).getFlowName(),"AAIUnsetVnfInMaintBB");
1311 public void extractResourceIdAndTypeFromUriTest(){
1312 String uri = "/v6/serviceInstances/123";
1313 String uri2 = "/v6/serviceInstances/123/vnfs/1234";
1314 String uri3 = "/v6/serviceInstances";
1315 String uri4 = "/v6/serviceInstances/assign";
1316 String uri5 = "'/v6/serviceInstances/123/vnfs";
1317 String uri6 = "/v6/serviceInstances/123/vnfs/1234/someAction";
1318 String uri7 = "/v6/serviceInstances/123/vnfs/1234/vfModules/5678/replace";
1320 Resource expected1 = new Resource(WorkflowType.SERVICE, "123", true);
1321 Resource expected2 = new Resource(WorkflowType.VNF, "1234", false);
1322 Resource expected3 = new Resource(WorkflowType.VNF, "1234", false);
1323 Resource expected4 = new Resource(WorkflowType.VFMODULE, "5678", false);
1324 Resource result = workflowAction.extractResourceIdAndTypeFromUri(uri);
1325 assertEquals(expected1.getResourceId(),result.getResourceId());
1326 assertEquals(expected1.getResourceType(),result.getResourceType());
1327 result = workflowAction.extractResourceIdAndTypeFromUri(uri2);
1328 assertEquals(expected2.getResourceId(),result.getResourceId());
1329 assertEquals(expected2.getResourceType(),result.getResourceType());
1330 result = workflowAction.extractResourceIdAndTypeFromUri(uri3);
1331 assertEquals("Service", result.getResourceType().toString());
1332 assertEquals(UUID.randomUUID().toString().length(),result.getResourceId().length());
1333 result = workflowAction.extractResourceIdAndTypeFromUri(uri4);
1334 assertEquals("Service", result.getResourceType().toString());
1335 assertEquals(UUID.randomUUID().toString().length(),result.getResourceId().length());
1336 result = workflowAction.extractResourceIdAndTypeFromUri(uri5);
1337 assertEquals("Vnf", result.getResourceType().toString());
1338 assertEquals(UUID.randomUUID().toString().length(),result.getResourceId().length());
1339 result = workflowAction.extractResourceIdAndTypeFromUri(uri6);
1340 assertEquals(expected3.getResourceId(),result.getResourceId());
1341 assertEquals(expected3.getResourceType(),result.getResourceType());
1342 result = workflowAction.extractResourceIdAndTypeFromUri(uri7);
1343 assertEquals(expected4.getResourceId(),result.getResourceId());
1344 assertEquals(expected4.getResourceType(),result.getResourceType());
1348 public void extractResourceIdAndTypeFromUriInvalidTypeTest() {
1349 this.expectedException.expect(IllegalArgumentException.class);
1350 this.expectedException.expectMessage(containsString("Uri could not be parsed. No type found."));
1351 workflowAction.extractResourceIdAndTypeFromUri("/v6/serviceInstances/123/vnfs/1234/vfmodules/5678/replace");
1355 public void extractResourceIdAndTypeFromUriInvalidUriTest() {
1356 this.expectedException.expect(IllegalArgumentException.class);
1357 this.expectedException.expectMessage(containsString("Uri could not be parsed:"));
1358 workflowAction.extractResourceIdAndTypeFromUri("something that doesn't match anything");
1362 public void populateResourceIdsFromApiHandlerTest(){
1363 execution.setVariable("serviceInstanceId", "123");
1364 execution.setVariable("vnfId", "888");
1365 WorkflowResourceIds x = workflowAction.populateResourceIdsFromApiHandler(execution);
1366 assertEquals("123",x.getServiceInstanceId());
1367 assertEquals("888",x.getVnfId());
1368 assertNull(x.getVolumeGroupId());
1372 public void validateResourceIdInAAITest() throws Exception{
1374 RequestDetails reqDetails = new RequestDetails();
1375 SubscriberInfo subInfo = new SubscriberInfo();
1376 subInfo.setGlobalSubscriberId("id123");
1377 reqDetails.setSubscriberInfo(subInfo);
1378 RequestParameters reqParams = new RequestParameters();
1379 reqParams.setSubscriptionServiceType("subServiceType123");
1380 reqDetails.setRequestParameters(reqParams );
1381 WorkflowResourceIds workflowResourceIds = new WorkflowResourceIds();
1382 ServiceInstance si = new ServiceInstance();
1383 si.setServiceInstanceId("siId123");
1384 Optional<ServiceInstance> siOp = Optional.of(si);
1385 when(bbSetupUtils.getAAIServiceInstanceByName("id123", "subServiceType123", "siName123")).thenReturn(siOp);
1386 when(bbSetupUtils.getAAIServiceInstanceByName("id123", "subServiceType123", "111111")).thenReturn(Optional.empty());
1387 String id = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.SERVICE, "siName123", reqDetails, workflowResourceIds);
1388 assertEquals("siId123",id);
1389 String id2 = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.SERVICE, "111111", reqDetails, workflowResourceIds);
1390 assertEquals("generatedId123",id2);
1393 L3Network network = new L3Network();
1394 network.setNetworkId("id123");
1395 network.setNetworkName("name123");
1396 workflowResourceIds.setServiceInstanceId("siId123");
1397 Optional<L3Network> opNetwork = Optional.of(network);
1398 when(bbSetupUtils.getRelatedNetworkByNameFromServiceInstance("siId123","name123")).thenReturn(opNetwork);
1399 when(bbSetupUtils.getRelatedNetworkByNameFromServiceInstance("siId123","111111")).thenReturn(Optional.empty());
1400 id = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.NETWORK, "name123", reqDetails, workflowResourceIds);
1401 assertEquals("id123",id);
1402 id2 = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.NETWORK, "111111", reqDetails, workflowResourceIds);
1403 assertEquals("generatedId123",id2);
1406 GenericVnf vnf = new GenericVnf();
1407 vnf.setVnfId("id123");
1408 vnf.setVnfName("vnfName123");
1409 Optional<GenericVnf> opVnf = Optional.of(vnf);
1410 when(bbSetupUtils.getRelatedVnfByNameFromServiceInstance("siId123","name123")).thenReturn(opVnf);
1411 when(bbSetupUtils.getRelatedVnfByNameFromServiceInstance("siId123","111111")).thenReturn(Optional.empty());
1412 id = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.VNF, "name123", reqDetails, workflowResourceIds);
1413 assertEquals("id123",id);
1414 id2 = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.VNF, "111111", reqDetails, workflowResourceIds);
1415 assertEquals("generatedId123",id2);
1418 VfModules vfModules = new VfModules();
1419 VfModule vfModule = new VfModule();
1420 vfModule.setVfModuleId("id123");
1421 vfModule.setVfModuleName("name123");
1422 vfModules.getVfModule().add(vfModule);
1423 vnf.setVfModules(vfModules);
1424 workflowResourceIds.setVnfId("id123");
1425 when(bbSetupUtils.getAAIGenericVnf("id123")).thenReturn(vnf);
1426 id = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.VFMODULE, "name123", reqDetails, workflowResourceIds);
1427 assertEquals("id123",id);
1429 GenericVnf vnf2 = new GenericVnf();
1430 VfModules vfModules2 = new VfModules();
1431 VfModule vfModule2 = new VfModule();
1432 vfModule2.setVfModuleId("id123");
1433 vfModule2.setVfModuleName("name123");
1434 vfModules2.getVfModule().add(vfModule2);
1435 vnf2.setVfModules(vfModules2);
1436 workflowResourceIds.setVnfId("id111");
1437 when(bbSetupUtils.getAAIGenericVnf("id111")).thenReturn(vnf2);
1438 id2 = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.VFMODULE, "111111", reqDetails, workflowResourceIds);
1439 assertEquals("generatedId123",id2);
1442 VolumeGroup volumeGroup = new VolumeGroup();
1443 volumeGroup.setVolumeGroupId("id123");
1444 volumeGroup.setVolumeGroupName("name123");
1445 workflowResourceIds.setVnfId("id123");
1446 Optional<VolumeGroup> opVolumeGroup = Optional.of(volumeGroup);
1447 when(bbSetupUtils.getRelatedVolumeGroupByNameFromVnf("id123","name123")).thenReturn(opVolumeGroup);
1448 id = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.VOLUMEGROUP, "name123", reqDetails, workflowResourceIds);
1449 assertEquals("id123",id);
1451 workflowResourceIds.setVnfId("id444");
1452 when(bbSetupUtils.getAAIGenericVnf("id444")).thenReturn(vnf);
1453 when(bbSetupUtils.getRelatedVolumeGroupByNameFromVfModule("id123", "id123","111111")).thenReturn(opVolumeGroup);
1454 when(bbSetupUtils.getRelatedVolumeGroupByNameFromVnf("id444","111111")).thenReturn(Optional.empty());
1455 id2 = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.VOLUMEGROUP, "111111", reqDetails, workflowResourceIds);
1456 assertEquals("id123",id2);
1460 public void handleRuntimeExceptionTest(){
1461 execution.setVariable("BPMN_javaExpMsg", "test runtime error message");
1462 execution.setVariable("testProcessKey", "testProcessKeyValue");
1464 workflowAction.handleRuntimeException(execution);
1465 } catch (BpmnError wfe) {
1466 assertEquals("MSOWorkflowException",wfe.getErrorCode());
1471 public void traverseCatalogDbServiceMultipleNetworkTest() throws IOException{
1472 execution.setVariable("testProcessKey", "testProcessKeyValue");
1473 Service service = new Service();
1474 List<NetworkResourceCustomization> networkCustomizations = new ArrayList<>();
1475 NetworkResourceCustomization networkCust = new NetworkResourceCustomization();
1476 networkCust.setModelCustomizationUUID("123");
1477 networkCustomizations.add(networkCust);
1478 service.setNetworkCustomizations(networkCustomizations);
1479 NetworkCollectionResourceCustomization collectionResourceCustomization = new NetworkCollectionResourceCustomization();
1480 collectionResourceCustomization.setModelCustomizationUUID("123");
1481 CollectionResource collectionResource = new CollectionResource();
1482 collectionResource.setToscaNodeType("NetworkCollection");
1483 InstanceGroup instanceGroup = new InstanceGroup();
1484 List<CollectionResourceInstanceGroupCustomization> collectionInstanceGroupCustomizations = new ArrayList<>();
1485 CollectionResourceInstanceGroupCustomization collectionInstanceGroupCustomization = new CollectionResourceInstanceGroupCustomization();
1486 collectionInstanceGroupCustomization.setSubInterfaceNetworkQuantity(3);
1487 collectionInstanceGroupCustomizations.add(collectionInstanceGroupCustomization);
1488 instanceGroup.setCollectionInstanceGroupCustomizations(collectionInstanceGroupCustomizations);
1489 collectionResource.setInstanceGroup(instanceGroup);
1490 collectionResourceCustomization.setCollectionResource(collectionResource);;
1491 service.setModelUUID("abc");
1492 service.getCollectionResourceCustomizations().add(collectionResourceCustomization);
1493 service.getCollectionResourceCustomizations().add(collectionResourceCustomization);
1494 doReturn(service).when(catalogDbClient).getServiceByID("3c40d244-808e-42ca-b09a-256d83d19d0a");
1495 doReturn(collectionResourceCustomization).when(catalogDbClient).getNetworkCollectionResourceCustomizationByID("123");
1496 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroActivateDeleteUnassign.json")));
1497 ObjectMapper mapper = new ObjectMapper();
1498 ServiceInstancesRequest sIRequest = mapper.readValue(bpmnRequest, ServiceInstancesRequest.class);
1499 List<Resource> resourceCounter = new ArrayList<>();
1500 thrown.expect(BpmnError.class);
1501 workflowAction.traverseCatalogDbService(execution, sIRequest, resourceCounter);
1505 public void sortVfModulesByBaseFirstTest(){
1506 List<Resource> resources = new ArrayList<>();
1507 Resource resource1 = new Resource(WorkflowType.VFMODULE,"111",false);
1508 resource1.setBaseVfModule(false);
1509 resources.add(resource1);
1510 Resource resource2 = new Resource(WorkflowType.VFMODULE,"222",false);
1511 resource2.setBaseVfModule(false);
1512 resources.add(resource2);
1513 Resource resource3 = new Resource(WorkflowType.VFMODULE,"333",false);
1514 resource3.setBaseVfModule(true);
1515 resources.add(resource3);
1516 List<Resource> result = workflowAction.sortVfModulesByBaseFirst(resources);
1517 assertEquals("333",result.get(0).getResourceId());
1518 assertEquals("222",result.get(1).getResourceId());
1519 assertEquals("111",result.get(2).getResourceId());