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("ActivateVnfBB");
431 orchFlows.add(orch13);
432 OrchestrationFlow orch14 = new OrchestrationFlow();
433 orch14.setFlowName("ActivateNetworkCollectionBB");
434 orchFlows.add(orch14);
435 OrchestrationFlow orch15 = new OrchestrationFlow();
436 orch15.setFlowName("ActivateServiceInstanceBB");
437 orchFlows.add(orch15);
439 Service service = new Service();
440 doReturn(service).when(catalogDbClient).getServiceByID("3c40d244-808e-42ca-b09a-256d83d19d0a");
441 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
442 workflowAction.selectExecutionList(execution);
443 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
444 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"AssignServiceInstanceBB");
445 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"ActivateServiceInstanceBB");
449 public void selectExecutionListServiceMacroCreateJustNetworkTest() throws Exception{
450 String gAction = "createInstance";
451 String resource = "Service";
452 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
453 execution.setVariable("requestAction", gAction);
454 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroActivateDeleteUnassign.json")));
455 execution.setVariable("bpmnRequest", bpmnRequest);
456 execution.setVariable("aLaCarte", false);
457 execution.setVariable("apiVersion", "7");
458 execution.setVariable("requestUri", "v6/serviceInstances/123");
460 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
461 northBoundRequest.setIsToplevelflow(true);
462 List<OrchestrationFlow> orchFlows = new LinkedList<>();
463 northBoundRequest.setOrchestrationFlowList(orchFlows);
464 OrchestrationFlow orch1 = new OrchestrationFlow();
465 orch1.setFlowName("AssignServiceInstanceBB");
466 orchFlows.add(orch1);
467 OrchestrationFlow orch2 = new OrchestrationFlow();
468 orch2.setFlowName("CreateNetworkCollectionBB");
469 orchFlows.add(orch2);
470 OrchestrationFlow orch3 = new OrchestrationFlow();
471 orch3.setFlowName("AssignNetworkBB");
472 orchFlows.add(orch3);
473 OrchestrationFlow orch4 = new OrchestrationFlow();
474 orch4.setFlowName("AssignVnfBB");
475 orchFlows.add(orch4);
476 OrchestrationFlow orch5 = new OrchestrationFlow();
477 orch5.setFlowName("AssignVolumeGroupBB");
478 orchFlows.add(orch5);
479 OrchestrationFlow orch6 = new OrchestrationFlow();
480 orch6.setFlowName("AssignVfModuleBB");
481 orchFlows.add(orch6);
482 OrchestrationFlow orch7 = new OrchestrationFlow();
483 orch7.setFlowName("CreateNetworkBB");
484 orchFlows.add(orch7);
485 OrchestrationFlow orch8 = new OrchestrationFlow();
486 orch8.setFlowName("ActivateNetworkBB");
487 orchFlows.add(orch8);
488 OrchestrationFlow orch9 = new OrchestrationFlow();
489 orch9.setFlowName("CreateVolumeGroupBB");
490 orchFlows.add(orch9);
491 OrchestrationFlow orch10 = new OrchestrationFlow();
492 orch10.setFlowName("ActivateVolumeGroupBB");
493 orchFlows.add(orch10);
494 OrchestrationFlow orch11 = new OrchestrationFlow();
495 orch11.setFlowName("CreateVfModuleBB");
496 orchFlows.add(orch11);
497 OrchestrationFlow orch12 = new OrchestrationFlow();
498 orch12.setFlowName("ActivateVfModuleBB");
499 orchFlows.add(orch12);
500 OrchestrationFlow orch13 = new OrchestrationFlow();
501 orch13.setFlowName("ActivateVnfBB");
502 orchFlows.add(orch13);
503 OrchestrationFlow orch14 = new OrchestrationFlow();
504 orch14.setFlowName("ActivateNetworkCollectionBB");
505 orchFlows.add(orch14);
506 OrchestrationFlow orch15 = new OrchestrationFlow();
507 orch15.setFlowName("ActivateServiceInstanceBB");
508 orchFlows.add(orch15);
510 Service service = new Service();
511 NetworkResourceCustomization networkCustomization = new NetworkResourceCustomization();
512 networkCustomization.setModelCustomizationUUID("1234");
513 service.getNetworkCustomizations().add(networkCustomization);
514 doReturn(service).when(catalogDbClient).getServiceByID("3c40d244-808e-42ca-b09a-256d83d19d0a");
515 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
516 workflowAction.selectExecutionList(execution);
517 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
518 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"AssignServiceInstanceBB");
519 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
520 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
521 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
522 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"ActivateServiceInstanceBB");
526 public void selectExecutionListServiceMacroCreateWithNetworkCollectionTest() throws Exception{
527 String gAction = "createInstance";
528 String resource = "Service";
529 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
530 execution.setVariable("requestAction", gAction);
531 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroActivateDeleteUnassign.json")));
532 execution.setVariable("bpmnRequest", bpmnRequest);
533 execution.setVariable("aLaCarte", false);
534 execution.setVariable("apiVersion", "7");
535 execution.setVariable("requestUri", "v6/serviceInstances/123");
537 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
538 northBoundRequest.setIsToplevelflow(true);
539 List<OrchestrationFlow> orchFlows = new LinkedList<>();
540 northBoundRequest.setOrchestrationFlowList(orchFlows);
541 OrchestrationFlow orch1 = new OrchestrationFlow();
542 orch1.setFlowName("AssignServiceInstanceBB");
543 orchFlows.add(orch1);
544 OrchestrationFlow orch2 = new OrchestrationFlow();
545 orch2.setFlowName("CreateNetworkCollectionBB");
546 orchFlows.add(orch2);
547 OrchestrationFlow orch3 = new OrchestrationFlow();
548 orch3.setFlowName("AssignNetworkBB");
549 orchFlows.add(orch3);
550 OrchestrationFlow orch4 = new OrchestrationFlow();
551 orch4.setFlowName("AssignVnfBB");
552 orchFlows.add(orch4);
553 OrchestrationFlow orch5 = new OrchestrationFlow();
554 orch5.setFlowName("AssignVolumeGroupBB");
555 orchFlows.add(orch5);
556 OrchestrationFlow orch6 = new OrchestrationFlow();
557 orch6.setFlowName("AssignVfModuleBB");
558 orchFlows.add(orch6);
559 OrchestrationFlow orch7 = new OrchestrationFlow();
560 orch7.setFlowName("CreateNetworkBB");
561 orchFlows.add(orch7);
562 OrchestrationFlow orch8 = new OrchestrationFlow();
563 orch8.setFlowName("ActivateNetworkBB");
564 orchFlows.add(orch8);
565 OrchestrationFlow orch9 = new OrchestrationFlow();
566 orch9.setFlowName("CreateVolumeGroupBB");
567 orchFlows.add(orch9);
568 OrchestrationFlow orch10 = new OrchestrationFlow();
569 orch10.setFlowName("ActivateVolumeGroupBB");
570 orchFlows.add(orch10);
571 OrchestrationFlow orch11 = new OrchestrationFlow();
572 orch11.setFlowName("CreateVfModuleBB");
573 orchFlows.add(orch11);
574 OrchestrationFlow orch12 = new OrchestrationFlow();
575 orch12.setFlowName("ActivateVfModuleBB");
576 orchFlows.add(orch12);
577 OrchestrationFlow orch13 = new OrchestrationFlow();
578 orch13.setFlowName("ActivateVnfBB");
579 orchFlows.add(orch13);
580 OrchestrationFlow orch14 = new OrchestrationFlow();
581 orch14.setFlowName("ActivateNetworkCollectionBB");
582 orchFlows.add(orch14);
583 OrchestrationFlow orch15 = new OrchestrationFlow();
584 orch15.setFlowName("ActivateServiceInstanceBB");
585 orchFlows.add(orch15);
587 Service service = new Service();
588 List<NetworkResourceCustomization> networkCustomizations = new ArrayList<>();
589 NetworkResourceCustomization networkCust = new NetworkResourceCustomization();
590 networkCust.setModelCustomizationUUID("123");
591 networkCustomizations.add(networkCust);
592 service.setNetworkCustomizations(networkCustomizations);
593 NetworkCollectionResourceCustomization collectionResourceCustomization = new NetworkCollectionResourceCustomization();
594 collectionResourceCustomization.setModelCustomizationUUID("123");
596 CollectionResource collectionResource = new CollectionResource();
597 collectionResource.setToscaNodeType("NetworkCollection");
598 InstanceGroup instanceGroup = new InstanceGroup();
599 instanceGroup.setToscaNodeType("NetworkCollectionResource");
600 instanceGroup.setCollectionNetworkResourceCustomizations(new ArrayList<>());
601 CollectionNetworkResourceCustomization collectionNetworkResourceCust = new CollectionNetworkResourceCustomization();
602 collectionNetworkResourceCust.setModelCustomizationUUID("123");
603 collectionNetworkResourceCust.setNetworkResourceCustomization(collectionResourceCustomization);
604 instanceGroup.getCollectionNetworkResourceCustomizations().add(collectionNetworkResourceCust );
605 List<CollectionResourceInstanceGroupCustomization> collectionInstanceGroupCustomizations = new ArrayList<>();
606 CollectionResourceInstanceGroupCustomization collectionInstanceGroupCustomization = new CollectionResourceInstanceGroupCustomization();
607 collectionInstanceGroupCustomization.setModelCustomizationUUID("123");
608 collectionInstanceGroupCustomization.setSubInterfaceNetworkQuantity(3);
609 collectionInstanceGroupCustomizations.add(collectionInstanceGroupCustomization);
610 collectionInstanceGroupCustomization.setInstanceGroup(instanceGroup);
611 collectionInstanceGroupCustomization.setCollectionResourceCust(collectionResourceCustomization);
612 instanceGroup.setCollectionInstanceGroupCustomizations(collectionInstanceGroupCustomizations);
613 collectionResource.setInstanceGroup(instanceGroup);
614 collectionResourceCustomization.setCollectionResource(collectionResource);;
615 service.getCollectionResourceCustomizations().add(collectionResourceCustomization);
616 doReturn(service).when(catalogDbClient).getServiceByID("3c40d244-808e-42ca-b09a-256d83d19d0a");
617 doReturn(collectionResourceCustomization).when(catalogDbClient).getNetworkCollectionResourceCustomizationByID("123");
618 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
619 workflowAction.selectExecutionList(execution);
620 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
621 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"AssignServiceInstanceBB");
622 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"CreateNetworkCollectionBB");
623 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
624 assertEquals("Network id not empty", !ebbs.get(2).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
625 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
626 assertEquals("Network id not empty", !ebbs.get(3).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
627 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
628 assertEquals("Network id not empty", !ebbs.get(4).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
629 assertEquals("Network id same for AssignNetworkBB CreateNetworkBB ActivateNetworkBB",
630 ebbs.get(2).getWorkflowResourceIds().getNetworkId() == ebbs.get(3).getWorkflowResourceIds().getNetworkId()
631 && ebbs.get(3).getWorkflowResourceIds().getNetworkId() == ebbs.get(4).getWorkflowResourceIds().getNetworkId(), true);
632 assertEquals(ebbs.get(5).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
633 assertEquals("Network id not empty", !ebbs.get(5).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
634 assertEquals(ebbs.get(6).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
635 assertEquals("Network id not empty", !ebbs.get(6).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
636 assertEquals(ebbs.get(7).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
637 assertEquals("Network id not empty", !ebbs.get(7).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
638 assertEquals("Network id same for AssignNetworkBB CreateNetworkBB ActivateNetworkBB",
639 ebbs.get(5).getWorkflowResourceIds().getNetworkId() == ebbs.get(6).getWorkflowResourceIds().getNetworkId()
640 && ebbs.get(6).getWorkflowResourceIds().getNetworkId() == ebbs.get(7).getWorkflowResourceIds().getNetworkId(), true);
641 assertEquals(ebbs.get(8).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
642 assertEquals("Network id not empty", !ebbs.get(8).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
643 assertEquals(ebbs.get(9).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
644 assertEquals("Network id not empty", !ebbs.get(9).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
645 assertEquals(ebbs.get(10).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
646 assertEquals("Network id not empty", !ebbs.get(10).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
647 assertEquals("Network id same for AssignNetworkBB CreateNetworkBB ActivateNetworkBB",
648 ebbs.get(8).getWorkflowResourceIds().getNetworkId() == ebbs.get(9).getWorkflowResourceIds().getNetworkId()
649 && ebbs.get(9).getWorkflowResourceIds().getNetworkId() == ebbs.get(10).getWorkflowResourceIds().getNetworkId(), true);
650 assertEquals(ebbs.get(11).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkCollectionBB");
651 assertEquals(ebbs.get(12).getBuildingBlock().getBpmnFlowName(),"ActivateServiceInstanceBB");
655 public void selectExecutionListServiceMacroCreateWithUserParams() throws Exception{
656 String gAction = "createInstance";
657 String resource = "Service";
658 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
659 execution.setVariable("requestAction", gAction);
660 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroAssign.json")));
661 execution.setVariable("bpmnRequest", bpmnRequest);
662 execution.setVariable("aLaCarte", false);
663 execution.setVariable("apiVersion", "7");
664 execution.setVariable("requestUri", "v6/serviceInstances/123");
666 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
667 List<OrchestrationFlow> orchFlows = new LinkedList<>();
668 northBoundRequest.setOrchestrationFlowList(orchFlows);
669 OrchestrationFlow orch1 = new OrchestrationFlow();
670 orch1.setFlowName("AssignServiceInstanceBB");
671 orchFlows.add(orch1);
672 OrchestrationFlow orch2 = new OrchestrationFlow();
673 orch2.setFlowName("CreateNetworkCollectionBB");
674 orchFlows.add(orch2);
675 OrchestrationFlow orch3 = new OrchestrationFlow();
676 orch3.setFlowName("AssignNetworkBB");
677 orchFlows.add(orch3);
678 OrchestrationFlow orch4 = new OrchestrationFlow();
679 orch4.setFlowName("AssignVnfBB");
680 orchFlows.add(orch4);
681 OrchestrationFlow orch5 = new OrchestrationFlow();
682 orch5.setFlowName("AssignVolumeGroupBB");
683 orchFlows.add(orch5);
684 OrchestrationFlow orch6 = new OrchestrationFlow();
685 orch6.setFlowName("AssignVfModuleBB");
686 orchFlows.add(orch6);
687 OrchestrationFlow orch7 = new OrchestrationFlow();
688 orch7.setFlowName("CreateNetworkBB");
689 orchFlows.add(orch7);
690 OrchestrationFlow orch8 = new OrchestrationFlow();
691 orch8.setFlowName("ActivateNetworkBB");
692 orchFlows.add(orch8);
693 OrchestrationFlow orch9 = new OrchestrationFlow();
694 orch9.setFlowName("CreateVolumeGroupBB");
695 orchFlows.add(orch9);
696 OrchestrationFlow orch10 = new OrchestrationFlow();
697 orch10.setFlowName("ActivateVolumeGroupBB");
698 orchFlows.add(orch10);
699 OrchestrationFlow orch11 = new OrchestrationFlow();
700 orch11.setFlowName("CreateVfModuleBB");
701 orchFlows.add(orch11);
702 OrchestrationFlow orch12 = new OrchestrationFlow();
703 orch12.setFlowName("ActivateVfModuleBB");
704 orchFlows.add(orch12);
705 OrchestrationFlow orch13 = new OrchestrationFlow();
706 orch13.setFlowName("ActivateVnfBB");
707 orchFlows.add(orch13);
708 OrchestrationFlow orch14 = new OrchestrationFlow();
709 orch14.setFlowName("ActivateNetworkCollectionBB");
710 orchFlows.add(orch14);
711 OrchestrationFlow orch15 = new OrchestrationFlow();
712 orch15.setFlowName("ActivateServiceInstanceBB");
713 orchFlows.add(orch15);
715 VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
716 vfModuleCustomization.setModelCustomizationUUID("a25e8e8c-58b8-4eec-810c-97dcc1f5cb7f");
717 HeatEnvironment volumeHeatEnv = new HeatEnvironment();
718 vfModuleCustomization.setVolumeHeatEnv(volumeHeatEnv);
719 org.onap.so.db.catalog.beans.VfModule vfModule = new org.onap.so.db.catalog.beans.VfModule();
720 HeatTemplate volumeHeatTemplate = new HeatTemplate();
721 vfModule.setVolumeHeatTemplate(volumeHeatTemplate);
722 vfModuleCustomization.setVfModule(vfModule);
724 VfModuleCustomization vfModuleCustomization2 = new VfModuleCustomization();
725 vfModuleCustomization2.setModelCustomizationUUID("72d9d1cd-f46d-447a-abdb-451d6fb05fa8");
726 HeatEnvironment heatEnvironment = new HeatEnvironment();
727 vfModuleCustomization2.setHeatEnvironment(heatEnvironment);
728 org.onap.so.db.catalog.beans.VfModule vfModule2 = new org.onap.so.db.catalog.beans.VfModule();
729 HeatTemplate moduleHeatTemplate = new HeatTemplate();
730 vfModule2.setModuleHeatTemplate(moduleHeatTemplate);
731 vfModuleCustomization2.setVfModule(vfModule2);
733 VfModuleCustomization vfModuleCustomization3 = vfModuleCustomization2;
734 vfModuleCustomization3.setModelCustomizationUUID("72d9d1cd-f46d-447a-abdb-451d6fb05fa8");
736 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
737 when(catalogDbClient.getVfModuleCustomizationByModelCuztomizationUUID("a25e8e8c-58b8-4eec-810c-97dcc1f5cb7f")).thenReturn(vfModuleCustomization);
738 when(catalogDbClient.getVfModuleCustomizationByModelCuztomizationUUID("72d9d1cd-f46d-447a-abdb-451d6fb05fa8")).thenReturn(vfModuleCustomization2);
739 when(catalogDbClient.getVfModuleCustomizationByModelCuztomizationUUID("da4d4327-fb7d-4311-ac7a-be7ba60cf969")).thenReturn(vfModuleCustomization3);
740 workflowAction.selectExecutionList(execution);
741 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
743 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"AssignServiceInstanceBB");
744 assertEquals(3,ebbs.get(0).getWorkflowResourceIds().getServiceInstanceId().length());
745 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"AssignVnfBB");
746 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(1).getWorkflowResourceIds().getVnfId().length());
747 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"AssignVolumeGroupBB");
748 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(2).getWorkflowResourceIds().getVolumeGroupId().length());
749 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"AssignVfModuleBB");
750 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(3).getWorkflowResourceIds().getVfModuleId().length());
751 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"AssignVfModuleBB");
752 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(4).getWorkflowResourceIds().getVfModuleId().length());
753 assertEquals(ebbs.get(5).getBuildingBlock().getBpmnFlowName(),"AssignVfModuleBB");
754 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(5).getWorkflowResourceIds().getVfModuleId().length());
755 assertEquals(ebbs.get(6).getBuildingBlock().getBpmnFlowName(),"CreateVolumeGroupBB");
756 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(6).getWorkflowResourceIds().getVolumeGroupId().length());
757 assertEquals(ebbs.get(7).getBuildingBlock().getBpmnFlowName(),"ActivateVolumeGroupBB");
758 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(7).getWorkflowResourceIds().getVolumeGroupId().length());
759 assertEquals(ebbs.get(8).getBuildingBlock().getBpmnFlowName(),"CreateVfModuleBB");
760 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(8).getWorkflowResourceIds().getVfModuleId().length());
761 assertEquals(ebbs.get(9).getBuildingBlock().getBpmnFlowName(),"CreateVfModuleBB");
762 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(9).getWorkflowResourceIds().getVfModuleId().length());
763 assertEquals(ebbs.get(10).getBuildingBlock().getBpmnFlowName(),"CreateVfModuleBB");
764 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(10).getWorkflowResourceIds().getVfModuleId().length());
765 assertEquals(ebbs.get(11).getBuildingBlock().getBpmnFlowName(),"ActivateVfModuleBB");
766 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(11).getWorkflowResourceIds().getVfModuleId().length());
767 assertEquals(ebbs.get(12).getBuildingBlock().getBpmnFlowName(),"ActivateVfModuleBB");
768 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(12).getWorkflowResourceIds().getVfModuleId().length());
769 assertEquals(ebbs.get(13).getBuildingBlock().getBpmnFlowName(),"ActivateVfModuleBB");
770 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(13).getWorkflowResourceIds().getVfModuleId().length());
771 assertEquals(ebbs.get(14).getBuildingBlock().getBpmnFlowName(),"ActivateVnfBB");
772 assertEquals(UUID.randomUUID().toString().length(),ebbs.get(14).getWorkflowResourceIds().getVnfId().length());
773 assertEquals(ebbs.get(15).getBuildingBlock().getBpmnFlowName(),"ActivateServiceInstanceBB");
774 assertEquals(3,ebbs.get(0).getWorkflowResourceIds().getServiceInstanceId().length());
779 public void selectExecutionListServiceMacroDeleteTest() throws Exception{
780 String gAction = "deleteInstance";
781 String resource = "Service";
782 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
783 execution.setVariable("requestAction", gAction);
784 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroActivateDeleteUnassign.json")));
785 execution.setVariable("bpmnRequest", bpmnRequest);
786 execution.setVariable("aLaCarte", false);
787 execution.setVariable("apiVersion", "7");
788 execution.setVariable("requestUri", "v6/serviceInstances/123");
790 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
791 List<OrchestrationFlow> orchFlows = new LinkedList<>();
792 northBoundRequest.setOrchestrationFlowList(orchFlows);
793 OrchestrationFlow orch1 = new OrchestrationFlow();
794 orch1.setFlowName("DeactivateVfModuleBB");
795 orchFlows.add(orch1);
796 OrchestrationFlow orch2 = new OrchestrationFlow();
797 orch2.setFlowName("DeleteVfModuleBB");
798 orchFlows.add(orch2);
799 OrchestrationFlow orch3 = new OrchestrationFlow();
800 orch3.setFlowName("DeactivateVolumeGroupBB");
801 orchFlows.add(orch3);
802 OrchestrationFlow orch4 = new OrchestrationFlow();
803 orch4.setFlowName("DeleteVolumeGroupBB");
804 orchFlows.add(orch4);
805 OrchestrationFlow orch5 = new OrchestrationFlow();
806 orch5.setFlowName("DeactivateVnfBB");
807 orchFlows.add(orch5);
808 OrchestrationFlow orch6 = new OrchestrationFlow();
809 orch6.setFlowName("DeactivateNetworkBB");
810 orchFlows.add(orch6);
811 OrchestrationFlow orch7 = new OrchestrationFlow();
812 orch7.setFlowName("DeleteNetworkBB");
813 orchFlows.add(orch7);
814 OrchestrationFlow orch8 = new OrchestrationFlow();
815 orch8.setFlowName("DeleteNetworkCollectionBB");
816 orchFlows.add(orch8);
817 OrchestrationFlow orch9 = new OrchestrationFlow();
818 orch9.setFlowName("DeactivateServiceInstanceBB");
819 orchFlows.add(orch9);
820 OrchestrationFlow orch10 = new OrchestrationFlow();
821 orch10.setFlowName("UnassignVfModuleBB");
822 orchFlows.add(orch10);
823 OrchestrationFlow orch11 = new OrchestrationFlow();
824 orch11.setFlowName("UnassignVolumeGroupBB");
825 orchFlows.add(orch11);
826 OrchestrationFlow orch12 = new OrchestrationFlow();
827 orch12.setFlowName("UnassignVnfBB");
828 orchFlows.add(orch12);
829 OrchestrationFlow orch13 = new OrchestrationFlow();
830 orch13.setFlowName("UnassignNetworkBB");
831 orchFlows.add(orch13);
832 OrchestrationFlow orch14 = new OrchestrationFlow();
833 orch14.setFlowName("UnassignServiceInstanceBB");
834 orchFlows.add(orch14);
836 ServiceInstance serviceInstanceAAI = new ServiceInstance();
837 serviceInstanceAAI.setServiceInstanceId("aaisi123");
838 org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance serviceInstanceMSO = new org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance();
839 org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf vnf = new org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf();
840 vnf.setVnfId("vnfId123");
842 org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule vfModule = new org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule();
843 vfModule.setVfModuleId("vfModule1");
844 vnf.getVfModules().add(vfModule);
845 org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule vfModule2 = new org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule();
846 vfModule2.setVfModuleId("vfModule2");
847 vnf.getVfModules().add(vfModule2);
849 org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup volumeGroup = new org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup();
850 volumeGroup.setVolumeGroupId("vg123");
851 vnf.getVolumeGroups().add(volumeGroup);
853 serviceInstanceMSO.getVnfs().add(vnf);
855 doReturn(serviceInstanceAAI).when(bbSetupUtils).getAAIServiceInstanceById("123");
856 doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI);
857 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
858 workflowAction.selectExecutionList(execution);
859 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
860 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"DeactivateVfModuleBB");
861 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"DeactivateVfModuleBB");
862 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"DeleteVfModuleBB");
863 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"DeleteVfModuleBB");
864 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"DeactivateVolumeGroupBB");
865 assertEquals(ebbs.get(5).getBuildingBlock().getBpmnFlowName(),"DeleteVolumeGroupBB");
866 assertEquals(ebbs.get(6).getBuildingBlock().getBpmnFlowName(),"DeactivateVnfBB");
867 assertEquals(ebbs.get(7).getBuildingBlock().getBpmnFlowName(),"DeactivateServiceInstanceBB");
868 assertEquals(ebbs.get(8).getBuildingBlock().getBpmnFlowName(),"UnassignVfModuleBB");
869 assertEquals(ebbs.get(9).getBuildingBlock().getBpmnFlowName(),"UnassignVfModuleBB");
870 assertEquals(ebbs.get(10).getBuildingBlock().getBpmnFlowName(),"UnassignVolumeGroupBB");
871 assertEquals(ebbs.get(11).getBuildingBlock().getBpmnFlowName(),"UnassignVnfBB");
872 assertEquals(ebbs.get(12).getBuildingBlock().getBpmnFlowName(),"UnassignServiceInstanceBB");
876 public void selectExecutionListServiceMacroUnassignTest() throws Exception{
877 String gAction = "unassignInstance";
878 String resource = "Service";
879 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
880 execution.setVariable("requestAction", gAction);
881 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroActivateDeleteUnassign.json")));
882 execution.setVariable("bpmnRequest", bpmnRequest);
883 execution.setVariable("aLaCarte", false);
884 execution.setVariable("apiVersion", "7");
885 execution.setVariable("requestUri", "v6/serviceInstances/123");
887 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
888 List<OrchestrationFlow> orchFlows = new LinkedList<>();
889 northBoundRequest.setOrchestrationFlowList(orchFlows);
890 OrchestrationFlow orch1 = new OrchestrationFlow();
891 orch1.setFlowName("UnassignVfModuleBB");
892 orchFlows.add(orch1);
893 OrchestrationFlow orch2 = new OrchestrationFlow();
894 orch2.setFlowName("UnassignVolumeGroupBB");
895 orchFlows.add(orch2);
896 OrchestrationFlow orch3 = new OrchestrationFlow();
897 orch3.setFlowName("UnassignVnfBB");
898 orchFlows.add(orch3);
899 OrchestrationFlow orch4 = new OrchestrationFlow();
900 orch4.setFlowName("UnassignNetworkBB");
901 orchFlows.add(orch4);
902 OrchestrationFlow orch5 = new OrchestrationFlow();
903 orch5.setFlowName("UnassignServiceInstanceBB");
904 orchFlows.add(orch5);
906 ServiceInstance serviceInstanceAAI = new ServiceInstance();
907 serviceInstanceAAI.setServiceInstanceId("aaisi123");
908 org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance serviceInstanceMSO = new org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance();
909 org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf vnf = new org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf();
910 vnf.setVnfId("vnfId123");
912 org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule vfModule = new org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule();
913 vfModule.setVfModuleId("vfModule1");
914 vnf.getVfModules().add(vfModule);
915 org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule vfModule2 = new org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule();
916 vfModule2.setVfModuleId("vfModule2");
917 vnf.getVfModules().add(vfModule2);
919 org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup volumeGroup = new org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup();
920 volumeGroup.setVolumeGroupId("vg123");
921 vnf.getVolumeGroups().add(volumeGroup);
923 serviceInstanceMSO.getVnfs().add(vnf);
925 doReturn(serviceInstanceAAI).when(bbSetupUtils).getAAIServiceInstanceById("123");
926 doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI);
927 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
928 workflowAction.selectExecutionList(execution);
929 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
930 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"UnassignVfModuleBB");
931 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"UnassignVfModuleBB");
932 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"UnassignVolumeGroupBB");
933 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"UnassignVnfBB");
934 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"UnassignServiceInstanceBB");
938 public void selectExecutionListServiceMacroDeleteNetworkCollectionTest() throws Exception{
939 String gAction = "deleteInstance";
940 String resource = "Service";
941 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
942 execution.setVariable("requestAction", gAction);
943 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroActivateDeleteUnassign.json")));
944 execution.setVariable("bpmnRequest", bpmnRequest);
945 execution.setVariable("aLaCarte", false);
946 execution.setVariable("apiVersion", "7");
947 execution.setVariable("requestUri", "v6/serviceInstances/123");
949 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
950 List<OrchestrationFlow> orchFlows = new LinkedList<>();
951 northBoundRequest.setOrchestrationFlowList(orchFlows);
952 OrchestrationFlow orch1 = new OrchestrationFlow();
953 orch1.setFlowName("DeactivateVfModuleBB");
954 orchFlows.add(orch1);
955 OrchestrationFlow orch2 = new OrchestrationFlow();
956 orch2.setFlowName("DeleteVfModuleBB");
957 orchFlows.add(orch2);
958 OrchestrationFlow orch3 = new OrchestrationFlow();
959 orch3.setFlowName("DeactivateVolumeGroupBB");
960 orchFlows.add(orch3);
961 OrchestrationFlow orch4 = new OrchestrationFlow();
962 orch4.setFlowName("DeleteVolumeGroupBB");
963 orchFlows.add(orch4);
964 OrchestrationFlow orch5 = new OrchestrationFlow();
965 orch5.setFlowName("DeactivateVnfBB");
966 orchFlows.add(orch5);
967 OrchestrationFlow orch6 = new OrchestrationFlow();
968 orch6.setFlowName("DeactivateNetworkBB");
969 orchFlows.add(orch6);
970 OrchestrationFlow orch7 = new OrchestrationFlow();
971 orch7.setFlowName("DeleteNetworkBB");
972 orchFlows.add(orch7);
973 OrchestrationFlow orch8 = new OrchestrationFlow();
974 orch8.setFlowName("DeleteNetworkCollectionBB");
975 orchFlows.add(orch8);
976 OrchestrationFlow orch9 = new OrchestrationFlow();
977 orch9.setFlowName("DeactivateServiceInstanceBB");
978 orchFlows.add(orch9);
979 OrchestrationFlow orch10 = new OrchestrationFlow();
980 orch10.setFlowName("UnassignVfModuleBB");
981 orchFlows.add(orch10);
982 OrchestrationFlow orch11 = new OrchestrationFlow();
983 orch11.setFlowName("UnassignVolumeGroupBB");
984 orchFlows.add(orch11);
985 OrchestrationFlow orch12 = new OrchestrationFlow();
986 orch12.setFlowName("UnassignVnfBB");
987 orchFlows.add(orch12);
988 OrchestrationFlow orch13 = new OrchestrationFlow();
989 orch13.setFlowName("UnassignNetworkBB");
990 orchFlows.add(orch13);
991 OrchestrationFlow orch14 = new OrchestrationFlow();
992 orch14.setFlowName("UnassignServiceInstanceBB");
993 orchFlows.add(orch14);
995 ServiceInstance serviceInstanceAAI = new ServiceInstance();
996 serviceInstanceAAI.setServiceInstanceId("aaisi123");
997 org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance serviceInstanceMSO = new org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance();
999 org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network network = new org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network();
1000 network.setNetworkId("123");
1001 serviceInstanceMSO.getNetworks().add(network);
1002 org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network network2 = new org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network();
1003 network2.setNetworkId("321");
1004 serviceInstanceMSO.getNetworks().add(network2);
1006 Collection collection = new Collection();
1007 serviceInstanceMSO.setCollection(collection);
1009 doReturn(serviceInstanceAAI).when(bbSetupUtils).getAAIServiceInstanceById("123");
1010 doReturn(serviceInstanceMSO).when(bbInputSetup).getExistingServiceInstance(serviceInstanceAAI);
1011 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
1012 workflowAction.selectExecutionList(execution);
1013 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
1014 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"DeactivateNetworkBB");
1015 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkBB");
1016 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"UnassignNetworkBB");
1017 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"DeactivateNetworkBB");
1018 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkBB");
1019 assertEquals(ebbs.get(5).getBuildingBlock().getBpmnFlowName(),"UnassignNetworkBB");
1020 assertEquals(ebbs.get(6).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkCollectionBB");
1021 assertEquals(ebbs.get(7).getBuildingBlock().getBpmnFlowName(),"DeactivateServiceInstanceBB");
1022 assertEquals(ebbs.get(8).getBuildingBlock().getBpmnFlowName(),"UnassignServiceInstanceBB");
1027 public void selectExecutionListNetworkCollectionMacroCreate() throws Exception{
1028 String gAction = "createInstance";
1029 String resource = "NetworkCollection";
1030 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
1031 execution.setVariable("requestAction", gAction);
1032 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/CreateNetworkCollection.json")));
1033 execution.setVariable("bpmnRequest", bpmnRequest);
1034 execution.setVariable("aLaCarte", false);
1035 execution.setVariable("apiVersion", "7");
1036 execution.setVariable("requestUri", "v6/serviceInstances/123/networkCollections/123");
1038 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
1039 List<OrchestrationFlow> orchFlows = new LinkedList<>();
1040 northBoundRequest.setOrchestrationFlowList(orchFlows);
1041 OrchestrationFlow orch1 = new OrchestrationFlow();
1042 orch1.setFlowName("CreateNetworkCollectionBB");
1043 orchFlows.add(orch1);
1044 OrchestrationFlow orch2 = new OrchestrationFlow();
1045 orch2.setFlowName("AssignNetworkBB");
1046 orchFlows.add(orch2);
1047 OrchestrationFlow orch3 = new OrchestrationFlow();
1048 orch3.setFlowName("CreateNetworkBB");
1049 orchFlows.add(orch3);
1050 OrchestrationFlow orch4 = new OrchestrationFlow();
1051 orch4.setFlowName("ActivateNetworkBB");
1052 orchFlows.add(orch4);
1053 OrchestrationFlow orch5 = new OrchestrationFlow();
1054 orch5.setFlowName("ActivateNetworkCollectionBB");
1055 orchFlows.add(orch5);
1057 Service service = new Service();
1058 CollectionResourceCustomization collectionResourceCustomization = new CollectionResourceCustomization();
1059 CollectionResource collectionResource = new CollectionResource();
1060 collectionResource.setToscaNodeType("Data NetworkCollection Data");
1061 collectionResourceCustomization.setCollectionResource(collectionResource);
1062 service.getCollectionResourceCustomizations().add(collectionResourceCustomization);
1064 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
1065 when(catalogDbClient.getServiceByID("3c40d244-808e-42ca-b09a-256d83d19d0a")).thenReturn(service);
1066 workflowAction.selectExecutionList(execution);
1067 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
1068 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"CreateNetworkCollectionBB");
1069 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
1070 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
1071 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
1072 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
1073 assertEquals(ebbs.get(5).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
1074 assertEquals(ebbs.get(6).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
1075 assertEquals(ebbs.get(7).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkCollectionBB");
1080 public void selectExecutionListNetworkCollectionMacroDelete() throws Exception{
1081 String gAction = "deleteInstance";
1082 String resource = "NetworkCollection";
1083 execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
1084 execution.setVariable("requestAction", gAction);
1085 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/CreateNetworkCollection.json")));
1086 execution.setVariable("bpmnRequest", bpmnRequest);
1087 execution.setVariable("aLaCarte", false);
1088 execution.setVariable("apiVersion", "7");
1089 execution.setVariable("requestUri", "v6/serviceInstances/123/networkCollections/123");
1091 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
1092 List<OrchestrationFlow> orchFlows = new LinkedList<>();
1093 northBoundRequest.setOrchestrationFlowList(orchFlows);
1094 OrchestrationFlow orch1 = new OrchestrationFlow();
1095 orch1.setFlowName("DeactivateNetworkBB");
1096 orchFlows.add(orch1);
1097 OrchestrationFlow orch2 = new OrchestrationFlow();
1098 orch2.setFlowName("DeleteNetworkBB");
1099 orchFlows.add(orch2);
1100 OrchestrationFlow orch3 = new OrchestrationFlow();
1101 orch3.setFlowName("UnassignNetworkBB");
1102 orchFlows.add(orch3);
1103 OrchestrationFlow orch4 = new OrchestrationFlow();
1104 orch4.setFlowName("DeactivateNetworkCollectionBB");
1105 orchFlows.add(orch4);
1106 OrchestrationFlow orch5 = new OrchestrationFlow();
1107 orch5.setFlowName("DeleteNetworkCollectionBB");
1108 orchFlows.add(orch5);
1110 Service service = new Service();
1111 CollectionResourceCustomization collectionResourceCustomization = new CollectionResourceCustomization();
1112 CollectionResource collectionResource = new CollectionResource();
1113 collectionResource.setToscaNodeType("Data NetworkCollection Data");
1114 collectionResourceCustomization.setCollectionResource(collectionResource);
1115 service.getCollectionResourceCustomizations().add(collectionResourceCustomization);
1117 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope(gAction,resource,false)).thenReturn(northBoundRequest);
1118 when(catalogDbClient.getServiceByID("3c40d244-808e-42ca-b09a-256d83d19d0a")).thenReturn(service);
1119 workflowAction.selectExecutionList(execution);
1120 List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
1121 assertEquals(ebbs.get(0).getBuildingBlock().getBpmnFlowName(),"DeactivateNetworkBB");
1122 assertEquals(ebbs.get(1).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkBB");
1123 assertEquals(ebbs.get(2).getBuildingBlock().getBpmnFlowName(),"UnassignNetworkBB");
1124 assertEquals(ebbs.get(3).getBuildingBlock().getBpmnFlowName(),"DeactivateNetworkBB");
1125 assertEquals(ebbs.get(4).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkBB");
1126 assertEquals(ebbs.get(5).getBuildingBlock().getBpmnFlowName(),"UnassignNetworkBB");
1127 assertEquals(ebbs.get(6).getBuildingBlock().getBpmnFlowName(),"DeactivateNetworkCollectionBB");
1128 assertEquals(ebbs.get(7).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkCollectionBB");
1132 * WorkflowActionBB Tests
1136 public void pluralTest() {
1137 List<String> items = Arrays.asList(
1138 "serviceInstances, Service",
1140 "vfModules, VfModule",
1141 "networks, Network",
1142 "invalidNames, invalidNames");
1143 items.forEach(item -> {
1144 String[] split = item.split(",");
1145 String type = split[0].trim();
1146 String expected = split[1].trim();
1147 assertThat(workflowAction.convertTypeFromPlural(type), equalTo(expected));
1152 public void sortExecutionPathByObjectForVlanTaggingCreateTest() throws Exception{
1153 List<ExecuteBuildingBlock> executeFlows = new ArrayList<>();
1154 ExecuteBuildingBlock ebb = new ExecuteBuildingBlock();
1155 BuildingBlock bb = new BuildingBlock();
1156 bb.setBpmnFlowName("AssignNetworkBB");
1158 ebb.setBuildingBlock(bb);
1159 executeFlows.add(ebb);
1160 ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock();
1161 BuildingBlock bb2 = new BuildingBlock();
1162 bb2.setBpmnFlowName("AssignNetworkBB");
1164 ebb2.setBuildingBlock(bb2);
1165 executeFlows.add(ebb2);
1166 ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock();
1167 BuildingBlock bb3 = new BuildingBlock();
1168 bb3.setBpmnFlowName("CreateNetworkBB");
1170 ebb3.setBuildingBlock(bb3);
1171 executeFlows.add(ebb3);
1172 ExecuteBuildingBlock ebb4 = new ExecuteBuildingBlock();
1173 BuildingBlock bb4 = new BuildingBlock();
1174 bb4.setBpmnFlowName("CreateNetworkBB");
1176 ebb4.setBuildingBlock(bb4);
1177 executeFlows.add(ebb4);
1178 ExecuteBuildingBlock ebb5 = new ExecuteBuildingBlock();
1179 BuildingBlock bb5 = new BuildingBlock();
1180 bb5.setBpmnFlowName("ActivateNetworkBB");
1182 ebb5.setBuildingBlock(bb5);
1183 executeFlows.add(ebb5);
1184 ExecuteBuildingBlock ebb6 = new ExecuteBuildingBlock();
1185 BuildingBlock bb6 = new BuildingBlock();
1186 bb6.setBpmnFlowName("ActivateNetworkBB");
1188 ebb6.setBuildingBlock(bb6);
1189 executeFlows.add(ebb6);
1191 List<ExecuteBuildingBlock> sorted = workflowAction.sortExecutionPathByObjectForVlanTagging(executeFlows,"createInstance");
1192 assertEquals(sorted.get(0).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
1193 assertEquals(sorted.get(1).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
1194 assertEquals(sorted.get(2).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
1195 assertEquals(sorted.get(3).getBuildingBlock().getBpmnFlowName(),"AssignNetworkBB");
1196 assertEquals(sorted.get(4).getBuildingBlock().getBpmnFlowName(),"CreateNetworkBB");
1197 assertEquals(sorted.get(5).getBuildingBlock().getBpmnFlowName(),"ActivateNetworkBB");
1201 public void sortExecutionPathByObjectForVlanTaggingDeleteTest() throws Exception{
1202 List<ExecuteBuildingBlock> executeFlows = new ArrayList<>();
1203 ExecuteBuildingBlock ebb = new ExecuteBuildingBlock();
1204 BuildingBlock bb = new BuildingBlock();
1205 bb.setBpmnFlowName("DeactivateNetworkBB");
1207 ebb.setBuildingBlock(bb);
1208 executeFlows.add(ebb);
1209 ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock();
1210 BuildingBlock bb2 = new BuildingBlock();
1211 bb2.setBpmnFlowName("DeactivateNetworkBB");
1213 ebb2.setBuildingBlock(bb2);
1214 executeFlows.add(ebb2);
1215 ExecuteBuildingBlock ebb3 = new ExecuteBuildingBlock();
1216 BuildingBlock bb3 = new BuildingBlock();
1217 bb3.setBpmnFlowName("DeleteNetworkBB");
1219 ebb3.setBuildingBlock(bb3);
1220 executeFlows.add(ebb3);
1221 ExecuteBuildingBlock ebb4 = new ExecuteBuildingBlock();
1222 BuildingBlock bb4 = new BuildingBlock();
1223 bb4.setBpmnFlowName("DeleteNetworkBB");
1225 ebb4.setBuildingBlock(bb4);
1226 executeFlows.add(ebb4);
1227 ExecuteBuildingBlock ebb5 = new ExecuteBuildingBlock();
1228 BuildingBlock bb5 = new BuildingBlock();
1229 bb5.setBpmnFlowName("UnassignNetworkBB");
1231 ebb5.setBuildingBlock(bb5);
1232 executeFlows.add(ebb5);
1233 ExecuteBuildingBlock ebb6 = new ExecuteBuildingBlock();
1234 BuildingBlock bb6 = new BuildingBlock();
1235 bb6.setBpmnFlowName("UnassignNetworkBB");
1237 ebb6.setBuildingBlock(bb6);
1238 executeFlows.add(ebb6);
1240 List<ExecuteBuildingBlock> sorted = workflowAction.sortExecutionPathByObjectForVlanTagging(executeFlows,"deleteInstance");
1241 assertEquals(sorted.get(0).getBuildingBlock().getBpmnFlowName(),"DeactivateNetworkBB");
1242 assertEquals(sorted.get(1).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkBB");
1243 assertEquals(sorted.get(2).getBuildingBlock().getBpmnFlowName(),"UnassignNetworkBB");
1244 assertEquals(sorted.get(3).getBuildingBlock().getBpmnFlowName(),"DeactivateNetworkBB");
1245 assertEquals(sorted.get(4).getBuildingBlock().getBpmnFlowName(),"DeleteNetworkBB");
1246 assertEquals(sorted.get(5).getBuildingBlock().getBpmnFlowName(),"UnassignNetworkBB");
1249 public void queryNorthBoundRequestCatalogDbNestedTest() throws MalformedURLException {
1250 NorthBoundRequest northBoundRequest = new NorthBoundRequest();
1251 List<OrchestrationFlow> orchFlows = new LinkedList<>();
1252 OrchestrationFlow orch1 = new OrchestrationFlow();
1253 orch1.setFlowName("AAICheckVnfInMaintBB");
1254 orchFlows.add(orch1);
1255 OrchestrationFlow orch2 = new OrchestrationFlow();
1256 orch2.setFlowName("AAISetVnfInMaintBB");
1257 orchFlows.add(orch2);
1258 OrchestrationFlow orch3 = new OrchestrationFlow();
1259 orch3.setFlowName("VNF-Macro-Replace");
1260 orchFlows.add(orch3);
1261 OrchestrationFlow orch4 = new OrchestrationFlow();
1262 orch4.setFlowName("SDNOVnfHealthCheckBB");
1263 orchFlows.add(orch4);
1264 OrchestrationFlow orch5 = new OrchestrationFlow();
1265 orch5.setFlowName("AAIUnsetVnfInMaintBB");
1266 orchFlows.add(orch5);
1267 northBoundRequest.setOrchestrationFlowList(orchFlows);
1269 List<OrchestrationFlow> macroFlows = new LinkedList<>();
1270 OrchestrationFlow o1 = new OrchestrationFlow();
1271 o1.setFlowName("DeactivateVfModuleBB");
1273 OrchestrationFlow o2 = new OrchestrationFlow();
1274 o2.setFlowName("DeleteVfModuleBB");
1276 OrchestrationFlow o3 = new OrchestrationFlow();
1277 o3.setFlowName("DeactivateVnfBB");
1279 OrchestrationFlow o4 = new OrchestrationFlow();
1280 o4.setFlowName("CreateVfModuleBB");
1282 OrchestrationFlow o5 = new OrchestrationFlow();
1283 o5.setFlowName("ActivateVfModuleBB");
1285 OrchestrationFlow o6 = new OrchestrationFlow();
1286 o6.setFlowName("ActivateVnfBB");
1289 when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScope("replaceInstance","Vnf",false)).thenReturn(northBoundRequest);
1290 when(catalogDbClient.getOrchestrationFlowByAction("VNF-Macro-Replace")).thenReturn(macroFlows);
1291 List<OrchestrationFlow> flows = workflowAction.queryNorthBoundRequestCatalogDb(execution, "replaceInstance", WorkflowType.VNF, false);
1292 assertEquals(flows.get(0).getFlowName(),"AAICheckVnfInMaintBB");
1293 assertEquals(flows.get(1).getFlowName(),"AAISetVnfInMaintBB");
1294 assertEquals(flows.get(2).getFlowName(),"DeactivateVfModuleBB");
1295 assertEquals(flows.get(3).getFlowName(),"DeleteVfModuleBB");
1296 assertEquals(flows.get(4).getFlowName(),"DeactivateVnfBB");
1297 assertEquals(flows.get(5).getFlowName(),"CreateVfModuleBB");
1298 assertEquals(flows.get(6).getFlowName(),"ActivateVfModuleBB");
1299 assertEquals(flows.get(7).getFlowName(),"ActivateVnfBB");
1300 assertEquals(flows.get(8).getFlowName(),"SDNOVnfHealthCheckBB");
1301 assertEquals(flows.get(9).getFlowName(),"AAIUnsetVnfInMaintBB");
1305 public void extractResourceIdAndTypeFromUriTest(){
1306 String uri = "/v6/serviceInstances/123";
1307 String uri2 = "/v6/serviceInstances/123/vnfs/1234";
1308 String uri3 = "/v6/serviceInstances";
1309 String uri4 = "/v6/serviceInstances/assign";
1310 String uri5 = "'/v6/serviceInstances/123/vnfs";
1311 String uri6 = "/v6/serviceInstances/123/vnfs/1234/someAction";
1312 String uri7 = "/v6/serviceInstances/123/vnfs/1234/vfModules/5678/replace";
1314 Resource expected1 = new Resource(WorkflowType.SERVICE, "123", true);
1315 Resource expected2 = new Resource(WorkflowType.VNF, "1234", false);
1316 Resource expected3 = new Resource(WorkflowType.VNF, "1234", false);
1317 Resource expected4 = new Resource(WorkflowType.VFMODULE, "5678", false);
1318 Resource result = workflowAction.extractResourceIdAndTypeFromUri(uri);
1319 assertEquals(expected1.getResourceId(),result.getResourceId());
1320 assertEquals(expected1.getResourceType(),result.getResourceType());
1321 result = workflowAction.extractResourceIdAndTypeFromUri(uri2);
1322 assertEquals(expected2.getResourceId(),result.getResourceId());
1323 assertEquals(expected2.getResourceType(),result.getResourceType());
1324 result = workflowAction.extractResourceIdAndTypeFromUri(uri3);
1325 assertEquals("Service", result.getResourceType().toString());
1326 assertEquals(UUID.randomUUID().toString().length(),result.getResourceId().length());
1327 result = workflowAction.extractResourceIdAndTypeFromUri(uri4);
1328 assertEquals("Service", result.getResourceType().toString());
1329 assertEquals(UUID.randomUUID().toString().length(),result.getResourceId().length());
1330 result = workflowAction.extractResourceIdAndTypeFromUri(uri5);
1331 assertEquals("Vnf", result.getResourceType().toString());
1332 assertEquals(UUID.randomUUID().toString().length(),result.getResourceId().length());
1333 result = workflowAction.extractResourceIdAndTypeFromUri(uri6);
1334 assertEquals(expected3.getResourceId(),result.getResourceId());
1335 assertEquals(expected3.getResourceType(),result.getResourceType());
1336 result = workflowAction.extractResourceIdAndTypeFromUri(uri7);
1337 assertEquals(expected4.getResourceId(),result.getResourceId());
1338 assertEquals(expected4.getResourceType(),result.getResourceType());
1342 public void extractResourceIdAndTypeFromUriInvalidTypeTest() {
1343 this.expectedException.expect(IllegalArgumentException.class);
1344 this.expectedException.expectMessage(containsString("Uri could not be parsed. No type found."));
1345 workflowAction.extractResourceIdAndTypeFromUri("/v6/serviceInstances/123/vnfs/1234/vfmodules/5678/replace");
1349 public void extractResourceIdAndTypeFromUriInvalidUriTest() {
1350 this.expectedException.expect(IllegalArgumentException.class);
1351 this.expectedException.expectMessage(containsString("Uri could not be parsed:"));
1352 workflowAction.extractResourceIdAndTypeFromUri("something that doesn't match anything");
1356 public void populateResourceIdsFromApiHandlerTest(){
1357 execution.setVariable("serviceInstanceId", "123");
1358 execution.setVariable("vnfId", "888");
1359 WorkflowResourceIds x = workflowAction.populateResourceIdsFromApiHandler(execution);
1360 assertEquals("123",x.getServiceInstanceId());
1361 assertEquals("888",x.getVnfId());
1362 assertNull(x.getVolumeGroupId());
1366 public void validateResourceIdInAAITest() throws Exception{
1368 RequestDetails reqDetails = new RequestDetails();
1369 SubscriberInfo subInfo = new SubscriberInfo();
1370 subInfo.setGlobalSubscriberId("id123");
1371 reqDetails.setSubscriberInfo(subInfo);
1372 RequestParameters reqParams = new RequestParameters();
1373 reqParams.setSubscriptionServiceType("subServiceType123");
1374 reqDetails.setRequestParameters(reqParams );
1375 WorkflowResourceIds workflowResourceIds = new WorkflowResourceIds();
1376 ServiceInstance si = new ServiceInstance();
1377 si.setServiceInstanceId("siId123");
1378 Optional<ServiceInstance> siOp = Optional.of(si);
1379 when(bbSetupUtils.getAAIServiceInstanceByName("id123", "subServiceType123", "siName123")).thenReturn(siOp);
1380 when(bbSetupUtils.getAAIServiceInstanceByName("id123", "subServiceType123", "111111")).thenReturn(Optional.empty());
1381 String id = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.SERVICE, "siName123", reqDetails, workflowResourceIds);
1382 assertEquals("siId123",id);
1383 String id2 = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.SERVICE, "111111", reqDetails, workflowResourceIds);
1384 assertEquals("generatedId123",id2);
1387 L3Network network = new L3Network();
1388 network.setNetworkId("id123");
1389 network.setNetworkName("name123");
1390 workflowResourceIds.setServiceInstanceId("siId123");
1391 Optional<L3Network> opNetwork = Optional.of(network);
1392 when(bbSetupUtils.getRelatedNetworkByNameFromServiceInstance("siId123","name123")).thenReturn(opNetwork);
1393 when(bbSetupUtils.getRelatedNetworkByNameFromServiceInstance("siId123","111111")).thenReturn(Optional.empty());
1394 id = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.NETWORK, "name123", reqDetails, workflowResourceIds);
1395 assertEquals("id123",id);
1396 id2 = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.NETWORK, "111111", reqDetails, workflowResourceIds);
1397 assertEquals("generatedId123",id2);
1400 GenericVnf vnf = new GenericVnf();
1401 vnf.setVnfId("id123");
1402 vnf.setVnfName("vnfName123");
1403 Optional<GenericVnf> opVnf = Optional.of(vnf);
1404 when(bbSetupUtils.getRelatedVnfByNameFromServiceInstance("siId123","name123")).thenReturn(opVnf);
1405 when(bbSetupUtils.getRelatedVnfByNameFromServiceInstance("siId123","111111")).thenReturn(Optional.empty());
1406 id = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.VNF, "name123", reqDetails, workflowResourceIds);
1407 assertEquals("id123",id);
1408 id2 = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.VNF, "111111", reqDetails, workflowResourceIds);
1409 assertEquals("generatedId123",id2);
1412 VfModules vfModules = new VfModules();
1413 VfModule vfModule = new VfModule();
1414 vfModule.setVfModuleId("id123");
1415 vfModule.setVfModuleName("name123");
1416 vfModules.getVfModule().add(vfModule);
1417 vnf.setVfModules(vfModules);
1418 workflowResourceIds.setVnfId("id123");
1419 when(bbSetupUtils.getAAIGenericVnf("id123")).thenReturn(vnf);
1420 id = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.VFMODULE, "name123", reqDetails, workflowResourceIds);
1421 assertEquals("id123",id);
1423 GenericVnf vnf2 = new GenericVnf();
1424 VfModules vfModules2 = new VfModules();
1425 VfModule vfModule2 = new VfModule();
1426 vfModule2.setVfModuleId("id123");
1427 vfModule2.setVfModuleName("name123");
1428 vfModules2.getVfModule().add(vfModule2);
1429 vnf2.setVfModules(vfModules2);
1430 workflowResourceIds.setVnfId("id111");
1431 when(bbSetupUtils.getAAIGenericVnf("id111")).thenReturn(vnf2);
1432 id2 = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.VFMODULE, "111111", reqDetails, workflowResourceIds);
1433 assertEquals("generatedId123",id2);
1436 VolumeGroup volumeGroup = new VolumeGroup();
1437 volumeGroup.setVolumeGroupId("id123");
1438 volumeGroup.setVolumeGroupName("name123");
1439 workflowResourceIds.setVnfId("id123");
1440 Optional<VolumeGroup> opVolumeGroup = Optional.of(volumeGroup);
1441 when(bbSetupUtils.getRelatedVolumeGroupByNameFromVnf("id123","name123")).thenReturn(opVolumeGroup);
1442 id = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.VOLUMEGROUP, "name123", reqDetails, workflowResourceIds);
1443 assertEquals("id123",id);
1445 workflowResourceIds.setVnfId("id444");
1446 when(bbSetupUtils.getAAIGenericVnf("id444")).thenReturn(vnf);
1447 when(bbSetupUtils.getRelatedVolumeGroupByNameFromVfModule("id123", "id123","111111")).thenReturn(opVolumeGroup);
1448 when(bbSetupUtils.getRelatedVolumeGroupByNameFromVnf("id444","111111")).thenReturn(Optional.empty());
1449 id2 = workflowAction.validateResourceIdInAAI("generatedId123", WorkflowType.VOLUMEGROUP, "111111", reqDetails, workflowResourceIds);
1450 assertEquals("id123",id2);
1454 public void handleRuntimeExceptionTest(){
1455 execution.setVariable("BPMN_javaExpMsg", "test runtime error message");
1456 execution.setVariable("testProcessKey", "testProcessKeyValue");
1458 workflowAction.handleRuntimeException(execution);
1459 } catch (BpmnError wfe) {
1460 assertEquals("MSOWorkflowException",wfe.getErrorCode());
1465 public void traverseCatalogDbServiceMultipleNetworkTest() throws IOException{
1466 execution.setVariable("testProcessKey", "testProcessKeyValue");
1467 Service service = new Service();
1468 List<NetworkResourceCustomization> networkCustomizations = new ArrayList<>();
1469 NetworkResourceCustomization networkCust = new NetworkResourceCustomization();
1470 networkCust.setModelCustomizationUUID("123");
1471 networkCustomizations.add(networkCust);
1472 service.setNetworkCustomizations(networkCustomizations);
1473 NetworkCollectionResourceCustomization collectionResourceCustomization = new NetworkCollectionResourceCustomization();
1474 collectionResourceCustomization.setModelCustomizationUUID("123");
1475 CollectionResource collectionResource = new CollectionResource();
1476 collectionResource.setToscaNodeType("NetworkCollection");
1477 InstanceGroup instanceGroup = new InstanceGroup();
1478 List<CollectionResourceInstanceGroupCustomization> collectionInstanceGroupCustomizations = new ArrayList<>();
1479 CollectionResourceInstanceGroupCustomization collectionInstanceGroupCustomization = new CollectionResourceInstanceGroupCustomization();
1480 collectionInstanceGroupCustomization.setSubInterfaceNetworkQuantity(3);
1481 collectionInstanceGroupCustomizations.add(collectionInstanceGroupCustomization);
1482 instanceGroup.setCollectionInstanceGroupCustomizations(collectionInstanceGroupCustomizations);
1483 collectionResource.setInstanceGroup(instanceGroup);
1484 collectionResourceCustomization.setCollectionResource(collectionResource);;
1485 service.setModelUUID("abc");
1486 service.getCollectionResourceCustomizations().add(collectionResourceCustomization);
1487 service.getCollectionResourceCustomizations().add(collectionResourceCustomization);
1488 doReturn(service).when(catalogDbClient).getServiceByID("3c40d244-808e-42ca-b09a-256d83d19d0a");
1489 doReturn(collectionResourceCustomization).when(catalogDbClient).getNetworkCollectionResourceCustomizationByID("123");
1490 String bpmnRequest = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroActivateDeleteUnassign.json")));
1491 ObjectMapper mapper = new ObjectMapper();
1492 ServiceInstancesRequest sIRequest = mapper.readValue(bpmnRequest, ServiceInstancesRequest.class);
1493 List<Resource> resourceCounter = new ArrayList<>();
1494 thrown.expect(BpmnError.class);
1495 workflowAction.traverseCatalogDbService(execution, sIRequest, resourceCounter);
1499 public void sortVfModulesByBaseFirstTest(){
1500 List<Resource> resources = new ArrayList<>();
1501 Resource resource1 = new Resource(WorkflowType.VFMODULE,"111",false);
1502 resource1.setBaseVfModule(false);
1503 resources.add(resource1);
1504 Resource resource2 = new Resource(WorkflowType.VFMODULE,"222",false);
1505 resource2.setBaseVfModule(false);
1506 resources.add(resource2);
1507 Resource resource3 = new Resource(WorkflowType.VFMODULE,"333",false);
1508 resource3.setBaseVfModule(true);
1509 resources.add(resource3);
1510 List<Resource> result = workflowAction.sortVfModulesByBaseFirst(resources);
1511 assertEquals("333",result.get(0).getResourceId());
1512 assertEquals("222",result.get(1).getResourceId());
1513 assertEquals("111",result.get(2).getResourceId());