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.servicedecomposition.tasks;
23 import static com.shazam.shazamcrest.MatcherAssert.assertThat;
24 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
25 import static org.junit.Assert.assertEquals;
26 import static org.junit.Assert.assertNull;
27 import static org.mockito.ArgumentMatchers.any;
28 import static org.mockito.ArgumentMatchers.anyString;
29 import static org.mockito.ArgumentMatchers.eq;
30 import static org.mockito.ArgumentMatchers.isA;
31 import static org.mockito.Mockito.doReturn;
32 import static org.mockito.Mockito.times;
33 import static org.mockito.Mockito.verify;
35 import java.io.IOException;
36 import java.util.Arrays;
37 import java.util.List;
38 import java.util.Optional;
39 import org.junit.Before;
40 import org.junit.Rule;
41 import org.junit.Test;
42 import org.junit.rules.ExpectedException;
43 import org.junit.runner.RunWith;
44 import org.mockito.InjectMocks;
45 import org.mockito.Mock;
46 import org.mockito.Mockito;
47 import org.mockito.junit.MockitoJUnitRunner;
48 import org.onap.aai.domain.yang.CloudRegion;
49 import org.onap.aai.domain.yang.Configuration;
50 import org.onap.aai.domain.yang.GenericVnf;
51 import org.onap.aai.domain.yang.GenericVnfs;
52 import org.onap.aai.domain.yang.L3Network;
53 import org.onap.aai.domain.yang.L3Networks;
54 import org.onap.aai.domain.yang.ServiceInstance;
55 import org.onap.aai.domain.yang.ServiceInstances;
56 import org.onap.aai.domain.yang.VolumeGroup;
57 import org.onap.aai.domain.yang.VolumeGroups;
58 import org.onap.so.bpmn.common.InjectionHelper;
59 import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
60 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceSubscription;
61 import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock;
62 import org.onap.so.bpmn.servicedecomposition.tasks.exceptions.MultipleObjectsFoundException;
63 import org.onap.so.bpmn.servicedecomposition.tasks.exceptions.NoServiceInstanceFoundException;
64 import org.onap.so.client.aai.AAIObjectPlurals;
65 import org.onap.so.client.aai.AAIObjectType;
66 import org.onap.so.client.aai.AAIResourcesClient;
67 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
68 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
69 import org.onap.so.client.graphinventory.entities.uri.Depth;
70 import org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization;
71 import org.onap.so.db.catalog.beans.Service;
72 import org.onap.so.db.catalog.beans.VnfcInstanceGroupCustomization;
73 import org.onap.so.db.catalog.client.CatalogDbClient;
74 import org.onap.so.db.request.beans.InfraActiveRequests;
75 import org.onap.so.db.request.beans.RequestProcessingData;
76 import org.onap.so.db.request.client.RequestsDbClient;
77 import org.onap.so.serviceinstancebeans.CloudConfiguration;
78 import org.onap.so.serviceinstancebeans.ModelInfo;
79 import org.onap.so.serviceinstancebeans.RequestDetails;
80 import com.fasterxml.jackson.core.JsonParseException;
81 import com.fasterxml.jackson.databind.JsonMappingException;
82 import com.fasterxml.jackson.databind.ObjectMapper;
84 @RunWith(MockitoJUnitRunner.class)
85 public class BBInputSetupUtilsTest {
86 protected ObjectMapper mapper = new ObjectMapper();
87 private static final String RESOURCE_PATH = "src/test/resources/__files/ExecuteBuildingBlock/";
90 BBInputSetupUtils bbInputSetupUtils = new BBInputSetupUtils();
93 protected CatalogDbClient MOCK_catalogDbClient;
96 protected RequestsDbClient MOCK_requestsDbClient;
99 protected AAIResourcesClient MOCK_aaiResourcesClient;
102 protected InjectionHelper MOCK_injectionHelper;
105 public ExpectedException expectedException = ExpectedException.none();
108 public void setup() {
109 doReturn(MOCK_aaiResourcesClient).when(MOCK_injectionHelper).getAaiClient();
113 public void testGetCatalogServiceByModelUUID() throws JsonParseException, JsonMappingException, IOException {
114 Service expected = mapper.readValue(new File(RESOURCE_PATH + "CatalogServiceExpected.json"), Service.class);
116 RequestDetails requestDetails = new RequestDetails();
117 ModelInfo modelInfo = new ModelInfo();
118 modelInfo.setModelVersionId("modelUUID");
119 requestDetails.setModelInfo(modelInfo);
120 doReturn(expected).when(MOCK_catalogDbClient).getServiceByID("modelUUID");
121 Service actual = bbInputSetupUtils.getCatalogServiceByModelUUID(modelInfo.getModelVersionId());
123 assertThat(actual, sameBeanAs(expected));
127 public void testGetCatalogServiceByModelVersionAndModelInvariantUUID()
128 throws JsonParseException, JsonMappingException, IOException {
129 String modelVersion = "modelVersion";
130 String modelInvariantUUID = "modelInvariantUUID";
131 Service expectedService =
132 mapper.readValue(new File(RESOURCE_PATH + "CatalogServiceExpected.json"), Service.class);
134 doReturn(expectedService).when(MOCK_catalogDbClient)
135 .getServiceByModelVersionAndModelInvariantUUID(isA(String.class), isA(String.class));
137 Service actualService = bbInputSetupUtils.getCatalogServiceByModelVersionAndModelInvariantUUID(modelVersion,
140 assertThat(actualService, sameBeanAs(expectedService));
144 public void testGetVnfcInstanceGroups() throws JsonParseException, JsonMappingException, IOException {
145 VnfcInstanceGroupCustomization vnfc = mapper.readValue(
146 new File(RESOURCE_PATH + "VnfcInstanceGroupCustomization.json"), VnfcInstanceGroupCustomization.class);
147 String modelCustomizationUUID = "modelCustomizationUUID";
149 doReturn(Arrays.asList(vnfc)).when(MOCK_catalogDbClient)
150 .getVnfcInstanceGroupsByVnfResourceCust(isA(String.class));
152 List<VnfcInstanceGroupCustomization> actualVnfcList =
153 bbInputSetupUtils.getVnfcInstanceGroups(modelCustomizationUUID);
155 assertThat(actualVnfcList, sameBeanAs(Arrays.asList(vnfc)));
159 public void testGetRequestDetails() throws JsonParseException, JsonMappingException, IOException {
160 InfraActiveRequests infraActiveRequest = mapper
161 .readValue(new File(RESOURCE_PATH + "InfraActiveRequestExpected.json"), InfraActiveRequests.class);
163 RequestDetails expected =
164 mapper.readValue(new File(RESOURCE_PATH + "RequestDetailsExpected.json"), RequestDetails.class);
165 String requestId = "requestId";
166 doReturn(infraActiveRequest).when(MOCK_requestsDbClient).getInfraActiveRequestbyRequestId(requestId);
167 RequestDetails actual = bbInputSetupUtils.getRequestDetails(requestId);
169 assertThat(actual, sameBeanAs(expected));
173 public void getRequestDetailsNullTest() throws IOException {
174 RequestDetails requestDetails = bbInputSetupUtils.getRequestDetails("");
176 assertNull(requestDetails);
180 public void testGetCloudRegion() {
181 CloudConfiguration cloudConfig = new CloudConfiguration();
182 cloudConfig.setLcpCloudRegionId("lcpCloudRegionId");
183 Optional<org.onap.aai.domain.yang.CloudRegion> expected =
184 Optional.of(new org.onap.aai.domain.yang.CloudRegion());
185 expected.get().setCloudOwner("cloudOwner");
186 expected.get().setCloudRegionId("lcpCloudRegionId");
187 doReturn(expected).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.CloudRegion.class,
188 AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, cloudConfig.getCloudOwner(),
189 cloudConfig.getLcpCloudRegionId()).depth(Depth.TWO));
191 AAIResourceUri expectedUri = AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION,
192 cloudConfig.getCloudOwner(), cloudConfig.getLcpCloudRegionId()).depth(Depth.TWO);
193 bbInputSetupUtils.getCloudRegion(cloudConfig);
195 verify(MOCK_aaiResourcesClient, times(1)).get(CloudRegion.class, expectedUri);
199 public void testGetCloudRegionExceptionTest() {
201 CloudConfiguration cloudConfig = new CloudConfiguration();
202 cloudConfig.setLcpCloudRegionId("lcpCloudRegionId");
204 RequestDetails requestDetails = new RequestDetails();
205 requestDetails.setCloudConfiguration(cloudConfig);
207 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
209 CloudRegion cloudRegion = bbInputSetupUtils.getCloudRegion(cloudConfig);
211 assertNull(cloudRegion);
215 public void testGetCloudRegionEmptyId() {
216 CloudConfiguration cloudConfig = new CloudConfiguration();
217 cloudConfig.setLcpCloudRegionId("");
219 RequestDetails requestDetails = new RequestDetails();
220 requestDetails.setCloudConfiguration(cloudConfig);
222 CloudRegion cloudRegion = bbInputSetupUtils.getCloudRegion(cloudConfig);
224 assertNull(cloudRegion);
228 public void testGetCloudRegionEmptyConfiguration() {
229 RequestDetails requestDetails = new RequestDetails();
231 CloudRegion cloudRegion = bbInputSetupUtils.getCloudRegion(requestDetails.getCloudConfiguration());
233 assertNull(cloudRegion);
237 public void testGetAAIInstanceGroup() {
238 Optional<org.onap.aai.domain.yang.InstanceGroup> expected =
239 Optional.of(new org.onap.aai.domain.yang.InstanceGroup());
240 String instanceGroupId = "instanceGroupId";
241 expected.get().setId(instanceGroupId);
242 doReturn(expected).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.InstanceGroup.class,
243 AAIUriFactory.createResourceUri(AAIObjectType.INSTANCE_GROUP, instanceGroupId));
244 AAIResourceUri expectedUri = AAIUriFactory.createResourceUri(AAIObjectType.INSTANCE_GROUP, instanceGroupId);
246 bbInputSetupUtils.getAAIInstanceGroup(instanceGroupId);
247 verify(MOCK_aaiResourcesClient, times(1)).get(org.onap.aai.domain.yang.InstanceGroup.class, expectedUri);
251 public void testGetAAIInstanceGroupThrowNotFound() {
252 String instanceGroupId = "instanceGroupId";
253 doReturn(MOCK_aaiResourcesClient).when(MOCK_injectionHelper).getAaiClient();
254 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.InstanceGroup.class,
255 AAIUriFactory.createResourceUri(AAIObjectType.INSTANCE_GROUP, instanceGroupId));
257 org.onap.aai.domain.yang.InstanceGroup actual = bbInputSetupUtils.getAAIInstanceGroup(instanceGroupId);
263 public void testGetAAICustomer() {
264 Optional<org.onap.aai.domain.yang.Customer> expected = Optional.of(new org.onap.aai.domain.yang.Customer());
265 String globalSubscriberId = "globalSubscriberId";
266 expected.get().setGlobalCustomerId(globalSubscriberId);
267 doReturn(expected).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.Customer.class,
268 AAIUriFactory.createResourceUri(AAIObjectType.CUSTOMER, globalSubscriberId));
269 AAIResourceUri expectedUri = AAIUriFactory.createResourceUri(AAIObjectType.CUSTOMER, globalSubscriberId);
271 bbInputSetupUtils.getAAICustomer(globalSubscriberId);
272 verify(MOCK_aaiResourcesClient, times(1)).get(org.onap.aai.domain.yang.Customer.class, expectedUri);
276 public void testGetAAICustomerThrowNotFound() {
277 String globalSubscriberId = "globalSubscriberId";
278 doReturn(MOCK_aaiResourcesClient).when(MOCK_injectionHelper).getAaiClient();
279 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.Customer.class,
280 AAIUriFactory.createResourceUri(AAIObjectType.CUSTOMER, globalSubscriberId));
282 org.onap.aai.domain.yang.Customer actual = bbInputSetupUtils.getAAICustomer(globalSubscriberId);
288 public void testGetAAIServiceSubscription() {
289 Optional<org.onap.aai.domain.yang.ServiceSubscription> expected =
290 Optional.of(new org.onap.aai.domain.yang.ServiceSubscription());
291 String globalSubscriberId = "globalSubscriberId";
292 String subscriptionServiceType = "subscriptionServiceType";
293 expected.get().setServiceType(subscriptionServiceType);
294 doReturn(expected).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.ServiceSubscription.class,
295 AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_SUBSCRIPTION, globalSubscriberId,
296 subscriptionServiceType));
297 AAIResourceUri expectedUri = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_SUBSCRIPTION,
298 globalSubscriberId, subscriptionServiceType);
300 bbInputSetupUtils.getAAIServiceSubscription(globalSubscriberId, subscriptionServiceType);
301 verify(MOCK_aaiResourcesClient, times(1)).get(org.onap.aai.domain.yang.ServiceSubscription.class, expectedUri);
305 public void testGetAAIServiceSubscriptionErrors() {
306 String globalSubId = null;
307 String subServiceType = null;
308 org.onap.aai.domain.yang.ServiceSubscription actual =
309 bbInputSetupUtils.getAAIServiceSubscription(globalSubId, subServiceType);
312 String globalSubId2 = "";
313 String subServiceType2 = "";
314 org.onap.aai.domain.yang.ServiceSubscription actual2 =
315 bbInputSetupUtils.getAAIServiceSubscription(globalSubId2, subServiceType2);
318 String globalSubId3 = "";
319 String subServiceType3 = null;
320 org.onap.aai.domain.yang.ServiceSubscription actual3 =
321 bbInputSetupUtils.getAAIServiceSubscription(globalSubId3, subServiceType3);
324 String globalSubId4 = null;
325 String subServiceType4 = "";
326 org.onap.aai.domain.yang.ServiceSubscription actual4 =
327 bbInputSetupUtils.getAAIServiceSubscription(globalSubId4, subServiceType4);
332 public void testGetAAIServiceSubscriptionThrowNotFound() {
333 String globalSubscriberId = "globalSubscriberId";
334 String subscriptionServiceType = "subscriptionServiceType";
335 doReturn(MOCK_aaiResourcesClient).when(MOCK_injectionHelper).getAaiClient();
336 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.ServiceSubscription.class,
337 AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_SUBSCRIPTION, globalSubscriberId,
338 subscriptionServiceType));
339 org.onap.aai.domain.yang.ServiceSubscription actual =
340 bbInputSetupUtils.getAAIServiceSubscription(globalSubscriberId, subscriptionServiceType);
345 public void testGetAAIServiceInstanceById() {
346 String serviceInstanceId = "serviceInstanceId";
348 ServiceInstance expectedServiceInstance = new ServiceInstance();
350 doReturn(Optional.of(expectedServiceInstance)).when(MOCK_aaiResourcesClient).get(isA(Class.class),
351 isA(AAIResourceUri.class));
353 ServiceInstance actualServiceInstance = bbInputSetupUtils.getAAIServiceInstanceById(serviceInstanceId);
355 assertThat(actualServiceInstance, sameBeanAs(expectedServiceInstance));
359 public void testGetAAIServiceInstanceByIdThrowNotFound() {
360 String serviceInstanceId = "serviceInstanceId";
362 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
364 ServiceInstance actualServiceInstance = bbInputSetupUtils.getAAIServiceInstanceById(serviceInstanceId);
366 assertNull(actualServiceInstance);
370 public void testGetAAIServiceInstanceByIdAndCustomer() {
371 String globalCustomerId = "globalCustomerId";
372 String serviceType = "serviceType";
373 String serviceInstanceId = "serviceInstanceId";
374 ServiceInstance expected = new ServiceInstance();
375 expected.setServiceInstanceId(serviceInstanceId);
376 doReturn(Optional.of(expected)).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
377 AAIResourceUri expectedUri = AAIUriFactory
378 .createResourceUri(AAIObjectType.SERVICE_INSTANCE, globalCustomerId, serviceType, serviceInstanceId)
380 this.bbInputSetupUtils.getAAIServiceInstanceByIdAndCustomer(globalCustomerId, serviceType, serviceInstanceId);
382 verify(MOCK_aaiResourcesClient, times(1)).get(org.onap.aai.domain.yang.ServiceInstance.class, expectedUri);
387 public void testGetAAIServiceInstanceByIdAndCustomerThrowNotFound() {
388 String globalCustomerId = "globalCustomerId";
389 String serviceType = "serviceType";
390 String serviceInstanceId = "serviceInstanceId";
392 doReturn(MOCK_aaiResourcesClient).when(MOCK_injectionHelper).getAaiClient();
393 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
394 ServiceInstance actual = this.bbInputSetupUtils.getAAIServiceInstanceByIdAndCustomer(globalCustomerId,
395 serviceType, serviceInstanceId);
401 public void testGetAAIServiceInstanceByName() throws Exception {
402 String serviceInstanceName = "serviceInstanceName";
404 ServiceInstance expectedServiceInstance = new ServiceInstance();
405 expectedServiceInstance.setServiceInstanceId("serviceInstanceId");
407 ServiceSubscription serviceSubscription = new ServiceSubscription();
408 serviceSubscription.setServiceType("serviceType");
410 Customer customer = new Customer();
411 customer.setGlobalCustomerId("globalCustomerId");
412 customer.setServiceSubscription(serviceSubscription);
414 ServiceInstances serviceInstances = new ServiceInstances();
415 serviceInstances.getServiceInstance().add(expectedServiceInstance);
417 doReturn(Optional.of(serviceInstances)).when(MOCK_aaiResourcesClient).get(isA(Class.class),
418 isA(AAIResourceUri.class));
419 AAIResourceUri expectedUri = AAIUriFactory
420 .createResourceUri(AAIObjectPlurals.SERVICE_INSTANCE, customer.getGlobalCustomerId(),
421 customer.getServiceSubscription().getServiceType())
422 .queryParam("service-instance-name", serviceInstanceName).depth(Depth.TWO);
423 bbInputSetupUtils.getAAIServiceInstanceByName(serviceInstanceName, customer);
425 verify(MOCK_aaiResourcesClient, times(1)).get(org.onap.aai.domain.yang.ServiceInstances.class, expectedUri);
429 public void testGetAAIServiceInstanceByNameException() throws Exception {
430 expectedException.expect(Exception.class);
432 String serviceInstanceName = "serviceInstanceName";
434 ServiceInstance serviceInstance = new ServiceInstance();
435 serviceInstance.setServiceInstanceId("serviceInstanceId");
437 ServiceSubscription serviceSubscription = new ServiceSubscription();
438 serviceSubscription.setServiceType("serviceType");
440 Customer customer = new Customer();
441 customer.setGlobalCustomerId("globalCustomerId");
442 customer.setServiceSubscription(serviceSubscription);
444 ServiceInstances serviceInstances = new ServiceInstances();
445 serviceInstances.getServiceInstance().add(serviceInstance);
446 serviceInstances.getServiceInstance().add(serviceInstance);
448 doReturn(Optional.of(serviceInstances)).when(MOCK_aaiResourcesClient).get(isA(Class.class),
449 isA(AAIResourceUri.class));
451 bbInputSetupUtils.getAAIServiceInstanceByName(serviceInstanceName, customer);
455 public void testGetAAIServiceInstanceByNameNull() throws Exception {
456 String serviceInstanceName = "serviceInstanceName";
458 ServiceInstance serviceInstance = new ServiceInstance();
459 serviceInstance.setServiceInstanceId("serviceInstanceId");
461 ServiceSubscription serviceSubscription = new ServiceSubscription();
462 serviceSubscription.setServiceType("serviceType");
464 Customer customer = new Customer();
465 customer.setGlobalCustomerId("globalCustomerId");
466 customer.setServiceSubscription(serviceSubscription);
468 ServiceInstances serviceInstances = new ServiceInstances();
469 serviceInstances.getServiceInstance().add(serviceInstance);
470 serviceInstances.getServiceInstance().add(serviceInstance);
472 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
474 ServiceInstance actualServiceInstance =
475 bbInputSetupUtils.getAAIServiceInstanceByName(serviceInstanceName, customer);
477 assertNull(actualServiceInstance);
481 public void testGetOptionalAAIServiceInstanceByNameException() throws Exception {
482 expectedException.expect(Exception.class);
484 String globalCustomerId = "globalCustomerId";
485 String serviceType = "serviceType";
486 String serviceInstanceId = "serviceInstanceId";
488 ServiceInstance serviceInstance = new ServiceInstance();
489 serviceInstance.setServiceInstanceId("serviceInstanceId");
490 serviceInstance.setServiceType(serviceType);
491 serviceInstance.setServiceInstanceName("serviceInstanceName");
493 ServiceInstances serviceInstances = new ServiceInstances();
494 serviceInstances.getServiceInstance().add(serviceInstance);
495 serviceInstances.getServiceInstance().add(serviceInstance);
497 doReturn(Optional.of(serviceInstances)).when(MOCK_aaiResourcesClient).get(isA(Class.class),
498 isA(AAIResourceUri.class));
500 bbInputSetupUtils.getAAIServiceInstanceByName(globalCustomerId, serviceType, serviceInstanceId);
504 public void testGetOptionalAAIServiceInstanceByNameNull() throws Exception {
505 String globalCustomerId = "globalCustomerId";
506 String serviceType = "serviceType";
507 String serviceInstanceId = "serviceInstanceId";
509 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
510 Optional<ServiceInstance> actual =
511 this.bbInputSetupUtils.getAAIServiceInstanceByName(globalCustomerId, serviceType, serviceInstanceId);
513 assertThat(actual, sameBeanAs(Optional.empty()));
517 public void testGetCatalogInstanceGroup() throws JsonParseException, JsonMappingException, IOException {
518 String modelUUID = "modelUUID";
520 org.onap.so.db.catalog.beans.InstanceGroup expectedInstanceGroup = mapper.readValue(
521 new File(RESOURCE_PATH + "InstanceGroup.json"), org.onap.so.db.catalog.beans.InstanceGroup.class);
523 doReturn(expectedInstanceGroup).when(MOCK_catalogDbClient).getInstanceGroupByModelUUID(isA(String.class));
525 org.onap.so.db.catalog.beans.InstanceGroup actualInstanceGroup =
526 bbInputSetupUtils.getCatalogInstanceGroup(modelUUID);
528 assertThat(actualInstanceGroup, sameBeanAs(expectedInstanceGroup));
532 public void testGetCollectionResourceInstanceGroupCustomization() {
533 String modelCustomizationUUID = "modelCustomizationUUID";
535 CollectionResourceInstanceGroupCustomization expectedCollection =
536 new CollectionResourceInstanceGroupCustomization();
538 doReturn(Arrays.asList(expectedCollection)).when(MOCK_catalogDbClient)
539 .getCollectionResourceInstanceGroupCustomizationByModelCustUUID(modelCustomizationUUID);
541 List<CollectionResourceInstanceGroupCustomization> actualCollection =
542 bbInputSetupUtils.getCollectionResourceInstanceGroupCustomization(modelCustomizationUUID);
544 assertThat(actualCollection, sameBeanAs(Arrays.asList(expectedCollection)));
548 public void testGetAAIGenericVnf() throws JsonParseException, JsonMappingException, IOException {
549 String vnfId = "vnfId";
551 GenericVnf expectedAaiVnf =
552 mapper.readValue(new File(RESOURCE_PATH + "aaiGenericVnfInput.json"), GenericVnf.class);
554 doReturn(Optional.of(expectedAaiVnf)).when(MOCK_aaiResourcesClient).get(isA(Class.class),
555 isA(AAIResourceUri.class));
556 AAIResourceUri expectedUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId).depth(Depth.ONE);
557 GenericVnf actualAaiVnf = bbInputSetupUtils.getAAIGenericVnf(vnfId);
559 assertThat(actualAaiVnf, sameBeanAs(expectedAaiVnf));
561 verify(MOCK_aaiResourcesClient, times(1)).get(org.onap.aai.domain.yang.GenericVnf.class, expectedUri);
565 public void testGetAAIConfiguration() throws JsonParseException, JsonMappingException, IOException {
566 String configurationId = "configurationId";
568 Configuration expectedAaiConfiguration =
569 mapper.readValue(new File(RESOURCE_PATH + "ConfigurationInput.json"), Configuration.class);
571 doReturn(Optional.of(expectedAaiConfiguration)).when(MOCK_aaiResourcesClient).get(isA(Class.class),
572 isA(AAIResourceUri.class));
573 AAIResourceUri expectedUri =
574 AAIUriFactory.createResourceUri(AAIObjectType.CONFIGURATION, configurationId).depth(Depth.ONE);
575 bbInputSetupUtils.getAAIConfiguration(configurationId);
577 verify(MOCK_aaiResourcesClient, times(1)).get(org.onap.aai.domain.yang.Configuration.class, expectedUri);
581 public void testGetAAIGenericVnfThrowNotFound() throws JsonParseException, JsonMappingException, IOException {
582 String vnfId = "vnfId";
584 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
586 GenericVnf actualAaiVnf = bbInputSetupUtils.getAAIGenericVnf(vnfId);
588 assertNull(actualAaiVnf);
592 public void testGetAAIResourceDepthOne() {
593 String vnfId = "vnfId";
594 AAIResourceUri aaiResourceUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId);
595 AAIResourceUri expectedUri = aaiResourceUri.clone().depth(Depth.ONE);
596 AAIResourceUri aaiResourceUriClone = aaiResourceUri.clone();
597 bbInputSetupUtils.getAAIResourceDepthOne(aaiResourceUri);
599 verify(MOCK_aaiResourcesClient, times(1)).get(expectedUri);
600 assertEquals("Uri should not have changed", aaiResourceUriClone.build(), aaiResourceUri.build());
604 public void testGetAAIResourceDepthTwo() {
605 String vnfId = "vnfId";
606 AAIResourceUri aaiResourceUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId);
607 AAIResourceUri expectedUri = aaiResourceUri.clone().depth(Depth.TWO);
608 AAIResourceUri aaiResourceUriClone = aaiResourceUri.clone();
609 bbInputSetupUtils.getAAIResourceDepthTwo(aaiResourceUri);
611 verify(MOCK_aaiResourcesClient, times(1)).get(expectedUri);
612 assertEquals("Uri should not have changed", aaiResourceUriClone.build(), aaiResourceUri.build());
616 public void getRelatedNetworkByNameFromServiceInstanceTest() throws Exception {
617 Optional<L3Networks> expected = Optional.of(new L3Networks());
618 L3Network network = new L3Network();
619 network.setNetworkId("id123");
620 network.setNetworkName("name123");
621 expected.get().getL3Network().add(network);
622 doReturn(expected).when(MOCK_aaiResourcesClient).get(eq(L3Networks.class), any(AAIResourceUri.class));
623 Optional<L3Network> actual =
624 this.bbInputSetupUtils.getRelatedNetworkByNameFromServiceInstance("id123", "name123");
625 assertEquals(actual.get().getNetworkId(), expected.get().getL3Network().get(0).getNetworkId());
629 public void getRelatedNetworkByNameFromServiceInstanceMultipleNetworksExceptionTest() throws Exception {
630 expectedException.expect(Exception.class);
632 String serviceInstanceId = "serviceInstanceId";
633 String networkName = "networkName";
635 L3Network network = new L3Network();
636 network.setNetworkId("id123");
637 network.setNetworkName("name123");
639 L3Networks expected = new L3Networks();
640 expected.getL3Network().add(network);
641 expected.getL3Network().add(network);
643 doReturn(expected).when(MOCK_aaiResourcesClient).get(eq(L3Networks.class), any(AAIResourceUri.class));
645 bbInputSetupUtils.getRelatedNetworkByNameFromServiceInstance(serviceInstanceId, networkName);
649 public void getRelatedNetworkByNameFromServiceInstanceNotFoundTest() throws Exception {
650 String serviceInstanceId = "serviceInstanceId";
651 String networkName = "networkName";
653 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(eq(L3Networks.class), any(AAIResourceUri.class));
655 Optional<L3Network> actualNetwork =
656 bbInputSetupUtils.getRelatedNetworkByNameFromServiceInstance(serviceInstanceId, networkName);
658 assertEquals(Optional.empty(), actualNetwork);
662 public void getRelatedServiceInstanceFromInstanceGroupTest() throws Exception {
663 Optional<ServiceInstances> expected = Optional.of(new ServiceInstances());
664 ServiceInstance serviceInstance = new ServiceInstance();
665 serviceInstance.setServiceInstanceId("serviceInstanceId");
666 serviceInstance.setServiceInstanceName("serviceInstanceName");
667 expected.get().getServiceInstance().add(serviceInstance);
669 doReturn(expected).when(MOCK_aaiResourcesClient).get(eq(ServiceInstances.class), any(AAIResourceUri.class));
670 Optional<ServiceInstance> actual = this.bbInputSetupUtils.getRelatedServiceInstanceFromInstanceGroup("ig-001");
671 assertEquals(actual.get().getServiceInstanceId(),
672 expected.get().getServiceInstance().get(0).getServiceInstanceId());
676 public void getRelatedServiceInstanceFromInstanceGroupMultipleTest() throws Exception {
677 expectedException.expect(MultipleObjectsFoundException.class);
678 Optional<ServiceInstances> serviceInstances = Optional.of(new ServiceInstances());
679 ServiceInstance si1 = Mockito.mock(ServiceInstance.class);
680 ServiceInstance si2 = Mockito.mock(ServiceInstance.class);
681 serviceInstances.get().getServiceInstance().add(si1);
682 serviceInstances.get().getServiceInstance().add(si2);
684 doReturn(serviceInstances).when(MOCK_aaiResourcesClient).get(eq(ServiceInstances.class),
685 any(AAIResourceUri.class));
686 this.bbInputSetupUtils.getRelatedServiceInstanceFromInstanceGroup("ig-001");
690 public void getRelatedServiceInstanceFromInstanceGroupNotFoundTest() throws Exception {
691 expectedException.expect(NoServiceInstanceFoundException.class);
692 Optional<ServiceInstances> serviceInstances = Optional.of(new ServiceInstances());
694 doReturn(serviceInstances).when(MOCK_aaiResourcesClient).get(eq(ServiceInstances.class),
695 any(AAIResourceUri.class));
696 this.bbInputSetupUtils.getRelatedServiceInstanceFromInstanceGroup("ig-001");
700 public void getRelatedVnfByNameFromServiceInstanceTest() throws Exception {
701 Optional<GenericVnfs> expected = Optional.of(new GenericVnfs());
702 GenericVnf vnf = new GenericVnf();
703 vnf.setVnfId("id123");
704 vnf.setVnfName("name123");
705 expected.get().getGenericVnf().add(vnf);
706 doReturn(expected).when(MOCK_aaiResourcesClient).get(eq(GenericVnfs.class), any(AAIResourceUri.class));
707 Optional<GenericVnf> actual = this.bbInputSetupUtils.getRelatedVnfByNameFromServiceInstance("id123", "name123");
708 assertEquals(actual.get().getVnfId(), expected.get().getGenericVnf().get(0).getVnfId());
712 public void getRelatedVnfByNameFromServiceInstanceMultipleVnfsExceptionTest() throws Exception {
713 expectedException.expect(Exception.class);
715 String serviceInstanceId = "serviceInstanceId";
716 String vnfName = "vnfName";
718 GenericVnf vnf = new GenericVnf();
719 vnf.setVnfId("id123");
720 vnf.setVnfName("name123");
722 GenericVnfs expectedVnf = new GenericVnfs();
723 expectedVnf.getGenericVnf().add(vnf);
724 expectedVnf.getGenericVnf().add(vnf);
726 doReturn(expectedVnf).when(MOCK_aaiResourcesClient).get(eq(GenericVnfs.class), any(AAIResourceUri.class));
728 bbInputSetupUtils.getRelatedVnfByNameFromServiceInstance(serviceInstanceId, vnfName);
732 public void getRelatedVnfByNameFromServiceInstanceNotFoundTest() throws Exception {
733 String serviceInstanceId = "serviceInstanceId";
734 String vnfName = "vnfName";
736 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(eq(GenericVnfs.class), any(AAIResourceUri.class));
738 Optional<GenericVnf> actualVnf =
739 this.bbInputSetupUtils.getRelatedVnfByNameFromServiceInstance(serviceInstanceId, vnfName);
741 assertEquals(actualVnf, Optional.empty());
745 public void getRelatedVolumeGroupByNameFromVnfTest() throws Exception {
746 Optional<VolumeGroups> expected = Optional.of(new VolumeGroups());
747 VolumeGroup volumeGroup = new VolumeGroup();
748 volumeGroup.setVolumeGroupId("id123");
749 volumeGroup.setVolumeGroupName("name123");
750 expected.get().getVolumeGroup().add(volumeGroup);
751 doReturn(expected).when(MOCK_aaiResourcesClient).get(eq(VolumeGroups.class), any(AAIResourceUri.class));
752 Optional<VolumeGroup> actual = this.bbInputSetupUtils.getRelatedVolumeGroupByNameFromVnf("id123", "name123");
753 assertEquals(actual.get().getVolumeGroupId(), expected.get().getVolumeGroup().get(0).getVolumeGroupId());
757 public void getRelatedVolumeGroupByNameFromVnfMultipleVolumeGroupsExceptionTest() throws Exception {
758 expectedException.expect(Exception.class);
760 String vnfId = "vnfId";
761 String volumeGroupName = "volumeGroupName";
763 VolumeGroup volumeGroup = new VolumeGroup();
764 volumeGroup.setVolumeGroupId("id123");
765 volumeGroup.setVolumeGroupName("name123");
767 VolumeGroups expectedVolumeGroup = new VolumeGroups();
768 expectedVolumeGroup.getVolumeGroup().add(volumeGroup);
769 expectedVolumeGroup.getVolumeGroup().add(volumeGroup);
771 doReturn(expectedVolumeGroup).when(MOCK_aaiResourcesClient).get(eq(VolumeGroups.class),
772 any(AAIResourceUri.class));
774 bbInputSetupUtils.getRelatedVolumeGroupByNameFromVnf(vnfId, volumeGroupName);
778 public void getRelatedVolumeGroupByNameFromVnfNotFoundTest() throws Exception {
779 String vnfId = "vnfId";
780 String volumeGroupName = "volumeGroupName";
782 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(eq(VolumeGroups.class), any(AAIResourceUri.class));
784 Optional<VolumeGroup> actualVolumeGroup =
785 bbInputSetupUtils.getRelatedVolumeGroupByNameFromVnf(vnfId, volumeGroupName);
787 assertEquals(actualVolumeGroup, Optional.empty());
791 public void getRelatedVolumeGroupByNameFromVfModuleTest() throws Exception {
792 Optional<VolumeGroups> expected = Optional.of(new VolumeGroups());
793 VolumeGroup volumeGroup = new VolumeGroup();
794 volumeGroup.setVolumeGroupId("id123");
795 volumeGroup.setVolumeGroupName("name123");
796 expected.get().getVolumeGroup().add(volumeGroup);
797 doReturn(expected).when(MOCK_aaiResourcesClient).get(eq(VolumeGroups.class), any(AAIResourceUri.class));
798 Optional<VolumeGroup> actual =
799 this.bbInputSetupUtils.getRelatedVolumeGroupByNameFromVfModule("id123", "id123", "name123");
800 assertEquals(actual.get().getVolumeGroupId(), expected.get().getVolumeGroup().get(0).getVolumeGroupId());
804 public void getRelatedVolumeGroupByNameFromVfModuleMultipleVolumeGroupsExceptionTest() throws Exception {
805 expectedException.expect(Exception.class);
807 String vnfId = "vnfId";
808 String volumeGroupId = "volumeGroupId";
809 String volumeGroupName = "volumeGroupName";
811 VolumeGroup volumeGroup = new VolumeGroup();
812 volumeGroup.setVolumeGroupId("id123");
813 volumeGroup.setVolumeGroupName("name123");
815 VolumeGroups expectedVolumeGroup = new VolumeGroups();
816 expectedVolumeGroup.getVolumeGroup().add(volumeGroup);
817 expectedVolumeGroup.getVolumeGroup().add(volumeGroup);
819 doReturn(expectedVolumeGroup).when(MOCK_aaiResourcesClient).get(eq(VolumeGroups.class),
820 any(AAIResourceUri.class));
822 bbInputSetupUtils.getRelatedVolumeGroupByNameFromVfModule(vnfId, volumeGroupId, volumeGroupName);
826 public void getRelatedVolumeGroupByNameFromVfModuleNotFoundTest() throws Exception {
827 String vnfId = "vnfId";
828 String volumeGroupId = "volumeGroupId";
829 String volumeGroupName = "volumeGroupName";
831 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(eq(VolumeGroups.class), any(AAIResourceUri.class));
833 Optional<VolumeGroup> actualVolumeGroup =
834 bbInputSetupUtils.getRelatedVolumeGroupByNameFromVfModule(vnfId, volumeGroupId, volumeGroupName);
836 assertEquals(actualVolumeGroup, Optional.empty());
840 public void loadOriginalFlowExecutionPathTest() throws Exception {
842 String requestId = "123";
843 String flowsToExecuteString =
844 "[{\"buildingBlock\":{\"mso-id\":\"2f9ddc4b-4dcf-4129-a35f-be1625ae0176\",\"bpmn-flow-name\":\"DeactivateFabricConfigurationBB\",\"key\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"is-virtual-link\":false,\"virtual-link-key\":null},\"requestId\":\"9c944122-d161-4280-8594-48c06a9d96d5\",\"apiVersion\":\"7\",\"resourceId\":\"d1d35800-783d-42d3-82f6-d654c5054a6e\",\"requestAction\":\"deleteInstance\",\"vnfType\":\"\",\"aLaCarte\":true,\"homing\":false,\"workflowResourceIds\":{\"serviceInstanceId\":\"ff9dae72-05bb-4277-ad2b-1b082467c138\",\"vnfId\":\"84a29830-e533-4f20-a838-910c740bf24c\",\"networkId\":\"\",\"volumeGroupId\":\"\",\"vfModuleId\":\"d1d35800-783d-42d3-82f6-d654c5054a6e\",\"networkCollectionId\":null,\"configurationId\":\"10f8a3a3-91bf-4821-9515-c01b2864dff0\",\"instanceGroupId\":\"\"},\"requestDetails\":{\"modelInfo\":{\"modelCustomizationName\":\"McmrNcUpVnf20191..cr_mccm_fc_base..module-0\",\"modelInvariantId\":\"8028fcc0-96dc-427d-a4de-4536245943da\",\"modelType\":\"vfModule\",\"modelId\":\"00d15ebb-c80e-43c1-80f0-90c40dde70b0\",\"modelName\":\"McmrNcUpVnf20191..cr_mccm_fc_base..module-0\",\"modelVersion\":\"1\",\"modelCustomizationUuid\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"modelVersionId\":\"00d15ebb-c80e-43c1-80f0-90c40dde70b0\",\"modelCustomizationId\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"modelUuid\":\"00d15ebb-c80e-43c1-80f0-90c40dde70b0\",\"modelInvariantUuid\":\"8028fcc0-96dc-427d-a4de-4536245943da\",\"modelInstanceName\":\"McmrNcUpVnf20191..cr_mccm_fc_base..module-0\"},\"requestInfo\":{\"source\":\"VID\",\"suppressRollback\":false,\"requestorId\":\"pj8646\"},\"cloudConfiguration\":{\"tenantId\":\"e2a6af59d1cb43b2874e943bbbf8470a\",\"cloudOwner\":\"att-nc\",\"lcpCloudRegionId\":\"auk51b\"},\"requestParameters\":{\"testApi\":\"GR_API\"}},\"configurationResourceKeys\":{\"vfModuleCustomizationUUID\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"vnfResourceCustomizationUUID\":\"a80f05b8-d651-44af-b999-8ed78fb4582f\",\"cvnfcCustomizationUUID\":\"69cce457-9ffd-4359-962b-0596a1e83ad1\",\"vnfcName\":\"zauk51bmcmr01mcm001\"}},{\"buildingBlock\":{\"mso-id\":\"1ca5584e-38a9-4c3f-a4b4-99b0d42089ba\",\"bpmn-flow-name\":\"UnassignFabricConfigurationBB\",\"key\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"is-virtual-link\":false,\"virtual-link-key\":null},\"requestId\":\"9c944122-d161-4280-8594-48c06a9d96d5\",\"apiVersion\":\"7\",\"resourceId\":\"d1d35800-783d-42d3-82f6-d654c5054a6e\",\"requestAction\":\"deleteInstance\",\"vnfType\":\"\",\"aLaCarte\":true,\"homing\":false,\"workflowResourceIds\":{\"serviceInstanceId\":\"ff9dae72-05bb-4277-ad2b-1b082467c138\",\"vnfId\":\"84a29830-e533-4f20-a838-910c740bf24c\",\"networkId\":\"\",\"volumeGroupId\":\"\",\"vfModuleId\":\"d1d35800-783d-42d3-82f6-d654c5054a6e\",\"networkCollectionId\":null,\"configurationId\":\"10f8a3a3-91bf-4821-9515-c01b2864dff0\",\"instanceGroupId\":\"\"},\"requestDetails\":{\"modelInfo\":{\"modelCustomizationName\":\"McmrNcUpVnf20191..cr_mccm_fc_base..module-0\",\"modelInvariantId\":\"8028fcc0-96dc-427d-a4de-4536245943da\",\"modelType\":\"vfModule\",\"modelId\":\"00d15ebb-c80e-43c1-80f0-90c40dde70b0\",\"modelName\":\"McmrNcUpVnf20191..cr_mccm_fc_base..module-0\",\"modelVersion\":\"1\",\"modelCustomizationUuid\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"modelVersionId\":\"00d15ebb-c80e-43c1-80f0-90c40dde70b0\",\"modelCustomizationId\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"modelUuid\":\"00d15ebb-c80e-43c1-80f0-90c40dde70b0\",\"modelInvariantUuid\":\"8028fcc0-96dc-427d-a4de-4536245943da\",\"modelInstanceName\":\"McmrNcUpVnf20191..cr_mccm_fc_base..module-0\"},\"requestInfo\":{\"source\":\"VID\",\"suppressRollback\":false,\"requestorId\":\"pj8646\"},\"cloudConfiguration\":{\"tenantId\":\"e2a6af59d1cb43b2874e943bbbf8470a\",\"cloudOwner\":\"att-nc\",\"lcpCloudRegionId\":\"auk51b\"},\"requestParameters\":{\"testApi\":\"GR_API\"}},\"configurationResourceKeys\":{\"vfModuleCustomizationUUID\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"vnfResourceCustomizationUUID\":\"a80f05b8-d651-44af-b999-8ed78fb4582f\",\"cvnfcCustomizationUUID\":\"69cce457-9ffd-4359-962b-0596a1e83ad1\",\"vnfcName\":\"zauk51bmcmr01mcm001\"}},{\"buildingBlock\":{\"mso-id\":\"68d16097-4810-477d-803b-8322106106ef\",\"bpmn-flow-name\":\"DeactivateVfModuleBB\",\"key\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"is-virtual-link\":false,\"virtual-link-key\":null},\"requestId\":\"9c944122-d161-4280-8594-48c06a9d96d5\",\"apiVersion\":\"7\",\"resourceId\":\"d1d35800-783d-42d3-82f6-d654c5054a6e\",\"requestAction\":\"deleteInstance\",\"vnfType\":\"\",\"aLaCarte\":true,\"homing\":false,\"workflowResourceIds\":{\"serviceInstanceId\":\"ff9dae72-05bb-4277-ad2b-1b082467c138\",\"vnfId\":\"84a29830-e533-4f20-a838-910c740bf24c\",\"networkId\":\"\",\"volumeGroupId\":\"\",\"vfModuleId\":\"d1d35800-783d-42d3-82f6-d654c5054a6e\",\"networkCollectionId\":null,\"configurationId\":\"10f8a3a3-91bf-4821-9515-c01b2864dff0\",\"instanceGroupId\":\"\"},\"requestDetails\":{\"modelInfo\":{\"modelCustomizationName\":\"McmrNcUpVnf20191..cr_mccm_fc_base..module-0\",\"modelInvariantId\":\"8028fcc0-96dc-427d-a4de-4536245943da\",\"modelType\":\"vfModule\",\"modelId\":\"00d15ebb-c80e-43c1-80f0-90c40dde70b0\",\"modelName\":\"McmrNcUpVnf20191..cr_mccm_fc_base..module-0\",\"modelVersion\":\"1\",\"modelCustomizationUuid\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"modelVersionId\":\"00d15ebb-c80e-43c1-80f0-90c40dde70b0\",\"modelCustomizationId\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"modelUuid\":\"00d15ebb-c80e-43c1-80f0-90c40dde70b0\",\"modelInvariantUuid\":\"8028fcc0-96dc-427d-a4de-4536245943da\",\"modelInstanceName\":\"McmrNcUpVnf20191..cr_mccm_fc_base..module-0\"},\"requestInfo\":{\"source\":\"VID\",\"suppressRollback\":false,\"requestorId\":\"pj8646\"},\"cloudConfiguration\":{\"tenantId\":\"e2a6af59d1cb43b2874e943bbbf8470a\",\"cloudOwner\":\"att-nc\",\"lcpCloudRegionId\":\"auk51b\"},\"requestParameters\":{\"testApi\":\"GR_API\"}},\"configurationResourceKeys\":null},{\"buildingBlock\":{\"mso-id\":\"0b02eb09-bc23-4329-b19e-716dcca4e4a6\",\"bpmn-flow-name\":\"DeleteVfModuleBB\",\"key\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"is-virtual-link\":false,\"virtual-link-key\":null},\"requestId\":\"9c944122-d161-4280-8594-48c06a9d96d5\",\"apiVersion\":\"7\",\"resourceId\":\"d1d35800-783d-42d3-82f6-d654c5054a6e\",\"requestAction\":\"deleteInstance\",\"vnfType\":\"\",\"aLaCarte\":true,\"homing\":false,\"workflowResourceIds\":{\"serviceInstanceId\":\"ff9dae72-05bb-4277-ad2b-1b082467c138\",\"vnfId\":\"84a29830-e533-4f20-a838-910c740bf24c\",\"networkId\":\"\",\"volumeGroupId\":\"\",\"vfModuleId\":\"d1d35800-783d-42d3-82f6-d654c5054a6e\",\"networkCollectionId\":null,\"configurationId\":\"10f8a3a3-91bf-4821-9515-c01b2864dff0\",\"instanceGroupId\":\"\"},\"requestDetails\":{\"modelInfo\":{\"modelCustomizationName\":\"McmrNcUpVnf20191..cr_mccm_fc_base..module-0\",\"modelInvariantId\":\"8028fcc0-96dc-427d-a4de-4536245943da\",\"modelType\":\"vfModule\",\"modelId\":\"00d15ebb-c80e-43c1-80f0-90c40dde70b0\",\"modelName\":\"McmrNcUpVnf20191..cr_mccm_fc_base..module-0\",\"modelVersion\":\"1\",\"modelCustomizationUuid\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"modelVersionId\":\"00d15ebb-c80e-43c1-80f0-90c40dde70b0\",\"modelCustomizationId\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"modelUuid\":\"00d15ebb-c80e-43c1-80f0-90c40dde70b0\",\"modelInvariantUuid\":\"8028fcc0-96dc-427d-a4de-4536245943da\",\"modelInstanceName\":\"McmrNcUpVnf20191..cr_mccm_fc_base..module-0\"},\"requestInfo\":{\"source\":\"VID\",\"suppressRollback\":false,\"requestorId\":\"pj8646\"},\"cloudConfiguration\":{\"tenantId\":\"e2a6af59d1cb43b2874e943bbbf8470a\",\"cloudOwner\":\"att-nc\",\"lcpCloudRegionId\":\"auk51b\"},\"requestParameters\":{\"testApi\":\"GR_API\"}},\"configurationResourceKeys\":null},{\"buildingBlock\":{\"mso-id\":\"bcf95d05-0782-44ff-920d-d5100525c275\",\"bpmn-flow-name\":\"UnassignVfModuleBB\",\"key\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"is-virtual-link\":false,\"virtual-link-key\":null},\"requestId\":\"9c944122-d161-4280-8594-48c06a9d96d5\",\"apiVersion\":\"7\",\"resourceId\":\"d1d35800-783d-42d3-82f6-d654c5054a6e\",\"requestAction\":\"deleteInstance\",\"vnfType\":\"\",\"aLaCarte\":true,\"homing\":false,\"workflowResourceIds\":{\"serviceInstanceId\":\"ff9dae72-05bb-4277-ad2b-1b082467c138\",\"vnfId\":\"84a29830-e533-4f20-a838-910c740bf24c\",\"networkId\":\"\",\"volumeGroupId\":\"\",\"vfModuleId\":\"d1d35800-783d-42d3-82f6-d654c5054a6e\",\"networkCollectionId\":null,\"configurationId\":\"10f8a3a3-91bf-4821-9515-c01b2864dff0\",\"instanceGroupId\":\"\"},\"requestDetails\":{\"modelInfo\":{\"modelCustomizationName\":\"McmrNcUpVnf20191..cr_mccm_fc_base..module-0\",\"modelInvariantId\":\"8028fcc0-96dc-427d-a4de-4536245943da\",\"modelType\":\"vfModule\",\"modelId\":\"00d15ebb-c80e-43c1-80f0-90c40dde70b0\",\"modelName\":\"McmrNcUpVnf20191..cr_mccm_fc_base..module-0\",\"modelVersion\":\"1\",\"modelCustomizationUuid\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"modelVersionId\":\"00d15ebb-c80e-43c1-80f0-90c40dde70b0\",\"modelCustomizationId\":\"7adc7c29-21a3-40a2-b8b6-5d4ad08b68e9\",\"modelUuid\":\"00d15ebb-c80e-43c1-80f0-90c40dde70b0\",\"modelInvariantUuid\":\"8028fcc0-96dc-427d-a4de-4536245943da\",\"modelInstanceName\":\"McmrNcUpVnf20191..cr_mccm_fc_base..module-0\"},\"requestInfo\":{\"source\":\"VID\",\"suppressRollback\":false,\"requestorId\":\"pj8646\"},\"cloudConfiguration\":{\"tenantId\":\"e2a6af59d1cb43b2874e943bbbf8470a\",\"cloudOwner\":\"att-nc\",\"lcpCloudRegionId\":\"auk51b\"},\"requestParameters\":{\"testApi\":\"GR_API\"}},\"configurationResourceKeys\":null}]";
845 ObjectMapper om = new ObjectMapper();
846 List<ExecuteBuildingBlock> expectedFlowsToExecute = null;
848 ExecuteBuildingBlock[] asArray = om.readValue(flowsToExecuteString, ExecuteBuildingBlock[].class);
849 expectedFlowsToExecute = Arrays.asList(asArray);
850 } catch (Exception e) {
851 // TODO Auto-generated catch block
855 InfraActiveRequests request = new InfraActiveRequests();
856 request.setRequestId("requestId");
857 request.setOriginalRequestId("originalRequestId");
858 doReturn(request).when(MOCK_requestsDbClient).getInfraActiveRequestbyRequestId(anyString());
859 RequestProcessingData rpd = new RequestProcessingData();
860 rpd.setValue(flowsToExecuteString);
861 doReturn(rpd).when(MOCK_requestsDbClient).getRequestProcessingDataBySoRequestIdAndName(anyString(),
864 List<ExecuteBuildingBlock> flowsToExecute = bbInputSetupUtils.loadOriginalFlowExecutionPath(requestId);
865 assertEquals(expectedFlowsToExecute.size(), flowsToExecute.size());