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.Configurations;
51 import org.onap.aai.domain.yang.GenericVnf;
52 import org.onap.aai.domain.yang.GenericVnfs;
53 import org.onap.aai.domain.yang.L3Network;
54 import org.onap.aai.domain.yang.L3Networks;
55 import org.onap.aai.domain.yang.ServiceInstance;
56 import org.onap.aai.domain.yang.ServiceInstances;
57 import org.onap.aai.domain.yang.VolumeGroup;
58 import org.onap.aai.domain.yang.VolumeGroups;
59 import org.onap.so.bpmn.common.InjectionHelper;
60 import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
61 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceSubscription;
62 import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock;
63 import org.onap.so.bpmn.servicedecomposition.tasks.exceptions.MultipleObjectsFoundException;
64 import org.onap.so.bpmn.servicedecomposition.tasks.exceptions.NoServiceInstanceFoundException;
65 import org.onap.so.client.aai.AAIObjectPlurals;
66 import org.onap.so.client.aai.AAIObjectType;
67 import org.onap.so.client.aai.AAIResourcesClient;
68 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
69 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
70 import org.onap.so.client.graphinventory.entities.uri.Depth;
71 import org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization;
72 import org.onap.so.db.catalog.beans.Service;
73 import org.onap.so.db.catalog.beans.VnfcInstanceGroupCustomization;
74 import org.onap.so.db.catalog.client.CatalogDbClient;
75 import org.onap.so.db.request.beans.InfraActiveRequests;
76 import org.onap.so.db.request.beans.RequestProcessingData;
77 import org.onap.so.db.request.client.RequestsDbClient;
78 import org.onap.so.serviceinstancebeans.CloudConfiguration;
79 import org.onap.so.serviceinstancebeans.ModelInfo;
80 import org.onap.so.serviceinstancebeans.RequestDetails;
81 import com.fasterxml.jackson.core.JsonParseException;
82 import com.fasterxml.jackson.databind.JsonMappingException;
83 import com.fasterxml.jackson.databind.ObjectMapper;
85 @RunWith(MockitoJUnitRunner.class)
86 public class BBInputSetupUtilsTest {
87 protected ObjectMapper mapper = new ObjectMapper();
88 private static final String RESOURCE_PATH = "src/test/resources/__files/ExecuteBuildingBlock/";
91 BBInputSetupUtils bbInputSetupUtils = new BBInputSetupUtils();
94 protected CatalogDbClient MOCK_catalogDbClient;
97 protected RequestsDbClient MOCK_requestsDbClient;
100 protected AAIResourcesClient MOCK_aaiResourcesClient;
103 protected InjectionHelper MOCK_injectionHelper;
106 public ExpectedException expectedException = ExpectedException.none();
109 public void setup() {
110 doReturn(MOCK_aaiResourcesClient).when(MOCK_injectionHelper).getAaiClient();
114 public void testGetCatalogServiceByModelUUID() throws JsonParseException, JsonMappingException, IOException {
115 Service expected = mapper.readValue(new File(RESOURCE_PATH + "CatalogServiceExpected.json"), Service.class);
117 RequestDetails requestDetails = new RequestDetails();
118 ModelInfo modelInfo = new ModelInfo();
119 modelInfo.setModelVersionId("modelUUID");
120 requestDetails.setModelInfo(modelInfo);
121 doReturn(expected).when(MOCK_catalogDbClient).getServiceByID("modelUUID");
122 Service actual = bbInputSetupUtils.getCatalogServiceByModelUUID(modelInfo.getModelVersionId());
124 assertThat(actual, sameBeanAs(expected));
128 public void testGetCatalogServiceByModelVersionAndModelInvariantUUID()
129 throws JsonParseException, JsonMappingException, IOException {
130 String modelVersion = "modelVersion";
131 String modelInvariantUUID = "modelInvariantUUID";
132 Service expectedService =
133 mapper.readValue(new File(RESOURCE_PATH + "CatalogServiceExpected.json"), Service.class);
135 doReturn(expectedService).when(MOCK_catalogDbClient)
136 .getServiceByModelVersionAndModelInvariantUUID(isA(String.class), isA(String.class));
138 Service actualService = bbInputSetupUtils.getCatalogServiceByModelVersionAndModelInvariantUUID(modelVersion,
141 assertThat(actualService, sameBeanAs(expectedService));
145 public void testGetVnfcInstanceGroups() throws JsonParseException, JsonMappingException, IOException {
146 VnfcInstanceGroupCustomization vnfc = mapper.readValue(
147 new File(RESOURCE_PATH + "VnfcInstanceGroupCustomization.json"), VnfcInstanceGroupCustomization.class);
148 String modelCustomizationUUID = "modelCustomizationUUID";
150 doReturn(Arrays.asList(vnfc)).when(MOCK_catalogDbClient)
151 .getVnfcInstanceGroupsByVnfResourceCust(isA(String.class));
153 List<VnfcInstanceGroupCustomization> actualVnfcList =
154 bbInputSetupUtils.getVnfcInstanceGroups(modelCustomizationUUID);
156 assertThat(actualVnfcList, sameBeanAs(Arrays.asList(vnfc)));
160 public void testGetRequestDetails() throws JsonParseException, JsonMappingException, IOException {
161 InfraActiveRequests infraActiveRequest = mapper
162 .readValue(new File(RESOURCE_PATH + "InfraActiveRequestExpected.json"), InfraActiveRequests.class);
164 RequestDetails expected =
165 mapper.readValue(new File(RESOURCE_PATH + "RequestDetailsExpected.json"), RequestDetails.class);
166 String requestId = "requestId";
167 doReturn(infraActiveRequest).when(MOCK_requestsDbClient).getInfraActiveRequestbyRequestId(requestId);
168 RequestDetails actual = bbInputSetupUtils.getRequestDetails(requestId);
170 assertThat(actual, sameBeanAs(expected));
174 public void getRequestDetailsNullTest() throws IOException {
175 RequestDetails requestDetails = bbInputSetupUtils.getRequestDetails("");
177 assertNull(requestDetails);
181 public void testGetCloudRegion() {
182 CloudConfiguration cloudConfig = new CloudConfiguration();
183 cloudConfig.setLcpCloudRegionId("lcpCloudRegionId");
184 Optional<org.onap.aai.domain.yang.CloudRegion> expected =
185 Optional.of(new org.onap.aai.domain.yang.CloudRegion());
186 expected.get().setCloudOwner("cloudOwner");
187 expected.get().setCloudRegionId("lcpCloudRegionId");
188 doReturn(expected).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.CloudRegion.class,
189 AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, cloudConfig.getCloudOwner(),
190 cloudConfig.getLcpCloudRegionId()).depth(Depth.TWO));
192 AAIResourceUri expectedUri = AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION,
193 cloudConfig.getCloudOwner(), cloudConfig.getLcpCloudRegionId()).depth(Depth.TWO);
194 bbInputSetupUtils.getCloudRegion(cloudConfig);
196 verify(MOCK_aaiResourcesClient, times(1)).get(CloudRegion.class, expectedUri);
200 public void testGetCloudRegionExceptionTest() {
202 CloudConfiguration cloudConfig = new CloudConfiguration();
203 cloudConfig.setLcpCloudRegionId("lcpCloudRegionId");
205 RequestDetails requestDetails = new RequestDetails();
206 requestDetails.setCloudConfiguration(cloudConfig);
208 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
210 CloudRegion cloudRegion = bbInputSetupUtils.getCloudRegion(cloudConfig);
212 assertNull(cloudRegion);
216 public void testGetCloudRegionEmptyId() {
217 CloudConfiguration cloudConfig = new CloudConfiguration();
218 cloudConfig.setLcpCloudRegionId("");
220 RequestDetails requestDetails = new RequestDetails();
221 requestDetails.setCloudConfiguration(cloudConfig);
223 CloudRegion cloudRegion = bbInputSetupUtils.getCloudRegion(cloudConfig);
225 assertNull(cloudRegion);
229 public void testGetCloudRegionEmptyConfiguration() {
230 RequestDetails requestDetails = new RequestDetails();
232 CloudRegion cloudRegion = bbInputSetupUtils.getCloudRegion(requestDetails.getCloudConfiguration());
234 assertNull(cloudRegion);
238 public void testGetAAIInstanceGroup() {
239 Optional<org.onap.aai.domain.yang.InstanceGroup> expected =
240 Optional.of(new org.onap.aai.domain.yang.InstanceGroup());
241 String instanceGroupId = "instanceGroupId";
242 expected.get().setId(instanceGroupId);
243 doReturn(expected).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.InstanceGroup.class,
244 AAIUriFactory.createResourceUri(AAIObjectType.INSTANCE_GROUP, instanceGroupId));
245 AAIResourceUri expectedUri = AAIUriFactory.createResourceUri(AAIObjectType.INSTANCE_GROUP, instanceGroupId);
247 bbInputSetupUtils.getAAIInstanceGroup(instanceGroupId);
248 verify(MOCK_aaiResourcesClient, times(1)).get(org.onap.aai.domain.yang.InstanceGroup.class, expectedUri);
252 public void testGetAAIInstanceGroupThrowNotFound() {
253 String instanceGroupId = "instanceGroupId";
254 doReturn(MOCK_aaiResourcesClient).when(MOCK_injectionHelper).getAaiClient();
255 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.InstanceGroup.class,
256 AAIUriFactory.createResourceUri(AAIObjectType.INSTANCE_GROUP, instanceGroupId));
258 org.onap.aai.domain.yang.InstanceGroup actual = bbInputSetupUtils.getAAIInstanceGroup(instanceGroupId);
264 public void testGetAAICustomer() {
265 Optional<org.onap.aai.domain.yang.Customer> expected = Optional.of(new org.onap.aai.domain.yang.Customer());
266 String globalSubscriberId = "globalSubscriberId";
267 expected.get().setGlobalCustomerId(globalSubscriberId);
268 doReturn(expected).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.Customer.class,
269 AAIUriFactory.createResourceUri(AAIObjectType.CUSTOMER, globalSubscriberId));
270 AAIResourceUri expectedUri = AAIUriFactory.createResourceUri(AAIObjectType.CUSTOMER, globalSubscriberId);
272 bbInputSetupUtils.getAAICustomer(globalSubscriberId);
273 verify(MOCK_aaiResourcesClient, times(1)).get(org.onap.aai.domain.yang.Customer.class, expectedUri);
277 public void testGetAAICustomerThrowNotFound() {
278 String globalSubscriberId = "globalSubscriberId";
279 doReturn(MOCK_aaiResourcesClient).when(MOCK_injectionHelper).getAaiClient();
280 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.Customer.class,
281 AAIUriFactory.createResourceUri(AAIObjectType.CUSTOMER, globalSubscriberId));
283 org.onap.aai.domain.yang.Customer actual = bbInputSetupUtils.getAAICustomer(globalSubscriberId);
289 public void testGetAAIServiceSubscription() {
290 Optional<org.onap.aai.domain.yang.ServiceSubscription> expected =
291 Optional.of(new org.onap.aai.domain.yang.ServiceSubscription());
292 String globalSubscriberId = "globalSubscriberId";
293 String subscriptionServiceType = "subscriptionServiceType";
294 expected.get().setServiceType(subscriptionServiceType);
295 doReturn(expected).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.ServiceSubscription.class,
296 AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_SUBSCRIPTION, globalSubscriberId,
297 subscriptionServiceType));
298 AAIResourceUri expectedUri = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_SUBSCRIPTION,
299 globalSubscriberId, subscriptionServiceType);
301 bbInputSetupUtils.getAAIServiceSubscription(globalSubscriberId, subscriptionServiceType);
302 verify(MOCK_aaiResourcesClient, times(1)).get(org.onap.aai.domain.yang.ServiceSubscription.class, expectedUri);
306 public void testGetAAIServiceSubscriptionErrors() {
307 String globalSubId = null;
308 String subServiceType = null;
309 org.onap.aai.domain.yang.ServiceSubscription actual =
310 bbInputSetupUtils.getAAIServiceSubscription(globalSubId, subServiceType);
313 String globalSubId2 = "";
314 String subServiceType2 = "";
315 org.onap.aai.domain.yang.ServiceSubscription actual2 =
316 bbInputSetupUtils.getAAIServiceSubscription(globalSubId2, subServiceType2);
319 String globalSubId3 = "";
320 String subServiceType3 = null;
321 org.onap.aai.domain.yang.ServiceSubscription actual3 =
322 bbInputSetupUtils.getAAIServiceSubscription(globalSubId3, subServiceType3);
325 String globalSubId4 = null;
326 String subServiceType4 = "";
327 org.onap.aai.domain.yang.ServiceSubscription actual4 =
328 bbInputSetupUtils.getAAIServiceSubscription(globalSubId4, subServiceType4);
333 public void testGetAAIServiceSubscriptionThrowNotFound() {
334 String globalSubscriberId = "globalSubscriberId";
335 String subscriptionServiceType = "subscriptionServiceType";
336 doReturn(MOCK_aaiResourcesClient).when(MOCK_injectionHelper).getAaiClient();
337 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.ServiceSubscription.class,
338 AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_SUBSCRIPTION, globalSubscriberId,
339 subscriptionServiceType));
340 org.onap.aai.domain.yang.ServiceSubscription actual =
341 bbInputSetupUtils.getAAIServiceSubscription(globalSubscriberId, subscriptionServiceType);
346 public void testGetAAIServiceInstanceById() {
347 String serviceInstanceId = "serviceInstanceId";
349 ServiceInstance expectedServiceInstance = new ServiceInstance();
351 doReturn(Optional.of(expectedServiceInstance)).when(MOCK_aaiResourcesClient).get(isA(Class.class),
352 isA(AAIResourceUri.class));
354 ServiceInstance actualServiceInstance = bbInputSetupUtils.getAAIServiceInstanceById(serviceInstanceId);
356 assertThat(actualServiceInstance, sameBeanAs(expectedServiceInstance));
360 public void testGetAAIServiceInstanceByIdThrowNotFound() {
361 String serviceInstanceId = "serviceInstanceId";
363 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
365 ServiceInstance actualServiceInstance = bbInputSetupUtils.getAAIServiceInstanceById(serviceInstanceId);
367 assertNull(actualServiceInstance);
371 public void testGetAAIServiceInstanceByIdAndCustomer() {
372 String globalCustomerId = "globalCustomerId";
373 String serviceType = "serviceType";
374 String serviceInstanceId = "serviceInstanceId";
375 ServiceInstance expected = new ServiceInstance();
376 expected.setServiceInstanceId(serviceInstanceId);
377 doReturn(Optional.of(expected)).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
378 AAIResourceUri expectedUri = AAIUriFactory
379 .createResourceUri(AAIObjectType.SERVICE_INSTANCE, globalCustomerId, serviceType, serviceInstanceId)
381 this.bbInputSetupUtils.getAAIServiceInstanceByIdAndCustomer(globalCustomerId, serviceType, serviceInstanceId);
383 verify(MOCK_aaiResourcesClient, times(1)).get(org.onap.aai.domain.yang.ServiceInstance.class, expectedUri);
388 public void testGetAAIServiceInstanceByIdAndCustomerThrowNotFound() {
389 String globalCustomerId = "globalCustomerId";
390 String serviceType = "serviceType";
391 String serviceInstanceId = "serviceInstanceId";
393 doReturn(MOCK_aaiResourcesClient).when(MOCK_injectionHelper).getAaiClient();
394 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
395 ServiceInstance actual = this.bbInputSetupUtils.getAAIServiceInstanceByIdAndCustomer(globalCustomerId,
396 serviceType, serviceInstanceId);
402 public void testGetAAIServiceInstanceByName() throws Exception {
403 String serviceInstanceName = "serviceInstanceName";
405 ServiceInstance expectedServiceInstance = new ServiceInstance();
406 expectedServiceInstance.setServiceInstanceId("serviceInstanceId");
408 ServiceSubscription serviceSubscription = new ServiceSubscription();
409 serviceSubscription.setServiceType("serviceType");
411 Customer customer = new Customer();
412 customer.setGlobalCustomerId("globalCustomerId");
413 customer.setServiceSubscription(serviceSubscription);
415 ServiceInstances serviceInstances = new ServiceInstances();
416 serviceInstances.getServiceInstance().add(expectedServiceInstance);
418 doReturn(Optional.of(serviceInstances)).when(MOCK_aaiResourcesClient).get(isA(Class.class),
419 isA(AAIResourceUri.class));
420 AAIResourceUri expectedUri = AAIUriFactory
421 .createResourceUri(AAIObjectPlurals.SERVICE_INSTANCE, customer.getGlobalCustomerId(),
422 customer.getServiceSubscription().getServiceType())
423 .queryParam("service-instance-name", serviceInstanceName).depth(Depth.TWO);
424 bbInputSetupUtils.getAAIServiceInstanceByName(serviceInstanceName, customer);
426 verify(MOCK_aaiResourcesClient, times(1)).get(org.onap.aai.domain.yang.ServiceInstances.class, expectedUri);
430 public void testGetAAIServiceInstanceByNameException() throws Exception {
431 expectedException.expect(Exception.class);
433 String serviceInstanceName = "serviceInstanceName";
435 ServiceInstance serviceInstance = new ServiceInstance();
436 serviceInstance.setServiceInstanceId("serviceInstanceId");
438 ServiceSubscription serviceSubscription = new ServiceSubscription();
439 serviceSubscription.setServiceType("serviceType");
441 Customer customer = new Customer();
442 customer.setGlobalCustomerId("globalCustomerId");
443 customer.setServiceSubscription(serviceSubscription);
445 ServiceInstances serviceInstances = new ServiceInstances();
446 serviceInstances.getServiceInstance().add(serviceInstance);
447 serviceInstances.getServiceInstance().add(serviceInstance);
449 doReturn(Optional.of(serviceInstances)).when(MOCK_aaiResourcesClient).get(isA(Class.class),
450 isA(AAIResourceUri.class));
452 bbInputSetupUtils.getAAIServiceInstanceByName(serviceInstanceName, customer);
456 public void testGetAAIServiceInstanceByNameNull() throws Exception {
457 String serviceInstanceName = "serviceInstanceName";
459 ServiceInstance serviceInstance = new ServiceInstance();
460 serviceInstance.setServiceInstanceId("serviceInstanceId");
462 ServiceSubscription serviceSubscription = new ServiceSubscription();
463 serviceSubscription.setServiceType("serviceType");
465 Customer customer = new Customer();
466 customer.setGlobalCustomerId("globalCustomerId");
467 customer.setServiceSubscription(serviceSubscription);
469 ServiceInstances serviceInstances = new ServiceInstances();
470 serviceInstances.getServiceInstance().add(serviceInstance);
471 serviceInstances.getServiceInstance().add(serviceInstance);
473 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
475 ServiceInstance actualServiceInstance =
476 bbInputSetupUtils.getAAIServiceInstanceByName(serviceInstanceName, customer);
478 assertNull(actualServiceInstance);
482 public void testGetOptionalAAIServiceInstanceByNameException() throws Exception {
483 expectedException.expect(Exception.class);
485 String globalCustomerId = "globalCustomerId";
486 String serviceType = "serviceType";
487 String serviceInstanceId = "serviceInstanceId";
489 ServiceInstance serviceInstance = new ServiceInstance();
490 serviceInstance.setServiceInstanceId("serviceInstanceId");
491 serviceInstance.setServiceType(serviceType);
492 serviceInstance.setServiceInstanceName("serviceInstanceName");
494 ServiceInstances serviceInstances = new ServiceInstances();
495 serviceInstances.getServiceInstance().add(serviceInstance);
496 serviceInstances.getServiceInstance().add(serviceInstance);
498 doReturn(Optional.of(serviceInstances)).when(MOCK_aaiResourcesClient).get(isA(Class.class),
499 isA(AAIResourceUri.class));
501 bbInputSetupUtils.getAAIServiceInstanceByName(globalCustomerId, serviceType, serviceInstanceId);
505 public void testGetOptionalAAIServiceInstanceByNameNull() throws Exception {
506 String globalCustomerId = "globalCustomerId";
507 String serviceType = "serviceType";
508 String serviceInstanceId = "serviceInstanceId";
510 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
511 Optional<ServiceInstance> actual =
512 this.bbInputSetupUtils.getAAIServiceInstanceByName(globalCustomerId, serviceType, serviceInstanceId);
514 assertThat(actual, sameBeanAs(Optional.empty()));
518 public void testGetCatalogInstanceGroup() throws JsonParseException, JsonMappingException, IOException {
519 String modelUUID = "modelUUID";
521 org.onap.so.db.catalog.beans.InstanceGroup expectedInstanceGroup = mapper.readValue(
522 new File(RESOURCE_PATH + "InstanceGroup.json"), org.onap.so.db.catalog.beans.InstanceGroup.class);
524 doReturn(expectedInstanceGroup).when(MOCK_catalogDbClient).getInstanceGroupByModelUUID(isA(String.class));
526 org.onap.so.db.catalog.beans.InstanceGroup actualInstanceGroup =
527 bbInputSetupUtils.getCatalogInstanceGroup(modelUUID);
529 assertThat(actualInstanceGroup, sameBeanAs(expectedInstanceGroup));
533 public void testGetCollectionResourceInstanceGroupCustomization() {
534 String modelCustomizationUUID = "modelCustomizationUUID";
536 CollectionResourceInstanceGroupCustomization expectedCollection =
537 new CollectionResourceInstanceGroupCustomization();
539 doReturn(Arrays.asList(expectedCollection)).when(MOCK_catalogDbClient)
540 .getCollectionResourceInstanceGroupCustomizationByModelCustUUID(modelCustomizationUUID);
542 List<CollectionResourceInstanceGroupCustomization> actualCollection =
543 bbInputSetupUtils.getCollectionResourceInstanceGroupCustomization(modelCustomizationUUID);
545 assertThat(actualCollection, sameBeanAs(Arrays.asList(expectedCollection)));
549 public void testGetAAIGenericVnf() throws JsonParseException, JsonMappingException, IOException {
550 String vnfId = "vnfId";
552 GenericVnf expectedAaiVnf =
553 mapper.readValue(new File(RESOURCE_PATH + "aaiGenericVnfInput.json"), GenericVnf.class);
555 doReturn(Optional.of(expectedAaiVnf)).when(MOCK_aaiResourcesClient).get(isA(Class.class),
556 isA(AAIResourceUri.class));
557 AAIResourceUri expectedUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId).depth(Depth.ONE);
558 GenericVnf actualAaiVnf = bbInputSetupUtils.getAAIGenericVnf(vnfId);
560 assertThat(actualAaiVnf, sameBeanAs(expectedAaiVnf));
562 verify(MOCK_aaiResourcesClient, times(1)).get(org.onap.aai.domain.yang.GenericVnf.class, expectedUri);
566 public void testGetAAIConfiguration() throws JsonParseException, JsonMappingException, IOException {
567 String configurationId = "configurationId";
569 Configuration expectedAaiConfiguration =
570 mapper.readValue(new File(RESOURCE_PATH + "ConfigurationInput.json"), Configuration.class);
572 doReturn(Optional.of(expectedAaiConfiguration)).when(MOCK_aaiResourcesClient).get(isA(Class.class),
573 isA(AAIResourceUri.class));
574 AAIResourceUri expectedUri =
575 AAIUriFactory.createResourceUri(AAIObjectType.CONFIGURATION, configurationId).depth(Depth.ONE);
576 bbInputSetupUtils.getAAIConfiguration(configurationId);
578 verify(MOCK_aaiResourcesClient, times(1)).get(org.onap.aai.domain.yang.Configuration.class, expectedUri);
582 public void testGetAAIGenericVnfThrowNotFound() throws JsonParseException, JsonMappingException, IOException {
583 String vnfId = "vnfId";
585 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(isA(Class.class), isA(AAIResourceUri.class));
587 GenericVnf actualAaiVnf = bbInputSetupUtils.getAAIGenericVnf(vnfId);
589 assertNull(actualAaiVnf);
593 public void testGetAAIResourceDepthOne() {
594 String vnfId = "vnfId";
595 AAIResourceUri aaiResourceUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId);
596 AAIResourceUri expectedUri = aaiResourceUri.clone().depth(Depth.ONE);
597 AAIResourceUri aaiResourceUriClone = aaiResourceUri.clone();
598 bbInputSetupUtils.getAAIResourceDepthOne(aaiResourceUri);
600 verify(MOCK_aaiResourcesClient, times(1)).get(expectedUri);
601 assertEquals("Uri should not have changed", aaiResourceUriClone.build(), aaiResourceUri.build());
605 public void testGetAAIResourceDepthTwo() {
606 String vnfId = "vnfId";
607 AAIResourceUri aaiResourceUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId);
608 AAIResourceUri expectedUri = aaiResourceUri.clone().depth(Depth.TWO);
609 AAIResourceUri aaiResourceUriClone = aaiResourceUri.clone();
610 bbInputSetupUtils.getAAIResourceDepthTwo(aaiResourceUri);
612 verify(MOCK_aaiResourcesClient, times(1)).get(expectedUri);
613 assertEquals("Uri should not have changed", aaiResourceUriClone.build(), aaiResourceUri.build());
617 public void getRelatedNetworkByNameFromServiceInstanceTest() throws Exception {
618 Optional<L3Networks> expected = Optional.of(new L3Networks());
619 L3Network network = new L3Network();
620 network.setNetworkId("id123");
621 network.setNetworkName("name123");
622 expected.get().getL3Network().add(network);
623 doReturn(expected).when(MOCK_aaiResourcesClient).get(eq(L3Networks.class), any(AAIResourceUri.class));
624 Optional<L3Network> actual =
625 this.bbInputSetupUtils.getRelatedNetworkByNameFromServiceInstance("id123", "name123");
626 assertEquals(actual.get().getNetworkId(), expected.get().getL3Network().get(0).getNetworkId());
630 public void getRelatedNetworkByNameFromServiceInstanceMultipleNetworksExceptionTest() throws Exception {
631 expectedException.expect(Exception.class);
633 String serviceInstanceId = "serviceInstanceId";
634 String networkName = "networkName";
636 L3Network network = new L3Network();
637 network.setNetworkId("id123");
638 network.setNetworkName("name123");
640 L3Networks expected = new L3Networks();
641 expected.getL3Network().add(network);
642 expected.getL3Network().add(network);
644 doReturn(expected).when(MOCK_aaiResourcesClient).get(eq(L3Networks.class), any(AAIResourceUri.class));
646 bbInputSetupUtils.getRelatedNetworkByNameFromServiceInstance(serviceInstanceId, networkName);
650 public void getRelatedNetworkByNameFromServiceInstanceNotFoundTest() throws Exception {
651 String serviceInstanceId = "serviceInstanceId";
652 String networkName = "networkName";
654 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(eq(L3Networks.class), any(AAIResourceUri.class));
656 Optional<L3Network> actualNetwork =
657 bbInputSetupUtils.getRelatedNetworkByNameFromServiceInstance(serviceInstanceId, networkName);
659 assertEquals(Optional.empty(), actualNetwork);
663 public void getRelatedServiceInstanceFromInstanceGroupTest() throws Exception {
664 Optional<ServiceInstances> expected = Optional.of(new ServiceInstances());
665 ServiceInstance serviceInstance = new ServiceInstance();
666 serviceInstance.setServiceInstanceId("serviceInstanceId");
667 serviceInstance.setServiceInstanceName("serviceInstanceName");
668 expected.get().getServiceInstance().add(serviceInstance);
670 doReturn(expected).when(MOCK_aaiResourcesClient).get(eq(ServiceInstances.class), any(AAIResourceUri.class));
671 Optional<ServiceInstance> actual = this.bbInputSetupUtils.getRelatedServiceInstanceFromInstanceGroup("ig-001");
672 assertEquals(actual.get().getServiceInstanceId(),
673 expected.get().getServiceInstance().get(0).getServiceInstanceId());
677 public void getRelatedServiceInstanceFromInstanceGroupMultipleTest() throws Exception {
678 expectedException.expect(MultipleObjectsFoundException.class);
679 Optional<ServiceInstances> serviceInstances = Optional.of(new ServiceInstances());
680 ServiceInstance si1 = Mockito.mock(ServiceInstance.class);
681 ServiceInstance si2 = Mockito.mock(ServiceInstance.class);
682 serviceInstances.get().getServiceInstance().add(si1);
683 serviceInstances.get().getServiceInstance().add(si2);
685 doReturn(serviceInstances).when(MOCK_aaiResourcesClient).get(eq(ServiceInstances.class),
686 any(AAIResourceUri.class));
687 this.bbInputSetupUtils.getRelatedServiceInstanceFromInstanceGroup("ig-001");
691 public void getRelatedServiceInstanceFromInstanceGroupNotFoundTest() throws Exception {
692 expectedException.expect(NoServiceInstanceFoundException.class);
693 Optional<ServiceInstances> serviceInstances = Optional.of(new ServiceInstances());
695 doReturn(serviceInstances).when(MOCK_aaiResourcesClient).get(eq(ServiceInstances.class),
696 any(AAIResourceUri.class));
697 this.bbInputSetupUtils.getRelatedServiceInstanceFromInstanceGroup("ig-001");
701 public void getRelatedVnfByNameFromServiceInstanceTest() throws Exception {
702 Optional<GenericVnfs> expected = Optional.of(new GenericVnfs());
703 GenericVnf vnf = new GenericVnf();
704 vnf.setVnfId("id123");
705 vnf.setVnfName("name123");
706 expected.get().getGenericVnf().add(vnf);
707 doReturn(expected).when(MOCK_aaiResourcesClient).get(eq(GenericVnfs.class), any(AAIResourceUri.class));
708 Optional<GenericVnf> actual = this.bbInputSetupUtils.getRelatedVnfByNameFromServiceInstance("id123", "name123");
709 assertEquals(actual.get().getVnfId(), expected.get().getGenericVnf().get(0).getVnfId());
713 public void getRelatedVnfByNameFromServiceInstanceMultipleVnfsExceptionTest() throws Exception {
714 expectedException.expect(Exception.class);
716 String serviceInstanceId = "serviceInstanceId";
717 String vnfName = "vnfName";
719 GenericVnf vnf = new GenericVnf();
720 vnf.setVnfId("id123");
721 vnf.setVnfName("name123");
723 GenericVnfs expectedVnf = new GenericVnfs();
724 expectedVnf.getGenericVnf().add(vnf);
725 expectedVnf.getGenericVnf().add(vnf);
727 doReturn(expectedVnf).when(MOCK_aaiResourcesClient).get(eq(GenericVnfs.class), any(AAIResourceUri.class));
729 bbInputSetupUtils.getRelatedVnfByNameFromServiceInstance(serviceInstanceId, vnfName);
733 public void getRelatedVnfByNameFromServiceInstanceNotFoundTest() throws Exception {
734 String serviceInstanceId = "serviceInstanceId";
735 String vnfName = "vnfName";
737 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(eq(GenericVnfs.class), any(AAIResourceUri.class));
739 Optional<GenericVnf> actualVnf =
740 this.bbInputSetupUtils.getRelatedVnfByNameFromServiceInstance(serviceInstanceId, vnfName);
742 assertEquals(actualVnf, Optional.empty());
746 public void getRelatedVolumeGroupByNameFromVnfTest() throws Exception {
747 Optional<VolumeGroups> expected = Optional.of(new VolumeGroups());
748 VolumeGroup volumeGroup = new VolumeGroup();
749 volumeGroup.setVolumeGroupId("id123");
750 volumeGroup.setVolumeGroupName("name123");
751 expected.get().getVolumeGroup().add(volumeGroup);
752 doReturn(expected).when(MOCK_aaiResourcesClient).get(eq(VolumeGroups.class), any(AAIResourceUri.class));
753 Optional<VolumeGroup> actual = this.bbInputSetupUtils.getRelatedVolumeGroupByNameFromVnf("id123", "name123");
754 assertEquals(actual.get().getVolumeGroupId(), expected.get().getVolumeGroup().get(0).getVolumeGroupId());
758 public void getRelatedVolumeGroupByNameFromVnfMultipleVolumeGroupsExceptionTest() throws Exception {
759 expectedException.expect(Exception.class);
761 String vnfId = "vnfId";
762 String volumeGroupName = "volumeGroupName";
764 VolumeGroup volumeGroup = new VolumeGroup();
765 volumeGroup.setVolumeGroupId("id123");
766 volumeGroup.setVolumeGroupName("name123");
768 VolumeGroups expectedVolumeGroup = new VolumeGroups();
769 expectedVolumeGroup.getVolumeGroup().add(volumeGroup);
770 expectedVolumeGroup.getVolumeGroup().add(volumeGroup);
772 doReturn(expectedVolumeGroup).when(MOCK_aaiResourcesClient).get(eq(VolumeGroups.class),
773 any(AAIResourceUri.class));
775 bbInputSetupUtils.getRelatedVolumeGroupByNameFromVnf(vnfId, volumeGroupName);
779 public void getRelatedVolumeGroupByNameFromVnfNotFoundTest() throws Exception {
780 String vnfId = "vnfId";
781 String volumeGroupName = "volumeGroupName";
783 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(eq(VolumeGroups.class), any(AAIResourceUri.class));
785 Optional<VolumeGroup> actualVolumeGroup =
786 bbInputSetupUtils.getRelatedVolumeGroupByNameFromVnf(vnfId, volumeGroupName);
788 assertEquals(actualVolumeGroup, Optional.empty());
792 public void getRelatedVolumeGroupByNameFromVfModuleTest() throws Exception {
793 Optional<VolumeGroups> expected = Optional.of(new VolumeGroups());
794 VolumeGroup volumeGroup = new VolumeGroup();
795 volumeGroup.setVolumeGroupId("id123");
796 volumeGroup.setVolumeGroupName("name123");
797 expected.get().getVolumeGroup().add(volumeGroup);
798 doReturn(expected).when(MOCK_aaiResourcesClient).get(eq(VolumeGroups.class), any(AAIResourceUri.class));
799 Optional<VolumeGroup> actual =
800 this.bbInputSetupUtils.getRelatedVolumeGroupByNameFromVfModule("id123", "id123", "name123");
801 assertEquals(actual.get().getVolumeGroupId(), expected.get().getVolumeGroup().get(0).getVolumeGroupId());
805 public void getRelatedVolumeGroupByNameFromVfModuleMultipleVolumeGroupsExceptionTest() throws Exception {
806 expectedException.expect(Exception.class);
808 String vnfId = "vnfId";
809 String volumeGroupId = "volumeGroupId";
810 String volumeGroupName = "volumeGroupName";
812 VolumeGroup volumeGroup = new VolumeGroup();
813 volumeGroup.setVolumeGroupId("id123");
814 volumeGroup.setVolumeGroupName("name123");
816 VolumeGroups expectedVolumeGroup = new VolumeGroups();
817 expectedVolumeGroup.getVolumeGroup().add(volumeGroup);
818 expectedVolumeGroup.getVolumeGroup().add(volumeGroup);
820 doReturn(expectedVolumeGroup).when(MOCK_aaiResourcesClient).get(eq(VolumeGroups.class),
821 any(AAIResourceUri.class));
823 bbInputSetupUtils.getRelatedVolumeGroupByNameFromVfModule(vnfId, volumeGroupId, volumeGroupName);
827 public void getRelatedVolumeGroupByNameFromVfModuleNotFoundTest() throws Exception {
828 String vnfId = "vnfId";
829 String volumeGroupId = "volumeGroupId";
830 String volumeGroupName = "volumeGroupName";
832 doReturn(Optional.empty()).when(MOCK_aaiResourcesClient).get(eq(VolumeGroups.class), any(AAIResourceUri.class));
834 Optional<VolumeGroup> actualVolumeGroup =
835 bbInputSetupUtils.getRelatedVolumeGroupByNameFromVfModule(vnfId, volumeGroupId, volumeGroupName);
837 assertEquals(actualVolumeGroup, Optional.empty());
841 public void loadOriginalFlowExecutionPathTest() throws Exception {
843 String requestId = "123";
844 String flowsToExecuteString =
845 "[{\"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}]";
846 ObjectMapper om = new ObjectMapper();
847 List<ExecuteBuildingBlock> expectedFlowsToExecute = null;
849 ExecuteBuildingBlock[] asArray = om.readValue(flowsToExecuteString, ExecuteBuildingBlock[].class);
850 expectedFlowsToExecute = Arrays.asList(asArray);
851 } catch (Exception e) {
852 // TODO Auto-generated catch block
856 InfraActiveRequests request = new InfraActiveRequests();
857 request.setRequestId("requestId");
858 request.setOriginalRequestId("originalRequestId");
859 doReturn(request).when(MOCK_requestsDbClient).getInfraActiveRequestbyRequestId(anyString());
860 RequestProcessingData rpd = new RequestProcessingData();
861 rpd.setValue(flowsToExecuteString);
862 doReturn(rpd).when(MOCK_requestsDbClient).getRequestProcessingDataBySoRequestIdAndName(anyString(),
865 List<ExecuteBuildingBlock> flowsToExecute = bbInputSetupUtils.loadOriginalFlowExecutionPath(requestId);
866 assertEquals(expectedFlowsToExecute.size(), flowsToExecute.size());
870 public void getRelatedConfigurationByNameFromServiceInstanceTest() throws Exception {
871 Optional<Configurations> expected = Optional.of(new Configurations());
872 Configuration configuration = new Configuration();
873 configuration.setConfigurationId("id123");
874 expected.get().getConfiguration().add(configuration);
875 doReturn(expected).when(MOCK_aaiResourcesClient).get(eq(Configurations.class), any(AAIResourceUri.class));
876 Optional<Configuration> actual =
877 this.bbInputSetupUtils.getRelatedConfigurationByNameFromServiceInstance("id123", "name123");
878 assertEquals(actual.get().getConfigurationId(), expected.get().getConfiguration().get(0).getConfigurationId());
882 public void existsAAIVfModuleGloballyByNameTest() throws Exception {
883 AAIResourceUri expectedUri =
884 AAIUriFactory.createNodesUri(AAIObjectPlurals.VF_MODULE).queryParam("vf-module-name", "testVfModule");
885 bbInputSetupUtils.existsAAIVfModuleGloballyByName("testVfModule");
886 verify(MOCK_aaiResourcesClient, times(1)).exists(expectedUri);
890 public void existsAAIConfigurationGloballyByNameTest() throws Exception {
891 AAIResourceUri expectedUri = AAIUriFactory.createResourceUri(AAIObjectPlurals.CONFIGURATION)
892 .queryParam("configuration-name", "testConfig");
893 bbInputSetupUtils.existsAAIConfigurationGloballyByName("testConfig");
894 verify(MOCK_aaiResourcesClient, times(1)).exists(expectedUri);
898 public void existsAAINetworksGloballyByNameTest() throws Exception {
899 AAIResourceUri expectedUri =
900 AAIUriFactory.createResourceUri(AAIObjectPlurals.L3_NETWORK).queryParam("network-name", "testNetwork");
901 bbInputSetupUtils.existsAAINetworksGloballyByName("testNetwork");
902 verify(MOCK_aaiResourcesClient, times(1)).exists(expectedUri);
906 public void existsAAIVolumeGroupGloballyByNameTest() throws Exception {
907 AAIResourceUri expectedUri = AAIUriFactory.createNodesUri(AAIObjectPlurals.VOLUME_GROUP)
908 .queryParam("volume-group-name", "testVoumeGroup");
909 bbInputSetupUtils.existsAAIVolumeGroupGloballyByName("testVoumeGroup");
910 verify(MOCK_aaiResourcesClient, times(1)).exists(expectedUri);