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.hamcrest.CoreMatchers.equalTo;
26 import static org.junit.Assert.assertEquals;
27 import static org.junit.Assert.assertFalse;
28 import static org.junit.Assert.assertTrue;
30 import java.io.IOException;
31 import java.util.ArrayList;
32 import java.util.Arrays;
33 import java.util.HashMap;
34 import java.util.List;
36 import org.junit.Test;
37 import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
38 import org.onap.so.bpmn.servicedecomposition.bbobjects.Collection;
39 import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
40 import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
41 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
42 import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
43 import org.onap.so.bpmn.servicedecomposition.bbobjects.LineOfBusiness;
44 import org.onap.so.bpmn.servicedecomposition.bbobjects.NetworkPolicy;
45 import org.onap.so.bpmn.servicedecomposition.bbobjects.OwningEntity;
46 import org.onap.so.bpmn.servicedecomposition.bbobjects.Platform;
47 import org.onap.so.bpmn.servicedecomposition.bbobjects.Pnf;
48 import org.onap.so.bpmn.servicedecomposition.bbobjects.Project;
49 import org.onap.so.bpmn.servicedecomposition.bbobjects.RouteTableReference;
50 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
51 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceSubscription;
52 import org.onap.so.bpmn.servicedecomposition.bbobjects.Tenant;
53 import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
54 import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
55 import org.onap.so.bpmn.servicedecomposition.generalobjects.OrchestrationContext;
56 import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
57 import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestParameters;
58 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoCollection;
59 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoConfiguration;
60 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
61 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup;
62 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoNetwork;
63 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance;
64 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule;
65 import org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization;
66 import org.onap.so.db.catalog.beans.CollectionResource;
67 import org.onap.so.db.catalog.beans.CollectionResourceCustomization;
68 import org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization;
69 import org.onap.so.db.catalog.beans.ConfigurationResource;
70 import org.onap.so.db.catalog.beans.ConfigurationResourceCustomization;
71 import org.onap.so.db.catalog.beans.CvnfcConfigurationCustomization;
72 import org.onap.so.db.catalog.beans.CvnfcCustomization;
73 import org.onap.so.db.catalog.beans.InstanceGroup;
74 import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
75 import org.onap.so.db.catalog.beans.OrchestrationStatus;
76 import org.onap.so.db.catalog.beans.Service;
77 import org.onap.so.db.catalog.beans.VfModuleCustomization;
78 import org.onap.so.db.catalog.beans.VnfResourceCustomization;
79 import org.onap.so.db.catalog.beans.VnfcCustomization;
80 import org.onap.so.serviceinstancebeans.CloudConfiguration;
81 import org.onap.so.serviceinstancebeans.RequestDetails;
82 import com.fasterxml.jackson.core.JsonParseException;
83 import com.fasterxml.jackson.databind.DeserializationFeature;
84 import com.fasterxml.jackson.databind.JsonMappingException;
85 import com.fasterxml.jackson.databind.ObjectMapper;
87 public class BBInputSetupMapperLayerTest {
89 BBInputSetupMapperLayer bbInputSetupMapperLayer = new BBInputSetupMapperLayer();
91 ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
93 private static final String RESOURCE_PATH = "src/test/resources/__files/ExecuteBuildingBlock/";
97 public void testMapOrchestrationStatusFromAAI() {
98 OrchestrationStatus expected = OrchestrationStatus.INVENTORIED;
99 String orchStatusInput = "Inventoried";
100 OrchestrationStatus actual = bbInputSetupMapperLayer.mapOrchestrationStatusFromAAI(orchStatusInput);
101 assertThat(actual, sameBeanAs(expected));
103 expected = OrchestrationStatus.ASSIGNED;
104 orchStatusInput = "Assigned";
105 actual = bbInputSetupMapperLayer.mapOrchestrationStatusFromAAI(orchStatusInput);
106 assertThat(actual, sameBeanAs(expected));
108 expected = OrchestrationStatus.ACTIVE;
109 orchStatusInput = "Active";
110 actual = bbInputSetupMapperLayer.mapOrchestrationStatusFromAAI(orchStatusInput);
111 assertThat(actual, sameBeanAs(expected));
113 expected = OrchestrationStatus.CREATED;
114 orchStatusInput = "Created";
115 actual = bbInputSetupMapperLayer.mapOrchestrationStatusFromAAI(orchStatusInput);
116 assertThat(actual, sameBeanAs(expected));
118 expected = OrchestrationStatus.PRECREATED;
119 orchStatusInput = "PreCreated";
120 actual = bbInputSetupMapperLayer.mapOrchestrationStatusFromAAI(orchStatusInput);
121 assertThat(actual, sameBeanAs(expected));
123 expected = OrchestrationStatus.PENDING_CREATE;
124 orchStatusInput = "PendingCreate";
125 actual = bbInputSetupMapperLayer.mapOrchestrationStatusFromAAI(orchStatusInput);
126 assertThat(actual, sameBeanAs(expected));
128 expected = OrchestrationStatus.PENDING_DELETE;
129 orchStatusInput = "PendingDelete";
130 actual = bbInputSetupMapperLayer.mapOrchestrationStatusFromAAI(orchStatusInput);
131 assertThat(actual, sameBeanAs(expected));
133 expected = OrchestrationStatus.PENDING;
134 orchStatusInput = "Pending";
135 actual = bbInputSetupMapperLayer.mapOrchestrationStatusFromAAI(orchStatusInput);
136 assertThat(actual, sameBeanAs(expected));
138 expected = OrchestrationStatus.PENDING_ACTIVATION;
139 orchStatusInput = "PendingActivation";
140 actual = bbInputSetupMapperLayer.mapOrchestrationStatusFromAAI(orchStatusInput);
141 assertThat(actual, sameBeanAs(expected));
145 public void testMapOrchestrationFuzzyCases() {
146 List<String> values = Arrays.asList("pending-create", "pending_Create", "pendinggcreate", "PendingCreate");
147 values.forEach(value -> {
148 assertThat(bbInputSetupMapperLayer.mapOrchestrationStatusFromAAI(value),
149 equalTo(OrchestrationStatus.PENDING_CREATE));
154 public void testMapAAICustomer() throws IOException {
155 Customer expected = mapper.readValue(new File(RESOURCE_PATH + "Customer.json"), Customer.class);
157 org.onap.aai.domain.yang.Customer customerAAI = mapper.readValue(new File(RESOURCE_PATH + "Customer_AAI.json"),
158 org.onap.aai.domain.yang.Customer.class);
160 Customer actual = bbInputSetupMapperLayer.mapAAICustomer(customerAAI);
162 assertThat(actual, sameBeanAs(expected));
166 public void testMapAAIServiceSubscription() throws IOException {
167 ServiceSubscription expected = mapper.readValue(new File(RESOURCE_PATH + "ServiceSubscriptionExpected.json"),
168 ServiceSubscription.class);
170 org.onap.aai.domain.yang.ServiceSubscription svcSubscriptionAAI =
171 mapper.readValue(new File(RESOURCE_PATH + "ServiceSubscription_AAI.json"),
172 org.onap.aai.domain.yang.ServiceSubscription.class);
174 ServiceSubscription actual = bbInputSetupMapperLayer.mapAAIServiceSubscription(svcSubscriptionAAI);
176 assertThat(actual, sameBeanAs(expected));
180 public void testMapAAIProject() throws IOException {
181 Project expected = mapper.readValue(new File(RESOURCE_PATH + "Project.json"), Project.class);
183 org.onap.aai.domain.yang.Project projectAAI = new org.onap.aai.domain.yang.Project();
184 projectAAI.setProjectName("projectName");
186 Project actual = bbInputSetupMapperLayer.mapAAIProject(projectAAI);
188 assertThat(actual, sameBeanAs(expected));
192 public void testMapRequestProject() throws IOException {
193 Project expected = mapper.readValue(new File(RESOURCE_PATH + "Project.json"), Project.class);
195 org.onap.so.serviceinstancebeans.Project requestProject = new org.onap.so.serviceinstancebeans.Project();
196 requestProject.setProjectName("projectName");
198 Project actual = bbInputSetupMapperLayer.mapRequestProject(requestProject);
200 assertThat(actual, sameBeanAs(expected));
204 public void testMapAAIOwningEntity() throws IOException {
205 OwningEntity expected = mapper.readValue(new File(RESOURCE_PATH + "OwningEntity.json"), OwningEntity.class);
207 org.onap.aai.domain.yang.OwningEntity entityAAI = new org.onap.aai.domain.yang.OwningEntity();
208 entityAAI.setOwningEntityId("owningEntityId");
209 entityAAI.setOwningEntityName("owningEntityName");
211 OwningEntity actual = bbInputSetupMapperLayer.mapAAIOwningEntity(entityAAI);
213 assertThat(actual, sameBeanAs(expected));
217 public void testMapRequestOwningEntity() throws IOException {
218 OwningEntity expected = mapper.readValue(new File(RESOURCE_PATH + "OwningEntity.json"), OwningEntity.class);
220 org.onap.so.serviceinstancebeans.OwningEntity requestOwningEntity =
221 new org.onap.so.serviceinstancebeans.OwningEntity();
222 requestOwningEntity.setOwningEntityId("owningEntityId");
223 requestOwningEntity.setOwningEntityName("owningEntityName");
225 OwningEntity actual = bbInputSetupMapperLayer.mapRequestOwningEntity(requestOwningEntity);
227 assertThat(actual, sameBeanAs(expected));
231 public void testMapAAIPlatform() throws IOException {
232 Platform expected = mapper.readValue(new File(RESOURCE_PATH + "Platform.json"), Platform.class);
234 org.onap.aai.domain.yang.Platform platformAAI = new org.onap.aai.domain.yang.Platform();
235 platformAAI.setPlatformName("platformName");
237 Platform actual = bbInputSetupMapperLayer.mapAAIPlatform(platformAAI);
239 assertThat(actual, sameBeanAs(expected));
243 public void testMapAAILineOfBusiness() throws IOException {
244 LineOfBusiness expected =
245 mapper.readValue(new File(RESOURCE_PATH + "LineOfBusiness.json"), LineOfBusiness.class);
247 org.onap.aai.domain.yang.LineOfBusiness lobAAI = new org.onap.aai.domain.yang.LineOfBusiness();
248 lobAAI.setLineOfBusinessName("lineOfBusinessName");
250 LineOfBusiness actual = bbInputSetupMapperLayer.mapAAILineOfBusiness(lobAAI);
252 assertThat(actual, sameBeanAs(expected));
256 public void testMapAAINetworkPolicy() throws JsonParseException, JsonMappingException, IOException {
257 NetworkPolicy expectedNetworkPolicy =
258 mapper.readValue(new File(RESOURCE_PATH + "NetworkPolicy.json"), NetworkPolicy.class);
260 org.onap.aai.domain.yang.NetworkPolicy aaiNetworkPolicy = new org.onap.aai.domain.yang.NetworkPolicy();
261 aaiNetworkPolicy.setNetworkPolicyId("networkPolicyId");
262 aaiNetworkPolicy.setNetworkPolicyFqdn("networkPolicyFqdn");
263 aaiNetworkPolicy.setHeatStackId("heatStackId");
264 aaiNetworkPolicy.setResourceVersion("resourceVersion");
266 NetworkPolicy actualNetworkPolicy = bbInputSetupMapperLayer.mapAAINetworkPolicy(aaiNetworkPolicy);
268 assertThat(actualNetworkPolicy, sameBeanAs(expectedNetworkPolicy));
272 public void testMapAAIVolumeGroup() throws JsonParseException, JsonMappingException, IOException {
273 VolumeGroup expectedVolumeGroup =
274 mapper.readValue(new File(RESOURCE_PATH + "VolumeGroup.json"), VolumeGroup.class);
276 org.onap.aai.domain.yang.VolumeGroup aaiVolumeGroup = mapper.readValue(
277 new File(RESOURCE_PATH + "VolumeGroup_AAI.json"), org.onap.aai.domain.yang.VolumeGroup.class);
279 VolumeGroup actualVolumeGroup = bbInputSetupMapperLayer.mapAAIVolumeGroup(aaiVolumeGroup);
281 assertThat(actualVolumeGroup, sameBeanAs(expectedVolumeGroup));
285 public void testMapCatalogServiceIntoServiceInstance() throws IOException {
286 ModelInfoServiceInstance expected = mapper.readValue(new File(RESOURCE_PATH + "ModelInfoServiceInstance.json"),
287 ModelInfoServiceInstance.class);
289 Service catalogService = mapper.readValue(new File(RESOURCE_PATH + "CatalogServiceInput.json"), Service.class);
291 ModelInfoServiceInstance actual = bbInputSetupMapperLayer.mapCatalogServiceIntoServiceInstance(catalogService);
293 assertThat(actual, sameBeanAs(expected));
297 public void testMapCatalogInstanceGroupToInstanceGroup() throws IOException {
298 ModelInfoInstanceGroup expected =
299 mapper.readValue(new File(RESOURCE_PATH + "ModelInfoInstanceGroup.json"), ModelInfoInstanceGroup.class);
301 InstanceGroup instanceGroup =
302 mapper.readValue(new File(RESOURCE_PATH + "InstanceGroup.json"), InstanceGroup.class);
303 instanceGroup.setCollectionInstanceGroupCustomizations(new ArrayList<>());
304 CollectionResourceInstanceGroupCustomization collectionInstanceGroupCust =
305 new CollectionResourceInstanceGroupCustomization();
306 collectionInstanceGroupCust.setModelCustomizationUUID("modelCustomizationUUID");
307 collectionInstanceGroupCust.setFunction("function");
308 collectionInstanceGroupCust.setDescription("description");
309 instanceGroup.getCollectionInstanceGroupCustomizations().add(collectionInstanceGroupCust);
310 CollectionResourceCustomization collectionResourceCust = new CollectionResourceCustomization();
311 collectionResourceCust.setModelCustomizationUUID("modelCustomizationUUID");
312 ModelInfoInstanceGroup actual =
313 bbInputSetupMapperLayer.mapCatalogInstanceGroupToInstanceGroup(collectionResourceCust, instanceGroup);
315 assertThat(actual, sameBeanAs(expected));
319 public void testMapCollectionNetworkResourceCustToNetworkResourceCust() {
320 String modelCustomizationUUID = "modelCustomizationUUID";
321 String modelInstanceName = "modelInstanceName";
322 String networkRole = "networkRole";
323 String networkScope = "networkScope";
324 String networkTechnology = "networkTechnology";
325 String networkType = "networkType";
327 NetworkResourceCustomization expected = new NetworkResourceCustomization();
328 expected.setModelCustomizationUUID(modelCustomizationUUID);
329 expected.setModelInstanceName(modelInstanceName);
330 expected.setNetworkRole(networkRole);
331 expected.setNetworkScope(networkScope);
332 expected.setNetworkTechnology(networkTechnology);
333 expected.setNetworkType(networkType);
334 CollectionNetworkResourceCustomization collectionNetworkResourceCust =
335 new CollectionNetworkResourceCustomization();
336 collectionNetworkResourceCust.setModelCustomizationUUID(modelCustomizationUUID);
337 collectionNetworkResourceCust.setModelInstanceName(modelInstanceName);
338 collectionNetworkResourceCust.setNetworkRole(networkRole);
339 collectionNetworkResourceCust.setNetworkScope(networkScope);
340 collectionNetworkResourceCust.setNetworkTechnology(networkTechnology);
341 collectionNetworkResourceCust.setNetworkType(networkType);
342 NetworkResourceCustomization actual = bbInputSetupMapperLayer
343 .mapCollectionNetworkResourceCustToNetworkResourceCust(collectionNetworkResourceCust);
345 assertThat(actual, sameBeanAs(expected));
349 public void testMapCatalogCollectionToCollection() throws IOException {
350 ModelInfoCollection expected =
351 mapper.readValue(new File(RESOURCE_PATH + "ModelInfoCollection.json"), ModelInfoCollection.class);
353 CollectionResourceCustomization collectionCust =
354 mapper.readValue(new File(RESOURCE_PATH + "CollectionResourceCustomization.json"),
355 CollectionResourceCustomization.class);
357 CollectionResource collectionResource =
358 mapper.readValue(new File(RESOURCE_PATH + "CollectionResource.json"), CollectionResource.class);
360 ModelInfoCollection actual =
361 bbInputSetupMapperLayer.mapCatalogCollectionToCollection(collectionCust, collectionResource);
363 assertThat(actual, sameBeanAs(expected));
367 public void testMapAAIServiceInstanceIntoServiceInstance() throws IOException {
368 ServiceInstance expected = mapper.readValue(
369 new File(RESOURCE_PATH + "ServiceInstance_aaiServiceInstanceToSI.json"), ServiceInstance.class);
371 org.onap.aai.domain.yang.ServiceInstance serviceInstanceAAI =
372 mapper.readValue(new File(RESOURCE_PATH + "ServiceInstanceAAIInput.json"),
373 org.onap.aai.domain.yang.ServiceInstance.class);
375 ServiceInstance actual = bbInputSetupMapperLayer.mapAAIServiceInstanceIntoServiceInstance(serviceInstanceAAI);
377 assertThat(actual, sameBeanAs(expected));
381 public void testSetPlatformAndLOB() throws IOException {
382 ServiceInstance expected = mapper.readValue(
383 new File(RESOURCE_PATH + "ServiceInstance_aaiPlatformAndLOBToSI.json"), ServiceInstance.class);
385 Map<ResourceKey, String> resourcesToBeOrchestrated = new HashMap<>();
386 resourcesToBeOrchestrated.put(ResourceKey.GENERIC_VNF_ID, "vnfId");
387 Platform platformMSO = new Platform();
388 platformMSO.setPlatformName("platformName");
389 LineOfBusiness lineOfBusinessMSO = new LineOfBusiness();
390 lineOfBusinessMSO.setLineOfBusinessName("lineOfBusinessName");
392 ServiceInstance actual = mapper.readValue(
393 new File(RESOURCE_PATH + "ServiceInstanceAAIPlatformAndLOBInput.json"), ServiceInstance.class);
395 bbInputSetupMapperLayer.setPlatformAndLOBIntoServiceInstance(platformMSO, lineOfBusinessMSO, actual,
396 resourcesToBeOrchestrated);
398 assertThat(actual, sameBeanAs(expected));
402 public void testMapAAIL3NetworkIntoL3Network() throws IOException {
404 mapper.readValue(new File(RESOURCE_PATH + "l3NetworkExpectedWithSubnet.json"), L3Network.class);
406 org.onap.aai.domain.yang.L3Network aaiL3Network =
407 mapper.readValue(new File(RESOURCE_PATH + "aaiL3NetworkInputWithSubnets.json"),
408 org.onap.aai.domain.yang.L3Network.class);
410 L3Network actual = bbInputSetupMapperLayer.mapAAIL3Network(aaiL3Network);
412 assertThat(actual, sameBeanAs(expected));
416 public void testMapAAIGenericVnfIntoGenericVnf() throws IOException {
417 GenericVnf expected = mapper.readValue(new File(RESOURCE_PATH + "GenericVnfExpected.json"), GenericVnf.class);
418 org.onap.aai.domain.yang.GenericVnf aaiGenericVnf = mapper.readValue(
419 new File(RESOURCE_PATH + "aaiGenericVnfInput.json"), org.onap.aai.domain.yang.GenericVnf.class);
421 GenericVnf actual = bbInputSetupMapperLayer.mapAAIGenericVnfIntoGenericVnf(aaiGenericVnf);
423 assertThat(actual, sameBeanAs(expected));
427 public void testMapAAIPnfIntoPnf() throws IOException {
428 Pnf expected = mapper.readValue(new File(RESOURCE_PATH + "PnfExpected.json"), Pnf.class);
429 org.onap.aai.domain.yang.Pnf aaiPnf =
430 mapper.readValue(new File(RESOURCE_PATH + "aaiPnfInput.json"), org.onap.aai.domain.yang.Pnf.class);
432 Pnf actual = bbInputSetupMapperLayer.mapAAIPnfIntoPnf(aaiPnf);
434 assertThat(actual, sameBeanAs(expected));
438 public void testMapAAICollectionIntoCollection() throws JsonParseException, JsonMappingException, IOException {
439 org.onap.aai.domain.yang.Collection aaiCollection = mapper
440 .readValue(new File(RESOURCE_PATH + "CollectionInput.json"), org.onap.aai.domain.yang.Collection.class);
442 Collection expectedCollection =
443 mapper.readValue(new File(RESOURCE_PATH + "CollectionExpected.json"), Collection.class);
445 Collection actualCollection = bbInputSetupMapperLayer.mapAAICollectionIntoCollection(aaiCollection);
447 assertThat(actualCollection, sameBeanAs(expectedCollection));
451 public void testMapAAIInstanceGroupIntoInstanceGroup()
452 throws JsonParseException, JsonMappingException, IOException {
453 org.onap.aai.domain.yang.InstanceGroup aaiInstanceGroup = mapper.readValue(
454 new File(RESOURCE_PATH + "InstanceGroupInput.json"), org.onap.aai.domain.yang.InstanceGroup.class);
456 org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup expectedInstanceGroup =
457 mapper.readValue(new File(RESOURCE_PATH + "InstanceGroupExpected.json"),
458 org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup.class);
460 org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup actualInstanceGroup =
461 bbInputSetupMapperLayer.mapAAIInstanceGroupIntoInstanceGroup(aaiInstanceGroup);
463 assertThat(actualInstanceGroup, sameBeanAs(expectedInstanceGroup));
467 public void testMapAAIRouteTableReferenceIntoRouteTableReference()
468 throws JsonParseException, JsonMappingException, IOException {
469 org.onap.aai.domain.yang.RouteTableReference aaiRouteTableReference =
470 mapper.readValue(new File(RESOURCE_PATH + "RouteTableReferenceInput.json"),
471 org.onap.aai.domain.yang.RouteTableReference.class);
473 RouteTableReference expectedRouteTableReference = mapper
474 .readValue(new File(RESOURCE_PATH + "RouteTableReferenceExpected.json"), RouteTableReference.class);
476 RouteTableReference actualRouteTableReference =
477 bbInputSetupMapperLayer.mapAAIRouteTableReferenceIntoRouteTableReference(aaiRouteTableReference);
479 assertThat(actualRouteTableReference, sameBeanAs(expectedRouteTableReference));
483 public void testMapCatalogNetworkToNetwork() throws JsonParseException, JsonMappingException, IOException {
484 NetworkResourceCustomization networkResourceCustomization = mapper.readValue(
485 new File(RESOURCE_PATH + "NetworkResourceCustomizationInput.json"), NetworkResourceCustomization.class);
487 ModelInfoNetwork expectedModelInfoNetwork =
488 mapper.readValue(new File(RESOURCE_PATH + "ModelInfoNetworkExpected.json"), ModelInfoNetwork.class);
490 ModelInfoNetwork actualModelInfoNetwork =
491 bbInputSetupMapperLayer.mapCatalogNetworkToNetwork(networkResourceCustomization);
493 assertThat(actualModelInfoNetwork, sameBeanAs(expectedModelInfoNetwork));
497 public void testMapCatalogVnfToVnf() throws IOException {
498 VnfResourceCustomization vnfResourceCustomization = mapper.readValue(
499 new File(RESOURCE_PATH + "VnfResourceCustomizationInput.json"), VnfResourceCustomization.class);
501 ModelInfoGenericVnf expectedModelInfoGenericVnf = mapper
502 .readValue(new File(RESOURCE_PATH + "ModelInfoGenericVnfExpected.json"), ModelInfoGenericVnf.class);
504 ModelInfoGenericVnf actualModelInfoGenericVnf =
505 bbInputSetupMapperLayer.mapCatalogVnfToVnf(vnfResourceCustomization);
507 assertThat(actualModelInfoGenericVnf, sameBeanAs(expectedModelInfoGenericVnf));
511 public void testMapCatalogVfModuleToVfModule() throws JsonParseException, JsonMappingException, IOException {
512 VfModuleCustomization vfResourceCustomization = mapper
513 .readValue(new File(RESOURCE_PATH + "VfModuleCustomizationInput.json"), VfModuleCustomization.class);
515 ModelInfoVfModule expectedModelInfoVfModule =
516 mapper.readValue(new File(RESOURCE_PATH + "ModelInfoVfModuleExpected.json"), ModelInfoVfModule.class);
518 ModelInfoVfModule actualModelInfoVfModule =
519 bbInputSetupMapperLayer.mapCatalogVfModuleToVfModule(vfResourceCustomization);
521 assertThat(actualModelInfoVfModule, sameBeanAs(expectedModelInfoVfModule));
525 public void testMapRequestPlatform() throws JsonParseException, JsonMappingException, IOException {
526 org.onap.so.serviceinstancebeans.Platform platform = mapper.readValue(
527 new File(RESOURCE_PATH + "RequestPlatformInput.json"), org.onap.so.serviceinstancebeans.Platform.class);
529 Platform expectedPlatform = mapper.readValue(new File(RESOURCE_PATH + "PlatformExpected.json"), Platform.class);
531 Platform actualPlatform = bbInputSetupMapperLayer.mapRequestPlatform(platform);
533 assertThat(actualPlatform, sameBeanAs(expectedPlatform));
537 public void testMapRequestLineOfBusiness() throws JsonParseException, JsonMappingException, IOException {
538 org.onap.so.serviceinstancebeans.LineOfBusiness lineOfBusiness =
539 mapper.readValue(new File(RESOURCE_PATH + "RequestLineOfBusinessInput.json"),
540 org.onap.so.serviceinstancebeans.LineOfBusiness.class);
542 LineOfBusiness expectedLineOfBusiness =
543 mapper.readValue(new File(RESOURCE_PATH + "LineOfBusinessExpected.json"), LineOfBusiness.class);
545 LineOfBusiness actualLineOfBusiness = bbInputSetupMapperLayer.mapRequestLineOfBusiness(lineOfBusiness);
547 assertThat(actualLineOfBusiness, sameBeanAs(expectedLineOfBusiness));
551 public void testMapAAIConfiguration() throws JsonParseException, JsonMappingException, IOException {
552 org.onap.aai.domain.yang.Configuration configurationAAI = mapper.readValue(
553 new File(RESOURCE_PATH + "ConfigurationInput.json"), org.onap.aai.domain.yang.Configuration.class);
555 Configuration expectedConfiguration =
556 mapper.readValue(new File(RESOURCE_PATH + "ConfigurationExpected.json"), Configuration.class);
558 Configuration actualConfiguration = bbInputSetupMapperLayer.mapAAIConfiguration(configurationAAI);
560 assertThat(actualConfiguration, sameBeanAs(expectedConfiguration));
564 public void testMapRequestContext() throws IOException {
565 RequestContext expected =
566 mapper.readValue(new File(RESOURCE_PATH + "RequestContextExpected.json"), RequestContext.class);
568 RequestDetails requestDetails = mapper
569 .readValue(new File(RESOURCE_PATH + "RequestDetailsInput_mapReqContext.json"), RequestDetails.class);
570 RequestContext actual = bbInputSetupMapperLayer.mapRequestContext(requestDetails);
572 assertThat(actual, sameBeanAs(expected));
576 public void testMapOrchestrationContext() throws IOException {
577 OrchestrationContext expected = new OrchestrationContext();
578 expected.setIsRollbackEnabled(true);
580 RequestDetails requestDetails = mapper
581 .readValue(new File(RESOURCE_PATH + "RequestDetailsInput_mapReqContext.json"), RequestDetails.class);
583 OrchestrationContext actual = bbInputSetupMapperLayer.mapOrchestrationContext(requestDetails);
585 assertThat(actual, sameBeanAs(expected));
589 public void testMapOrchestrationContextNoRequestInfo() throws IOException {
590 OrchestrationContext expected = new OrchestrationContext();
591 expected.setIsRollbackEnabled(false);
593 RequestDetails requestDetails = mapper.readValue(
594 new File(RESOURCE_PATH + "RequestDetailsInput_mapReqContextNoRequestInfo.json"), RequestDetails.class);
596 OrchestrationContext actual = bbInputSetupMapperLayer.mapOrchestrationContext(requestDetails);
598 assertThat(actual, sameBeanAs(expected));
602 public void testMapLocationContext() {
603 CloudRegion expected = new CloudRegion();
604 expected.setCloudOwner("test-owner-name");
605 expected.setLcpCloudRegionId("cloudRegionId");
606 expected.setComplex("complexName");
607 expected.setTenantId("tenantId");
608 CloudConfiguration cloudConfig = new CloudConfiguration();
609 cloudConfig.setTenantId("tenantId");
610 cloudConfig.setLcpCloudRegionId("cloudRegionId");
611 cloudConfig.setAicNodeClli("aicNodeClli");
612 org.onap.aai.domain.yang.CloudRegion cloudRegion = new org.onap.aai.domain.yang.CloudRegion();
613 cloudRegion.setCloudOwner("test-owner-name");
614 cloudRegion.setCloudRegionId("cloudRegionId");
615 cloudRegion.setComplexName("complexName");
617 CloudRegion actual = bbInputSetupMapperLayer.mapCloudRegion(cloudConfig, cloudRegion);
619 assertThat(actual, sameBeanAs(expected));
623 public void testMapCloudRegion() {
624 CloudRegion expected = new CloudRegion();
625 expected.setCloudOwner("test-owner-name");
626 expected.setLcpCloudRegionId("cloudRegionId");
627 expected.setTenantId("tenantId");
628 expected.setCloudRegionVersion("cloudRegionVersion");
630 CloudConfiguration cloudConfig = new CloudConfiguration();
631 cloudConfig.setTenantId("tenantId");
632 cloudConfig.setLcpCloudRegionId("cloudRegionId");
633 cloudConfig.setAicNodeClli("aicNodeClli");
635 org.onap.aai.domain.yang.CloudRegion cloudRegion = new org.onap.aai.domain.yang.CloudRegion();
636 cloudRegion.setCloudOwner("test-owner-name");
637 cloudRegion.setCloudRegionId("cloudRegionId");
638 cloudRegion.setCloudRegionVersion("cloudRegionVersion");
640 CloudRegion actual = bbInputSetupMapperLayer.mapCloudRegion(cloudConfig, cloudRegion);
642 assertThat(actual, sameBeanAs(expected));
646 public void testMapTenant() {
647 Tenant expected = new Tenant();
648 expected.setTenantId("tenantId");
649 expected.setTenantName("tenantName");
650 expected.setTenantContext("tenantContext");
652 org.onap.aai.domain.yang.Tenant aaiTenant = new org.onap.aai.domain.yang.Tenant();
653 aaiTenant.setTenantId("tenantId");
654 aaiTenant.setTenantName("tenantName");
655 aaiTenant.setTenantContext("tenantContext");
657 Tenant actual = bbInputSetupMapperLayer.mapTenant(aaiTenant);
659 assertThat(actual, sameBeanAs(expected));
663 public void testMapCloudRegionWithNullCheck() {
664 CloudRegion expected = new CloudRegion();
666 CloudRegion actual = bbInputSetupMapperLayer.mapCloudRegion(null, null);
668 assertThat(actual, sameBeanAs(expected));
672 public void testmapCatalogConfigurationToConfiguration() {
673 String modelCustUUID = "modelCustomizationUUID";
674 String modelInvariantUUID = "modelInvariantUUID";
675 String modelVersionUUID = "modelUUID";
676 String policyName = "policyName";
677 ModelInfoConfiguration expected = new ModelInfoConfiguration();
678 expected.setModelCustomizationId(modelCustUUID);
679 expected.setModelInvariantId(modelInvariantUUID);
680 expected.setModelVersionId(modelVersionUUID);
681 expected.setPolicyName(policyName);
682 ConfigurationResourceCustomization configurationResourceCustomization =
683 new ConfigurationResourceCustomization();
684 configurationResourceCustomization.setModelCustomizationUUID(modelCustUUID);
685 configurationResourceCustomization.setConfigurationResource(new ConfigurationResource());
686 configurationResourceCustomization.getConfigurationResource().setModelInvariantUUID(modelInvariantUUID);
687 configurationResourceCustomization.getConfigurationResource().setModelUUID(modelVersionUUID);
688 CvnfcConfigurationCustomization policyNameTable = new CvnfcConfigurationCustomization();
689 policyNameTable.setCvnfcCustomization(new CvnfcCustomization());
690 policyNameTable.getCvnfcCustomization().setVnfcCustomization(new VnfcCustomization());
691 policyNameTable.setPolicyName(policyName);
693 ModelInfoConfiguration actual = bbInputSetupMapperLayer
694 .mapCatalogConfigurationToConfiguration(configurationResourceCustomization, policyNameTable);
696 assertThat(actual, sameBeanAs(expected));
700 public void testmapCatalogConfigurationToFabricConfiguration() {
701 String modelCustUUID = "modelCustomizationUUID";
702 String modelInvariantUUID = "modelInvariantUUID";
703 String modelVersionUUID = "modelUUID";
704 String policyName = "policyName";
705 ModelInfoConfiguration expected = new ModelInfoConfiguration();
706 expected.setModelCustomizationId(modelCustUUID);
707 expected.setModelInvariantId(modelInvariantUUID);
708 expected.setModelVersionId(modelVersionUUID);
709 expected.setPolicyName(policyName);
711 CvnfcConfigurationCustomization fabricCustomization = new CvnfcConfigurationCustomization();
712 fabricCustomization.setCvnfcCustomization(new CvnfcCustomization());
713 fabricCustomization.getCvnfcCustomization().setVnfcCustomization(new VnfcCustomization());
714 fabricCustomization.setPolicyName(policyName);
715 fabricCustomization.setModelCustomizationUUID(modelCustUUID);
717 ConfigurationResource configurationResource = new ConfigurationResource();
718 configurationResource.setModelUUID(modelVersionUUID);
719 configurationResource.setModelInvariantUUID(modelInvariantUUID);
720 fabricCustomization.setConfigurationResource(configurationResource);
722 ModelInfoConfiguration actual =
723 bbInputSetupMapperLayer.mapCatalogConfigurationToConfiguration(fabricCustomization);
725 assertThat(actual, sameBeanAs(expected));
729 public void testMapNameValueUserParams() throws IOException {
730 RequestDetails requestDetails = mapper
731 .readValue(new File(RESOURCE_PATH + "RequestDetailsInput_mapReqContext.json"), RequestDetails.class);
732 Map<String, Object> actual =
733 bbInputSetupMapperLayer.mapNameValueUserParams(requestDetails.getRequestParameters());
735 assertTrue(actual.containsKey("mns_vfw_protected_route_prefixes"));
736 assertTrue(actual.get("mns_vfw_protected_route_prefixes").toString()
737 .contains("interface_route_table_routes_route"));
738 assertTrue(actual.get("mns_vfw_protected_route_prefixes").toString().contains("1.1.1.1/32"));
739 assertTrue(actual.get("mns_vfw_protected_route_prefixes").toString().contains("0::1/128"));
740 assertTrue(actual.containsKey("name1"));
741 assertTrue(actual.containsValue("value1"));
742 assertTrue(actual.get("name1").equals("value1"));
744 assertFalse(actual.containsKey("ignore"));
745 assertFalse(actual.containsValue("ignore"));
749 public void testMapRequestParameters() throws IOException {
750 RequestDetails requestDetails = mapper
751 .readValue(new File(RESOURCE_PATH + "RequestDetailsInput_mapReqContext.json"), RequestDetails.class);
752 RequestParameters actual = bbInputSetupMapperLayer.mapRequestParameters(requestDetails.getRequestParameters());
754 assertEquals(actual.getUsePreload(), requestDetails.getRequestParameters().getUsePreload());
755 assertEquals(actual.getSubscriptionServiceType(),
756 requestDetails.getRequestParameters().getSubscriptionServiceType());
757 assertEquals(actual.getPayload(), requestDetails.getRequestParameters().getPayload());
760 protected RequestParameters mapRequestParameters(
761 org.onap.so.serviceinstancebeans.RequestParameters requestParameters) {
762 RequestParameters requestParams = new RequestParameters();
763 requestParams.setaLaCarte(requestParameters.getALaCarte());
764 requestParams.setUsePreload(requestParameters.getUsePreload());
765 requestParams.setSubscriptionServiceType(requestParameters.getSubscriptionServiceType());
766 requestParams.setUserParams(requestParameters.getUserParams());
767 requestParams.setPayload(requestParameters.getPayload());
768 return requestParams;