2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 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.aai.tasks;
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertNull;
25 import static org.mockito.ArgumentMatchers.any;
26 import static org.mockito.ArgumentMatchers.eq;
27 import static org.mockito.Mockito.doNothing;
28 import static org.mockito.Mockito.doReturn;
29 import static org.mockito.Mockito.doThrow;
30 import static org.mockito.Mockito.mock;
31 import static org.mockito.Mockito.spy;
32 import static org.mockito.Mockito.times;
33 import static org.mockito.Mockito.verify;
34 import static org.mockito.Mockito.when;
36 import java.util.HashMap;
38 import org.camunda.bpm.engine.delegate.BpmnError;
39 import org.hamcrest.Matchers;
40 import org.junit.Before;
41 import org.junit.Test;
42 import org.mockito.ArgumentMatchers;
43 import org.mockito.InjectMocks;
44 import org.mockito.Mockito;
45 import org.onap.so.adapters.nwrest.CreateNetworkResponse;
46 import org.onap.so.bpmn.BaseTaskTest;
47 import org.onap.so.bpmn.common.BuildingBlockExecution;
48 import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
49 import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
50 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
51 import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
52 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
53 import org.onap.so.bpmn.servicedecomposition.bbobjects.Subnet;
54 import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
55 import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
56 import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
57 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
58 import org.onap.so.client.exception.BBObjectNotFoundException;
59 import org.onap.so.db.catalog.beans.OrchestrationStatus;
61 public class AAIUpdateTasksTest extends BaseTaskTest{
64 private AAIUpdateTasks aaiUpdateTasks = new AAIUpdateTasks();
66 private L3Network network;
67 private ServiceInstance serviceInstance;
68 private VfModule vfModule;
69 private GenericVnf genericVnf;
70 private VolumeGroup volumeGroup;
71 private CloudRegion cloudRegion;
72 private Configuration configuration;
73 private Subnet subnet;
76 public void before() throws BBObjectNotFoundException {
77 serviceInstance = setServiceInstance();
78 genericVnf = setGenericVnf();
79 vfModule = setVfModule();
80 volumeGroup = setVolumeGroup();
81 cloudRegion = setCloudRegion();
82 network = setL3Network();
83 configuration = setConfiguration();
84 subnet = buildSubnet();
86 when(extractPojosForBB.extractByKey(any(),ArgumentMatchers.eq(ResourceKey.GENERIC_VNF_ID), any())).thenReturn(genericVnf);
87 when(extractPojosForBB.extractByKey(any(),ArgumentMatchers.eq(ResourceKey.VF_MODULE_ID), any())).thenReturn(vfModule);
88 when(extractPojosForBB.extractByKey(any(),ArgumentMatchers.eq(ResourceKey.NETWORK_ID), any())).thenReturn(network);
89 when(extractPojosForBB.extractByKey(any(),ArgumentMatchers.eq(ResourceKey.VOLUME_GROUP_ID), any())).thenReturn(volumeGroup);
90 when(extractPojosForBB.extractByKey(any(),ArgumentMatchers.eq(ResourceKey.SERVICE_INSTANCE_ID), any())).thenReturn(serviceInstance);
91 when(extractPojosForBB.extractByKey(any(),ArgumentMatchers.eq(ResourceKey.CONFIGURATION_ID), any())).thenReturn(configuration);
94 doThrow(new BpmnError("BPMN Error")).when(exceptionUtil).buildAndThrowWorkflowException(any(BuildingBlockExecution.class), eq(7000), any(Exception.class));
98 public void updateOrchestrationStatusAssignedServiceTest() throws Exception {
99 doNothing().when(aaiServiceInstanceResources).updateOrchestrationStatusServiceInstance(serviceInstance, OrchestrationStatus.ASSIGNED);
101 aaiUpdateTasks.updateOrchestrationStatusAssignedService(execution);
103 verify(aaiServiceInstanceResources, times(1)).updateOrchestrationStatusServiceInstance(serviceInstance, OrchestrationStatus.ASSIGNED);
107 public void updateOrchestrationStatusAssignedServiceExceptionTest() throws Exception {
108 expectedException.expect(BpmnError.class);
110 doThrow(RuntimeException.class).when(aaiServiceInstanceResources).updateOrchestrationStatusServiceInstance(serviceInstance, OrchestrationStatus.ASSIGNED);
112 aaiUpdateTasks.updateOrchestrationStatusAssignedService(execution);
116 public void updateOrchestrationStatusActiveServiceTest() throws Exception {
117 doNothing().when(aaiServiceInstanceResources).updateOrchestrationStatusServiceInstance(serviceInstance, OrchestrationStatus.ACTIVE);
119 aaiUpdateTasks.updateOrchestrationStatusActiveService(execution);
121 verify(aaiServiceInstanceResources, times(1)).updateOrchestrationStatusServiceInstance(serviceInstance, OrchestrationStatus.ACTIVE);
125 public void updateOrchestrationStatusActiveServiceExceptionTest() throws Exception {
126 expectedException.expect(BpmnError.class);
128 doThrow(RuntimeException.class).when(aaiServiceInstanceResources).updateOrchestrationStatusServiceInstance(serviceInstance, OrchestrationStatus.ACTIVE);
130 aaiUpdateTasks.updateOrchestrationStatusActiveService(execution);
134 public void updateOrchestrationStatusAssignedVnfTest() throws Exception {
135 doNothing().when(aaiVnfResources).updateOrchestrationStatusVnf(genericVnf, OrchestrationStatus.ASSIGNED);
137 aaiUpdateTasks.updateOrchestrationStatusAssignedVnf(execution);
139 verify(aaiVnfResources, times(1)).updateOrchestrationStatusVnf(genericVnf, OrchestrationStatus.ASSIGNED);
143 public void updateOrchestrationStatusAssignedVnfExceptionTest() throws Exception {
144 expectedException.expect(BpmnError.class);
146 doThrow(RuntimeException.class).when(aaiVnfResources).updateOrchestrationStatusVnf(genericVnf, OrchestrationStatus.ASSIGNED);
148 aaiUpdateTasks.updateOrchestrationStatusAssignedVnf(execution);
152 public void updateOrchestrationStatusActiveVnfTest() throws Exception {
153 doNothing().when(aaiVnfResources).updateOrchestrationStatusVnf(genericVnf, OrchestrationStatus.ACTIVE);
155 aaiUpdateTasks.updateOrchestrationStatusActiveVnf(execution);
157 verify(aaiVnfResources, times(1)).updateOrchestrationStatusVnf(genericVnf, OrchestrationStatus.ACTIVE);
161 public void updateOrchestrationStatusActiveVnfExceptionTest() throws Exception {
162 expectedException.expect(BpmnError.class);
164 doThrow(RuntimeException.class).when(aaiVnfResources).updateOrchestrationStatusVnf(genericVnf, OrchestrationStatus.ACTIVE);
166 aaiUpdateTasks.updateOrchestrationStatusActiveVnf(execution);
170 public void updateOrchestrationStatusAssignVfModuleTest() throws Exception {
171 doNothing().when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
172 aaiUpdateTasks.updateOrchestrationStatusAssignedVfModule(execution);
173 verify(aaiVfModuleResources, times(1)).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
174 assertEquals("", vfModule.getHeatStackId());
178 public void updateOrchestrationStatusAssignVfModuleExceptionTest() throws Exception {
179 doThrow(RuntimeException.class).when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
181 expectedException.expect(BpmnError.class);
183 aaiUpdateTasks.updateOrchestrationStatusAssignedVfModule(execution);
187 public void updateOrchestrationStatusAssignedOrPendingActivationVfModuleNoMultiStageTest() throws Exception {
188 execution.setVariable("aLaCarte", true);
189 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
190 modelInfoGenericVnf.setMultiStageDesign("false");
191 genericVnf.setModelInfoGenericVnf(modelInfoGenericVnf);
192 doNothing().when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
193 aaiUpdateTasks.updateOrchestrationStatusAssignedOrPendingActivationVfModule(execution);
194 verify(aaiVfModuleResources, times(1)).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
195 assertEquals("", vfModule.getHeatStackId());
199 public void updateOrchestrationStatusAssignedOrPendingActivationVfModuleMultiStageButNotAlacarteTest() throws Exception {
200 execution.setVariable("aLaCarte", false);
201 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
202 modelInfoGenericVnf.setMultiStageDesign("true");
203 genericVnf.setModelInfoGenericVnf(modelInfoGenericVnf);
204 doNothing().when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
205 aaiUpdateTasks.updateOrchestrationStatusAssignedOrPendingActivationVfModule(execution);
206 verify(aaiVfModuleResources, times(1)).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
207 assertEquals("", vfModule.getHeatStackId());
211 public void updateOrchestrationStatusAssignedOrPendingActivationVfModuleWithMultiStageTest() throws Exception {
212 execution.setVariable("aLaCarte", true);
213 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
214 modelInfoGenericVnf.setMultiStageDesign("true");
215 genericVnf.setModelInfoGenericVnf(modelInfoGenericVnf);
216 doNothing().when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.PENDING_ACTIVATION);
217 aaiUpdateTasks.updateOrchestrationStatusAssignedOrPendingActivationVfModule(execution);
218 verify(aaiVfModuleResources, times(1)).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.PENDING_ACTIVATION);
219 assertEquals("", vfModule.getHeatStackId());
223 public void updateOrchestrationStatusAssignedOrPendingActivationVfModuleExceptionTest() throws Exception {
224 execution.setVariable("aLaCarte", true);
225 doThrow(RuntimeException.class).when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
227 expectedException.expect(BpmnError.class);
229 aaiUpdateTasks.updateOrchestrationStatusAssignedOrPendingActivationVfModule(execution);
233 public void updateOrchestrationStatusCreatedVfModuleTest() throws Exception {
234 doNothing().when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.CREATED);
235 aaiUpdateTasks.updateOrchestrationStatusCreatedVfModule(execution);
236 verify(aaiVfModuleResources, times(1)).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.CREATED);
240 public void updateOrchestrationStatusCreatedVfModuleExceptionTest() throws Exception {
241 doThrow(RuntimeException.class).when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.CREATED);
243 expectedException.expect(BpmnError.class);
245 aaiUpdateTasks.updateOrchestrationStatusCreatedVfModule(execution);
249 public void updateOrchestrationStatusPendingActivatefModuleTest() throws Exception {
250 doNothing().when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.PENDING_ACTIVATION);
252 aaiUpdateTasks.updateOrchestrationStatusPendingActivationVfModule(execution);
254 verify(aaiVfModuleResources, times(1)).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.PENDING_ACTIVATION);
258 public void updateOrchestrationStatusPendingActivatefModuleExceptionTest() throws Exception {
259 doThrow(RuntimeException.class).when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.PENDING_ACTIVATION);
261 expectedException.expect(BpmnError.class);
263 aaiUpdateTasks.updateOrchestrationStatusPendingActivationVfModule(execution);
267 public void updateOrchestrationStatusDectivateVfModuleTest() throws Exception {
268 doNothing().when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.CREATED);
270 aaiUpdateTasks.updateOrchestrationStatusDeactivateVfModule(execution);
272 verify(aaiVfModuleResources, times(1)).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.CREATED);
276 public void updateOrchestrationStatusDectivateVfModuleExceptionTest() throws Exception {
277 doThrow(RuntimeException.class).when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.CREATED);
279 expectedException.expect(BpmnError.class);
281 aaiUpdateTasks.updateOrchestrationStatusDeactivateVfModule(execution);
285 public void updateHeatStackIdVfModuleTest() throws Exception {
286 execution.setVariable("heatStackId", "newHeatStackId");
287 doNothing().when(aaiVfModuleResources).updateHeatStackIdVfModule(vfModule, genericVnf);
289 aaiUpdateTasks.updateHeatStackIdVfModule(execution);
291 verify(aaiVfModuleResources, times(1)).updateHeatStackIdVfModule(vfModule, genericVnf);
292 assertEquals("newHeatStackId", vfModule.getHeatStackId());
296 public void updateHeatStackIdVfModuleToNullTest() throws Exception {
297 execution.setVariable("heatStackId", null);
298 doNothing().when(aaiVfModuleResources).updateHeatStackIdVfModule(vfModule, genericVnf);
300 aaiUpdateTasks.updateHeatStackIdVfModule(execution);
302 verify(aaiVfModuleResources, times(1)).updateHeatStackIdVfModule(vfModule, genericVnf);
303 assertEquals(vfModule.getHeatStackId(), "");
307 public void updateHeatStackIdVfModuleExceptionTest() throws Exception {
308 doThrow(RuntimeException.class).when(aaiVfModuleResources).updateHeatStackIdVfModule(vfModule, genericVnf);
310 expectedException.expect(BpmnError.class);
312 aaiUpdateTasks.updateHeatStackIdVfModule(execution);
316 public void updateOrchestrationStatusActiveVolumeGroupTest() throws Exception {
317 doNothing().when(aaiVolumeGroupResources).updateOrchestrationStatusVolumeGroup(volumeGroup, cloudRegion, OrchestrationStatus.ACTIVE);
319 aaiUpdateTasks.updateOrchestrationStatusActiveVolumeGroup(execution);
321 verify(aaiVolumeGroupResources, times(1)).updateOrchestrationStatusVolumeGroup(volumeGroup, cloudRegion, OrchestrationStatus.ACTIVE);
325 public void updateOrchestrationStatusActiveVolumeGroupExceptionTest() throws Exception {
326 expectedException.expect(BpmnError.class);
327 doThrow(RuntimeException.class).when(aaiVolumeGroupResources).updateOrchestrationStatusVolumeGroup(volumeGroup, cloudRegion, OrchestrationStatus.ACTIVE);
328 aaiUpdateTasks.updateOrchestrationStatusActiveVolumeGroup(execution);
332 public void updateOrchestrationStatusCreatedVolumeGroupTest() throws Exception {
333 doNothing().when(aaiVolumeGroupResources).updateOrchestrationStatusVolumeGroup(volumeGroup, cloudRegion, OrchestrationStatus.CREATED);
335 aaiUpdateTasks.updateOrchestrationStatusCreatedVolumeGroup(execution);
337 verify(aaiVolumeGroupResources, times(1)).updateOrchestrationStatusVolumeGroup(volumeGroup, cloudRegion, OrchestrationStatus.CREATED);
341 public void updateOrchestrationStatusCreatedVolumeGroupExceptionTest() throws Exception {
342 expectedException.expect(BpmnError.class);
343 doThrow(RuntimeException.class).when(aaiVolumeGroupResources).updateOrchestrationStatusVolumeGroup(volumeGroup, cloudRegion, OrchestrationStatus.CREATED);
344 aaiUpdateTasks.updateOrchestrationStatusCreatedVolumeGroup(execution);
348 public void test_updateOrchestrationStatusAssignedVolumeGroup() throws Exception {
349 doNothing().when(aaiVolumeGroupResources).updateOrchestrationStatusVolumeGroup(volumeGroup, cloudRegion, OrchestrationStatus.ASSIGNED);
351 aaiUpdateTasks.updateOrchestrationStatusAssignedVolumeGroup(execution);
353 verify(aaiVolumeGroupResources, times(1)).updateOrchestrationStatusVolumeGroup(volumeGroup, cloudRegion, OrchestrationStatus.ASSIGNED);
354 assertEquals("", volumeGroup.getHeatStackId());
358 public void test_updateOrchestrationStatusAssignedVolumeGroup_exception() throws Exception {
359 expectedException.expect(BpmnError.class);
360 doThrow(RuntimeException.class).when(aaiVolumeGroupResources).updateOrchestrationStatusVolumeGroup(volumeGroup, cloudRegion, OrchestrationStatus.ASSIGNED);
361 aaiUpdateTasks.updateOrchestrationStatusAssignedVolumeGroup(execution);
364 public void updateHeatStackIdVolumeGroupTest() throws Exception {
365 execution.setVariable("heatStackId", "newHeatStackId");
366 doNothing().when(aaiVolumeGroupResources).updateHeatStackIdVolumeGroup(volumeGroup, cloudRegion);
368 aaiUpdateTasks.updateHeatStackIdVolumeGroup(execution);
370 verify(aaiVolumeGroupResources, times(1)).updateHeatStackIdVolumeGroup(volumeGroup, cloudRegion);
371 assertEquals("newHeatStackId", volumeGroup.getHeatStackId());
374 public void updateHeatStackIdVolumeGroupToNullTest() throws Exception {
375 execution.setVariable("heatStackId", null);
376 doNothing().when(aaiVolumeGroupResources).updateHeatStackIdVolumeGroup(volumeGroup, cloudRegion);
378 aaiUpdateTasks.updateHeatStackIdVolumeGroup(execution);
380 verify(aaiVolumeGroupResources, times(1)).updateHeatStackIdVolumeGroup(volumeGroup, cloudRegion);
381 assertEquals(volumeGroup.getHeatStackId(), "");
385 public void updateHeatStackIdVolumeGroupExceptionTest() throws Exception {
386 expectedException.expect(BpmnError.class);
387 doThrow(RuntimeException.class).when(aaiVolumeGroupResources).updateHeatStackIdVolumeGroup(volumeGroup, cloudRegion);
388 aaiUpdateTasks.updateHeatStackIdVolumeGroup(execution);
392 public void updateNetworkExceptionTest() throws Exception {
393 expectedException.expect(BpmnError.class);
395 doThrow(RuntimeException.class).when(aaiNetworkResources).updateNetwork(network);
397 aaiUpdateTasks.updateNetwork(execution, OrchestrationStatus.ACTIVE);
401 public void updateOstatusActivedNetworkCollectionTest() throws Exception {
402 doNothing().when(aaiCollectionResources).updateCollection(serviceInstance.getCollection());
403 aaiUpdateTasks.updateOrchestrationStatusActiveNetworkCollection(execution);
404 verify(aaiCollectionResources, times(1)).updateCollection(serviceInstance.getCollection());
408 public void updateOstatusActiveNetworkColectionExceptionTest() throws Exception {
409 expectedException.expect(BpmnError.class);
410 doThrow(RuntimeException.class).when(aaiCollectionResources).updateCollection(serviceInstance.getCollection());
411 aaiUpdateTasks.updateOrchestrationStatusActiveNetworkCollection(execution);
415 public void updateOrchestrationStatusActivateVfModuleTest() throws Exception {
416 doNothing().when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ACTIVE);
418 aaiUpdateTasks.updateOrchestrationStatusActivateVfModule(execution);
420 verify(aaiVfModuleResources, times(1)).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ACTIVE);
424 public void updateOrchestrationStatusActivateVfModuleExceptionTest() throws Exception {
425 doThrow(RuntimeException.class).when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ACTIVE);
427 expectedException.expect(BpmnError.class);
429 aaiUpdateTasks.updateOrchestrationStatusActivateVfModule(execution);
433 public void updateNetworkCreatedTest() throws Exception {
434 CreateNetworkResponse createNetworkResponse = new CreateNetworkResponse();
435 createNetworkResponse.setNetworkFqdn("testNetworkFqdn");
436 createNetworkResponse.setNetworkStackId("testNetworkStackId");
437 HashMap<String, String> subnetMap = new HashMap<>();
438 subnetMap.put("testSubnetId", "testNeutronSubnetId");
439 createNetworkResponse.setSubnetMap(subnetMap);
441 network.getSubnets().add(subnet);
443 execution.setVariable("createNetworkResponse", createNetworkResponse);
445 doNothing().when(aaiNetworkResources).updateNetwork(network);
446 doNothing().when(aaiNetworkResources).updateSubnet(network, subnet);
448 aaiUpdateTasks.updateNetworkCreated(execution);
449 verify(aaiNetworkResources, times(1)).updateNetwork(network);
450 verify(aaiNetworkResources, times(1)).updateSubnet(network, subnet);
452 assertEquals(createNetworkResponse.getNetworkFqdn(), network.getContrailNetworkFqdn());
453 assertEquals(OrchestrationStatus.CREATED, network.getOrchestrationStatus());
454 assertEquals(createNetworkResponse.getNetworkStackId(), network.getHeatStackId());
455 assertEquals(createNetworkResponse.getNeutronNetworkId(), network.getNeutronNetworkId());
456 String neutronSubnetId = createNetworkResponse.getSubnetMap().entrySet().iterator().next().getValue();
457 assertEquals(neutronSubnetId, network.getSubnets().get(0).getNeutronSubnetId());
461 public void updateOrchestrationStatusNetworkTest() {
462 AAIUpdateTasks spy = Mockito.spy(new AAIUpdateTasks());
463 doNothing().when(spy).updateNetwork(eq(execution), any());
464 spy.updateOrchestrationStatusActiveNetwork(execution);
465 verify(spy, times(1)).updateNetwork(execution, OrchestrationStatus.ACTIVE);
466 spy.updateOrchestrationStatusAssignedNetwork(execution);
467 verify(spy, times(1)).updateNetwork(execution, OrchestrationStatus.ASSIGNED);
468 spy.updateOrchestrationStatusCreatedNetwork(execution);
469 verify(spy, times(1)).updateNetwork(execution, OrchestrationStatus.CREATED);
473 public void updateNetworkAAITest() {
475 L3Network spy = spy(new L3Network());
476 L3Network shallowCopy = mock(L3Network.class);
477 Subnet mockSubnet = mock(Subnet.class);
478 Subnet shallowCopySubnet = mock(Subnet.class);
479 when(mockSubnet.shallowCopyId()).thenReturn(shallowCopySubnet);
480 doReturn(shallowCopy).when(spy).shallowCopyId();
482 doNothing().when(aaiNetworkResources).updateNetwork(network);
483 doNothing().when(aaiNetworkResources).updateSubnet(network, subnet);
485 spy.getSubnets().add(mockSubnet);
486 aaiUpdateTasks.updateNetworkAAI(spy, OrchestrationStatus.CREATED);
488 verify(shallowCopy, times(1)).setOrchestrationStatus(OrchestrationStatus.CREATED);
489 verify(spy, times(1)).setOrchestrationStatus(OrchestrationStatus.CREATED);
490 verify(shallowCopySubnet, times(1)).setOrchestrationStatus(OrchestrationStatus.CREATED);
493 public void updateNetworkCreatedkExceptionTest() throws Exception {
494 expectedException.expect(BpmnError.class);
495 doThrow(RuntimeException.class).when(aaiNetworkResources).updateNetwork(network);
496 aaiUpdateTasks.updateNetworkCreated(execution);
500 public void updateObjectNetworkTest() {
501 doNothing().when(aaiNetworkResources).updateNetwork(network);
503 aaiUpdateTasks.updateObjectNetwork(execution);
505 verify(aaiNetworkResources, times(1)).updateNetwork(network);
509 public void updateObjectNetworkExceptionText() {
510 expectedException.expect(BpmnError.class);
512 doThrow(RuntimeException.class).when(aaiNetworkResources).updateNetwork(network);
514 aaiUpdateTasks.updateObjectNetwork(execution);
518 public void test_updateServiceInstance() {
519 doNothing().when(aaiServiceInstanceResources).updateServiceInstance(serviceInstance);
520 aaiUpdateTasks.updateServiceInstance(execution);
521 verify(aaiServiceInstanceResources, times(1)).updateServiceInstance(serviceInstance);
525 public void test_updateServiceInstance_exception() {
526 expectedException.expect(BpmnError.class);
527 doThrow(RuntimeException.class).when(aaiServiceInstanceResources).updateServiceInstance(serviceInstance);
528 aaiUpdateTasks.updateServiceInstance(execution);
532 public void updateObjectVnfTest() {
533 doNothing().when(aaiVnfResources).updateObjectVnf(genericVnf);
535 aaiUpdateTasks.updateObjectVnf(execution);
537 verify(aaiVnfResources, times(1)).updateObjectVnf(genericVnf);
541 public void updateObjectVnfExceptionTest() {
542 expectedException.expect(BpmnError.class);
543 doThrow(RuntimeException.class).when(aaiVnfResources).updateObjectVnf(genericVnf);
544 aaiUpdateTasks.updateObjectVnf(execution);
548 public void updateOrchestrationStatusDeleteVfModuleTest() throws Exception {
549 doNothing().when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
551 aaiUpdateTasks.updateOrchestrationStatusDeleteVfModule(execution);
553 verify(aaiVfModuleResources, times(1)).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
554 assertEquals("", vfModule.getHeatStackId());
558 public void updateModelVfModuleTest() {
559 doNothing().when(aaiVfModuleResources).changeAssignVfModule(vfModule, genericVnf);
560 aaiUpdateTasks.updateModelVfModule(execution);
561 verify(aaiVfModuleResources, times(1)).changeAssignVfModule(vfModule, genericVnf);
565 public void updateModelVfModuleExceptionTest() {
566 expectedException.expect(BpmnError.class);
567 doThrow(RuntimeException.class).when(aaiVfModuleResources).changeAssignVfModule(vfModule, genericVnf);
568 aaiUpdateTasks.updateModelVfModule(execution);
572 public void updateOrchestrationStatusDeactivateFabricConfigurationTest() throws Exception {
573 gBBInput = execution.getGeneralBuildingBlock();
574 doNothing().when(aaiConfigurationResources).updateOrchestrationStatusConfiguration(configuration, OrchestrationStatus.ASSIGNED);
576 aaiUpdateTasks.updateOrchestrationStatusDeactivateFabricConfiguration(execution);
578 verify(aaiConfigurationResources, times(1)).updateOrchestrationStatusConfiguration(configuration, OrchestrationStatus.ASSIGNED);
581 public void updateOrchestrationStatusActivateFabricConfigurationTest() throws Exception {
582 gBBInput = execution.getGeneralBuildingBlock();
583 doNothing().when(aaiConfigurationResources).updateOrchestrationStatusConfiguration(configuration, OrchestrationStatus.ACTIVE);
585 aaiUpdateTasks.updateOrchestrationStatusActivateFabricConfiguration(execution);
587 verify(aaiConfigurationResources, times(1)).updateOrchestrationStatusConfiguration(configuration, OrchestrationStatus.ACTIVE);