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.client.aai.mapper;
23 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertNotNull;
26 import static org.junit.Assert.assertThat;
28 import java.io.IOException;
29 import java.nio.file.Files;
30 import java.nio.file.Paths;
31 import java.util.ArrayList;
32 import java.util.List;
34 import org.junit.Test;
35 import org.onap.aai.domain.yang.RouteTargets;
36 import org.onap.so.bpmn.servicedecomposition.bbobjects.Collection;
37 import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
38 import org.onap.so.bpmn.servicedecomposition.bbobjects.CtagAssignment;
39 import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
40 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
41 import org.onap.so.bpmn.servicedecomposition.bbobjects.HostRoute;
42 import org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup;
43 import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
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.Project;
47 import org.onap.so.bpmn.servicedecomposition.bbobjects.RouteTarget;
48 import org.onap.so.bpmn.servicedecomposition.bbobjects.SegmentationAssignment;
49 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
50 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceSubscription;
51 import org.onap.so.bpmn.servicedecomposition.bbobjects.Subnet;
52 import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
53 import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
54 import org.onap.so.bpmn.servicedecomposition.bbobjects.VpnBinding;
55 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoCollection;
56 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoConfiguration;
57 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
58 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup;
59 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoNetwork;
60 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance;
61 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule;
62 import org.onap.so.db.catalog.beans.OrchestrationStatus;
64 import com.fasterxml.jackson.databind.ObjectMapper;
65 import com.fasterxml.jackson.databind.ObjectWriter;
67 public class AAIObjectMapperTest {
68 private AAIObjectMapper aaiObjectMapper = new AAIObjectMapper();
69 private final static String JSON_FILE_LOCATION = "src/test/resources/__files/BuildingBlocks/";
73 public void mapConfigurationTest() {
74 Configuration configuration = new Configuration();
75 configuration.setConfigurationId("configId");
76 configuration.setConfigurationName("VNR");
77 configuration.setOrchestrationStatus(OrchestrationStatus.ASSIGNED);
78 configuration.setManagementOption("managementOption");
79 ModelInfoConfiguration modelInfoConfiguration = new ModelInfoConfiguration();
80 modelInfoConfiguration.setModelCustomizationId("modelCustId");
81 modelInfoConfiguration.setModelInvariantId("modelInvariantId");
82 modelInfoConfiguration.setModelVersionId("modelVersionId");
83 modelInfoConfiguration.setConfigurationType("5G");
84 modelInfoConfiguration.setConfigurationRole("ConfigurationRole");
85 configuration.setModelInfoConfiguration(modelInfoConfiguration);
87 org.onap.aai.domain.yang.Configuration expectedConfiguration = new org.onap.aai.domain.yang.Configuration();
88 expectedConfiguration.setConfigurationId(configuration.getConfigurationId());
89 expectedConfiguration.setConfigurationName(configuration.getConfigurationName());
90 expectedConfiguration.setConfigurationType(configuration.getModelInfoConfiguration().getConfigurationType());
91 expectedConfiguration.setOrchestrationStatus(configuration.getOrchestrationStatus().toString());
92 expectedConfiguration.setManagementOption(configuration.getManagementOption());
93 expectedConfiguration.setModelInvariantId(configuration.getModelInfoConfiguration().getModelInvariantId());
94 expectedConfiguration.setModelVersionId(configuration.getModelInfoConfiguration().getModelVersionId());
95 expectedConfiguration.setModelCustomizationId(configuration.getModelInfoConfiguration().getModelCustomizationId());
96 expectedConfiguration.setConfigurationSubType(configuration.getModelInfoConfiguration().getConfigurationRole());
97 expectedConfiguration.setConfigPolicyName(configuration.getModelInfoConfiguration().getPolicyName());
99 org.onap.aai.domain.yang.Configuration actualConfiguration = aaiObjectMapper.mapConfiguration(configuration);
101 assertThat(actualConfiguration, sameBeanAs(expectedConfiguration));
105 public void mapVolumeGroupTest() throws Exception {
106 VolumeGroup volumeGroup = new VolumeGroup();
107 volumeGroup.setHeatStackId("heatStackId");
108 volumeGroup.setModelInfoVfModule(new ModelInfoVfModule());
109 volumeGroup.getModelInfoVfModule().setModelCustomizationUUID("modelCustomizationId");
110 volumeGroup.setOrchestrationStatus(OrchestrationStatus.ACTIVE);
111 volumeGroup.setVnfType("vnfType");
112 volumeGroup.setVolumeGroupId("volumeGroupId");
113 volumeGroup.setVolumeGroupName("volumeGroupName");
115 org.onap.aai.domain.yang.VolumeGroup expectedVolumeGroup = new org.onap.aai.domain.yang.VolumeGroup();
116 expectedVolumeGroup.setHeatStackId(volumeGroup.getHeatStackId());
117 expectedVolumeGroup.setModelCustomizationId(volumeGroup.getModelInfoVfModule().getModelCustomizationUUID());
118 expectedVolumeGroup.setOrchestrationStatus(volumeGroup.getOrchestrationStatus().toString());
119 expectedVolumeGroup.setVfModuleModelCustomizationId(volumeGroup.getModelInfoVfModule().getModelCustomizationUUID());
120 expectedVolumeGroup.setVnfType(volumeGroup.getVnfType());
121 expectedVolumeGroup.setVolumeGroupId(volumeGroup.getVolumeGroupId());
122 expectedVolumeGroup.setVolumeGroupName(volumeGroup.getVolumeGroupName());
124 org.onap.aai.domain.yang.VolumeGroup actualVolumeGroup = aaiObjectMapper.mapVolumeGroup(volumeGroup);
126 assertThat(actualVolumeGroup, sameBeanAs(expectedVolumeGroup));
130 public void serviceInstanceMap() {
131 ServiceInstance serviceInstance = new ServiceInstance();
132 serviceInstance.setServiceInstanceId("SIID");
133 serviceInstance.setServiceInstanceName("SINAME");
134 serviceInstance.setOrchestrationStatus(OrchestrationStatus.ASSIGNED);
135 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
136 modelInfoServiceInstance.setServiceType("SITYPE");
137 modelInfoServiceInstance.setServiceRole("SIROLE");
138 modelInfoServiceInstance.setModelInvariantUuid("MIUUID");
139 modelInfoServiceInstance.setModelUuid("MUUID");
140 modelInfoServiceInstance.setEnvironmentContext("EC");
141 modelInfoServiceInstance.setWorkloadContext("WC");
142 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
144 org.onap.aai.domain.yang.ServiceInstance AAIServiceInstance = aaiObjectMapper.mapServiceInstance(serviceInstance);
146 assertEquals(AAIServiceInstance.getServiceInstanceId(),serviceInstance.getServiceInstanceId());
147 assertEquals(AAIServiceInstance.getServiceInstanceName(),serviceInstance.getServiceInstanceName());
148 assertEquals(AAIServiceInstance.getOrchestrationStatus().toString(),serviceInstance.getOrchestrationStatus().toString());
149 assertEquals(AAIServiceInstance.getServiceType(),serviceInstance.getModelInfoServiceInstance().getServiceType());
150 assertEquals(AAIServiceInstance.getServiceRole(),serviceInstance.getModelInfoServiceInstance().getServiceRole());
151 assertEquals(AAIServiceInstance.getModelInvariantId(),serviceInstance.getModelInfoServiceInstance().getModelInvariantUuid());
152 assertEquals(AAIServiceInstance.getModelVersionId(),serviceInstance.getModelInfoServiceInstance().getModelUuid());
153 assertEquals(AAIServiceInstance.getEnvironmentContext(),serviceInstance.getModelInfoServiceInstance().getEnvironmentContext());
154 assertEquals(AAIServiceInstance.getWorkloadContext(),serviceInstance.getModelInfoServiceInstance().getWorkloadContext());
158 public void projectMap(){
159 Project project = new Project();
160 project.setProjectName("abc");
162 org.onap.aai.domain.yang.Project AAIProject = aaiObjectMapper.mapProject(project);
164 assertEquals(AAIProject.getProjectName(),project.getProjectName());
168 public void serviceSubscriptionMap(){
169 ServiceSubscription serviceSubscription = new ServiceSubscription();
170 serviceSubscription.setServiceType("IP-FLEX");
171 serviceSubscription.setTempUbSubAccountId("Account-ID");
172 org.onap.aai.domain.yang.ServiceSubscription serviceSubscriptionMapped = aaiObjectMapper.mapServiceSubscription(serviceSubscription);
173 assertNotNull(serviceSubscriptionMapped);
174 assertEquals(serviceSubscription.getTempUbSubAccountId(),serviceSubscriptionMapped.getTempUbSubAccountId());
175 assertEquals(serviceSubscription.getServiceType(),serviceSubscriptionMapped.getServiceType());
179 public void owningEntityMap(){
180 OwningEntity oe = new OwningEntity();
181 oe.setOwningEntityId("abc");
182 oe.setOwningEntityName("bbb");
184 org.onap.aai.domain.yang.OwningEntity AAIOwningEntity = aaiObjectMapper.mapOwningEntity(oe);
186 assertEquals(AAIOwningEntity.getOwningEntityId(),oe.getOwningEntityId());
187 assertEquals(AAIOwningEntity.getOwningEntityName(),oe.getOwningEntityName());
192 public void vnfMap(){
193 GenericVnf vnf = new GenericVnf();
196 vnf.setServiceId("c");
198 vnf.setProvStatus("e");
199 vnf.setOrchestrationStatus(OrchestrationStatus.ASSIGNED);
200 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
201 modelInfoGenericVnf.setModelCustomizationUuid("f");
202 modelInfoGenericVnf.setModelInvariantUuid("g");
203 modelInfoGenericVnf.setModelUuid("h");
204 modelInfoGenericVnf.setNfRole("i");
205 modelInfoGenericVnf.setNfType("j");
206 modelInfoGenericVnf.setNfFunction("k");
207 modelInfoGenericVnf.setNfNamingCode("l");
208 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
210 org.onap.aai.domain.yang.GenericVnf AAIVnf = aaiObjectMapper.mapVnf(vnf);
212 assertEquals(AAIVnf.getVnfId(),vnf.getVnfId());
213 assertEquals(AAIVnf.getVnfName(),vnf.getVnfName());
214 assertEquals(AAIVnf.getServiceId(),vnf.getServiceId());
215 assertEquals(AAIVnf.getVnfType(),vnf.getVnfType());
216 assertEquals(AAIVnf.getProvStatus(),vnf.getProvStatus());
217 assertEquals(AAIVnf.getOrchestrationStatus().toString(),vnf.getOrchestrationStatus().toString());
218 assertEquals(AAIVnf.getModelCustomizationId(),vnf.getModelInfoGenericVnf().getModelCustomizationUuid());
219 assertEquals(AAIVnf.getModelInvariantId(),vnf.getModelInfoGenericVnf().getModelInvariantUuid());
220 assertEquals(AAIVnf.getModelVersionId(),vnf.getModelInfoGenericVnf().getModelUuid());
221 assertEquals(AAIVnf.getModelVersionId(),vnf.getModelInfoGenericVnf().getModelUuid());
222 assertEquals(AAIVnf.getNfType(),vnf.getModelInfoGenericVnf().getNfType());
223 assertEquals(AAIVnf.getNfFunction(),vnf.getModelInfoGenericVnf().getNfFunction());
224 assertEquals(AAIVnf.getNfNamingCode(),vnf.getModelInfoGenericVnf().getNfNamingCode());
228 public void vfModuleMap() throws Exception {
229 VfModule vfModule = new VfModule();
230 vfModule.setVfModuleId("a");
231 vfModule.setVfModuleName("b");
232 vfModule.setOrchestrationStatus(OrchestrationStatus.ASSIGNED);
233 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
234 modelInfoVfModule.setModelCustomizationUUID("f");
235 modelInfoVfModule.setModelInvariantUUID("g");
236 modelInfoVfModule.setModelUUID("h");
237 modelInfoVfModule.setIsBaseBoolean(false);
238 vfModule.setModelInfoVfModule(modelInfoVfModule);
240 org.onap.aai.domain.yang.VfModule AAIVfModule = aaiObjectMapper.mapVfModule(vfModule);
242 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "aaiVfModuleMap.json")));
244 ObjectMapper omapper = new ObjectMapper();
245 org.onap.aai.domain.yang.VfModule reqMapper1 = omapper.readValue(
247 org.onap.aai.domain.yang.VfModule.class);
249 assertThat(reqMapper1, sameBeanAs(AAIVfModule));
254 public void vfModuleBaseMap() throws Exception {
255 VfModule vfModule = new VfModule();
256 vfModule.setVfModuleId("a");
257 vfModule.setVfModuleName("b");
258 vfModule.setOrchestrationStatus(OrchestrationStatus.ASSIGNED);
259 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
260 modelInfoVfModule.setModelCustomizationUUID("f");
261 modelInfoVfModule.setModelInvariantUUID("g");
262 modelInfoVfModule.setModelUUID("h");
263 modelInfoVfModule.setIsBaseBoolean(true);
264 vfModule.setModelInfoVfModule(modelInfoVfModule);
266 org.onap.aai.domain.yang.VfModule AAIVfModule = aaiObjectMapper.mapVfModule(vfModule);
268 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "aaiVfModuleBaseMap.json")));
270 ObjectMapper omapper = new ObjectMapper();
271 org.onap.aai.domain.yang.VfModule reqMapper1 = omapper.readValue(
273 org.onap.aai.domain.yang.VfModule.class);
275 assertThat(reqMapper1, sameBeanAs(AAIVfModule));
280 public void testMapInstanceGroup() {
281 InstanceGroup instanceGroup = new InstanceGroup();
282 instanceGroup.setId("test-id");
283 instanceGroup.setDescription("test-description");
284 instanceGroup.setInstanceGroupName("test-instanceGroupName");
285 instanceGroup.setResourceVersion("test-resourceVersion");
287 ModelInfoInstanceGroup model = new ModelInfoInstanceGroup();
288 model.setFunction("test-function");
289 model.setInstanceGroupRole("SUB-INTERFACE");
290 model.setType("VNFC");
291 model.setModelInvariantUUID("modelInvariantUUID-000");
292 model.setModelUUID("modelUUID-000");
293 model.setDescription("test-description");
294 model.setInstanceGroupRole("SUB-INTERFACE");
296 instanceGroup.setModelInfoInstanceGroup(model);
299 org.onap.aai.domain.yang.InstanceGroup aaiInstanceGroup = aaiObjectMapper.mapInstanceGroup(instanceGroup);
302 com.fasterxml.jackson.databind.ObjectMapper mapper = new com.fasterxml.jackson.databind.ObjectMapper();
303 String json = mapper.writeValueAsString(aaiInstanceGroup);
304 System.out.println("GGG - json:\n" + json);
311 assertEquals(aaiInstanceGroup.getId(), instanceGroup.getId());
312 assertEquals(aaiInstanceGroup.getDescription(), instanceGroup.getDescription());
313 assertEquals(aaiInstanceGroup.getInstanceGroupRole(), instanceGroup.getModelInfoInstanceGroup().getInstanceGroupRole());
314 assertEquals(aaiInstanceGroup.getModelInvariantId(), instanceGroup.getModelInfoInstanceGroup().getModelInvariantUUID());
315 assertEquals(aaiInstanceGroup.getModelVersionId(), instanceGroup.getModelInfoInstanceGroup().getModelUUID());
316 assertEquals(aaiInstanceGroup.getResourceVersion(), instanceGroup.getResourceVersion());
317 assertEquals(aaiInstanceGroup.getInstanceGroupType(), instanceGroup.getModelInfoInstanceGroup().getType());
318 assertEquals(aaiInstanceGroup.getInstanceGroupRole(), instanceGroup.getModelInfoInstanceGroup().getInstanceGroupRole());
322 public void mapCustomerTest() {
323 Customer customer = new Customer();
324 customer.setGlobalCustomerId("globalCustomerId");
325 customer.setSubscriberName("subscriberName");
326 customer.setSubscriberType("subscriberType");
328 org.onap.aai.domain.yang.Customer expectedCustomer = new org.onap.aai.domain.yang.Customer();
329 expectedCustomer.setGlobalCustomerId("globalCustomerId");
330 expectedCustomer.setSubscriberName("subscriberName");
331 expectedCustomer.setSubscriberType("subscriberType");
333 org.onap.aai.domain.yang.Customer actualCustomer = aaiObjectMapper.mapCustomer(customer);
335 assertThat(actualCustomer, sameBeanAs(expectedCustomer));
339 public void networkMap() throws Exception {
340 L3Network l3Network = new L3Network();
341 l3Network.setNetworkId("networkId");
342 l3Network.setOrchestrationStatus(OrchestrationStatus.ASSIGNED);
343 l3Network.setNetworkName("networkName");
344 l3Network.setNetworkRole("networkRole");
345 l3Network.setNetworkTechnology("networkTechnology");
346 l3Network.setNeutronNetworkId("neutronNetworkId");
347 l3Network.setNetworkRoleInstance(0L);
348 l3Network.setContrailNetworkFqdn("contrailNetworkFqdn");
349 l3Network.setIsBoundToVpn(false);
350 l3Network.setIsCascaded(false);
351 l3Network.setIsSharedNetwork(false);
352 l3Network.setHeatStackId("heatStackId");
353 l3Network.setOperationalStatus("operationalStatus");
354 l3Network.setPhysicalNetworkName("physicalNetworkName");
355 l3Network.setIsProviderNetwork(false);
356 l3Network.setSelflink("selflink");
357 l3Network.setServiceId("serviceId");
359 ModelInfoNetwork modelInfoNetwork = new ModelInfoNetwork();
360 modelInfoNetwork.setModelCustomizationUUID("modelCustomizationUUID");
361 modelInfoNetwork.setModelInvariantUUID("modelInvariantUUID");
362 modelInfoNetwork.setModelUUID("modelUUID");
364 l3Network.setModelInfoNetwork(modelInfoNetwork);
366 org.onap.aai.domain.yang.L3Network aaiL3Network = aaiObjectMapper.mapNetwork(l3Network);
368 ObjectMapper omapper = new ObjectMapper();
369 org.onap.aai.domain.yang.L3Network network = omapper.readValue(
370 getJson("aaiL3NetworkMapped.json"),
371 org.onap.aai.domain.yang.L3Network.class);
373 com.shazam.shazamcrest.MatcherAssert.assertThat(aaiL3Network, sameBeanAs(network));
378 public void mapCollectionTest() {
379 Collection networkCollection = new Collection();
380 networkCollection.setId("networkCollectionId");
381 ModelInfoCollection modelInfoCollection = new ModelInfoCollection();
382 modelInfoCollection.setCollectionFunction("networkCollectionFunction");
383 modelInfoCollection.setCollectionRole("networkCollectionRole");
384 modelInfoCollection.setCollectionType("networkCollectionType");
385 modelInfoCollection.setModelCustomizationUUID("modelCustomizationUUID");
386 modelInfoCollection.setModelVersionId("modelVersionId");
387 modelInfoCollection.setModelInvariantUUID("modelInvariantUUID");
388 networkCollection.setModelInfoCollection(modelInfoCollection);
389 networkCollection.setName("networkCollectionName");
391 org.onap.aai.domain.yang.Collection expectedCollection = new org.onap.aai.domain.yang.Collection();
392 expectedCollection.setCollectionId("networkCollectionId");
393 expectedCollection.setCollectionType("networkCollectionType");
394 expectedCollection.setCollectionCustomizationId("modelCustomizationUUID");
395 expectedCollection.setModelVersionId("modelVersionId");
396 expectedCollection.setModelInvariantId("modelInvariantUUID");
397 expectedCollection.setCollectionFunction("networkCollectionFunction");
398 expectedCollection.setCollectionRole("networkCollectionRole");
399 expectedCollection.setCollectionName("networkCollectionName");
401 org.onap.aai.domain.yang.Collection actualCollection = aaiObjectMapper.mapCollection(networkCollection);
403 assertThat(actualCollection, sameBeanAs(expectedCollection));
407 * Helper method to load JSON data
409 private String getJson(String filename) throws IOException {
410 return new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + filename)));
414 public void mapNetworkTest() throws Exception {
415 L3Network l3Network = new L3Network();
416 ModelInfoNetwork modelInfoNetwork = new ModelInfoNetwork();
417 modelInfoNetwork.setModelCustomizationUUID("modelCustomization_id");
418 modelInfoNetwork.setModelInvariantUUID("modelInvariant_id");
419 modelInfoNetwork.setModelUUID("modelCustomization_id");
420 modelInfoNetwork.setNetworkType("CONTRAIL_EXTERNAL");
421 modelInfoNetwork.setNetworkRole("dmz_direct");
422 modelInfoNetwork.setNetworkTechnology("contrail");
423 l3Network.setModelInfoNetwork(modelInfoNetwork);
424 l3Network.setNetworkId("TESTING_ID");
425 l3Network.setNetworkName("TESTING_NAME");
426 l3Network.setIsBoundToVpn(true);
427 l3Network.setServiceId("a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
428 l3Network.setNetworkRoleInstance(1L);
429 l3Network.setOrchestrationStatus(OrchestrationStatus.CREATED);
430 l3Network.setHeatStackId("heatStack_id");
431 l3Network.setContrailNetworkFqdn("contrailNetwork_fqdn");
432 l3Network.setWidgetModelId("widgetModel_id");
433 l3Network.setWidgetModelVersion("widgetModel_version");
434 l3Network.setPhysicalNetworkName("physicalNetwork_name");
435 l3Network.setIsProviderNetwork(true);
436 l3Network.setIsSharedNetwork(false);
437 l3Network.setIsExternalNetwork(true);
438 l3Network.setSelflink("self_link");
439 l3Network.setOperationalStatus("operationalStatus");
441 List<Subnet> subnets = new ArrayList<Subnet>();
442 Subnet subnet1 = new Subnet();
443 subnet1.setSubnetId("57e9a1ff-d14f-4071-a828-b19ae98eb2fc");
444 subnet1.setSubnetName("subnetName");
445 subnet1.setGatewayAddress("192.168.52.1");
446 subnet1.setNetworkStartAddress("192.168.52.0");
447 subnet1.setCidrMask("24");
448 subnet1.setIpVersion("4");
449 subnet1.setOrchestrationStatus(OrchestrationStatus.CREATED);
450 subnet1.setIpAssignmentDirection("true");
451 subnet1.setDhcpEnabled(true);
452 subnet1.setDhcpStart("dhcpStart");
453 subnet1.setDhcpEnd("dhcpEnd");
454 subnet1.setSubnetRole("subnetRole");
455 subnet1.setIpAssignmentDirection("true");
456 subnet1.setSubnetSequence(new Integer(3));
458 List<HostRoute> hostRoutes = new ArrayList<HostRoute>();
459 HostRoute hostRoute1 = new HostRoute();
460 hostRoute1.setHostRouteId("string");
461 hostRoute1.setRoutePrefix("192.10.16.0/24");
462 hostRoute1.setNextHop("192.10.16.100/24");
463 hostRoute1.setNextHopType("ip-address");
464 HostRoute hostRoute2 = new HostRoute();
465 hostRoute2.setHostRouteId("string");
466 hostRoute2.setRoutePrefix("192.110.17.0/24");
467 hostRoute2.setNextHop("192.110.17.110/24");
468 hostRoute2.setNextHopType("ip-address");
469 hostRoutes.add(hostRoute1);
470 hostRoutes.add(hostRoute2);
471 subnet1.getHostRoutes().addAll(hostRoutes);
473 subnets.add(subnet1);
474 subnets.add(subnet1);
475 l3Network.getSubnets().addAll(subnets);
477 List<CtagAssignment> ctagAssignments = new ArrayList<CtagAssignment>();
478 CtagAssignment ctagAssignment1 = new CtagAssignment();
479 ctagAssignment1.setVlanIdInner(1L);
480 ctagAssignments.add(ctagAssignment1);
481 l3Network.getCtagAssignments().addAll(ctagAssignments);
483 List<SegmentationAssignment> segmentationAssignments = new ArrayList<SegmentationAssignment>();
484 SegmentationAssignment segmentationAssignment1 = new SegmentationAssignment();
485 segmentationAssignment1.setSegmentationId("segmentationId1");
486 SegmentationAssignment segmentationAssignment2 = new SegmentationAssignment();
487 segmentationAssignment2.setSegmentationId("segmentationId2");
488 segmentationAssignments.add(segmentationAssignment1);
489 segmentationAssignments.add(segmentationAssignment2);
490 l3Network.getSegmentationAssignments().addAll(segmentationAssignments);
492 AAIObjectMapper l3NetworkMapper = new AAIObjectMapper();
493 org.onap.aai.domain.yang.L3Network v12L3Network = l3NetworkMapper.mapNetwork(l3Network);
495 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "aaiL3NetworkMapped_to_aai.json")));
496 ObjectMapper omapper = new ObjectMapper();
497 org.onap.aai.domain.yang.L3Network network = omapper.readValue(jsonToCompare,
498 org.onap.aai.domain.yang.L3Network.class);
500 ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
501 String jsonGenerated = ow.writeValueAsString(v12L3Network);
502 String jsonExpected = ow.writeValueAsString(network);
503 assertEquals(jsonExpected, jsonGenerated);
508 public void mapToAAISubNetsTest() throws Exception {
509 List<Subnet> subnets = new ArrayList<Subnet>();
510 Subnet subnet1 = new Subnet();
511 subnet1.setSubnetId("57e9a1ff-d14f-4071-a828-b19ae98eb2fc");
512 subnet1.setSubnetName("subnetName");
513 subnet1.setGatewayAddress("192.168.52.1");
514 subnet1.setNetworkStartAddress("192.168.52.0");
515 subnet1.setCidrMask("24");
516 subnet1.setIpVersion("4");
517 subnet1.setOrchestrationStatus(OrchestrationStatus.CREATED);
518 subnet1.setIpAssignmentDirection("true");
519 subnet1.setDhcpEnabled(true);
520 subnet1.setDhcpStart("dhcpStart");
521 subnet1.setDhcpEnd("dhcpEnd");
522 subnet1.setSubnetRole("subnetRole");
523 subnet1.setIpAssignmentDirection("true");
524 subnet1.setSubnetSequence(new Integer(3));
526 List<HostRoute> hostRoutes = new ArrayList<HostRoute>();
527 HostRoute hostRoute1 = new HostRoute();
528 hostRoute1.setHostRouteId("string");
529 hostRoute1.setRoutePrefix("192.10.16.0/24");
530 hostRoute1.setNextHop("192.10.16.100/24");
531 hostRoute1.setNextHopType("ip-address");
532 HostRoute hostRoute2 = new HostRoute();
533 hostRoute2.setHostRouteId("string");
534 hostRoute2.setRoutePrefix("192.110.17.0/24");
535 hostRoute2.setNextHop("192.110.17.110/24");
536 hostRoute2.setNextHopType("ip-address");
537 hostRoutes.add(hostRoute1);
538 hostRoutes.add(hostRoute2);
539 subnet1.getHostRoutes().addAll(hostRoutes);
541 subnets.add(subnet1);
542 subnets.add(subnet1);
544 AAIObjectMapper aaiObjectMapper = new AAIObjectMapper();
545 org.onap.aai.domain.yang.Subnets v12Subnets = aaiObjectMapper.mapToAAISubNets(subnets);
547 assertEquals(subnets.get(0).getDhcpEnd(), v12Subnets.getSubnet().get(0).getDhcpEnd());
548 assertEquals(subnets.get(0).getCidrMask(), v12Subnets.getSubnet().get(0).getCidrMask());
550 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "aaiSubnetsMapped_to_aai.json")));
551 ObjectMapper omapper = new ObjectMapper();
552 org.onap.aai.domain.yang.Subnets subnet = omapper.readValue(jsonToCompare,
553 org.onap.aai.domain.yang.Subnets.class);
554 ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
555 String jsonGenerated = ow.writeValueAsString(v12Subnets);
556 String jsonExpected = ow.writeValueAsString(subnet);
557 assertEquals(jsonExpected, jsonGenerated);
561 public void mapToAAICtagAssignmentListTest() throws Exception {
562 List<CtagAssignment> ctagAssignments = new ArrayList<CtagAssignment>();
563 CtagAssignment ctagAssignment1 = new CtagAssignment();
564 ctagAssignment1.setVlanIdInner(1L);
565 ctagAssignments.add(ctagAssignment1);
567 AAIObjectMapper aaiObjectMapper = new AAIObjectMapper();
568 org.onap.aai.domain.yang.CtagAssignments v12CtagAssingments = aaiObjectMapper.mapToAAICtagAssignmentList(ctagAssignments);
570 assertEquals(new Long(ctagAssignments.get(0).getVlanIdInner().longValue()), new Long(v12CtagAssingments.getCtagAssignment().get(0).getVlanIdInner()));
572 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "aaiCtagAssingmentsMapped_to_aai.json")));
573 ObjectMapper omapper = new ObjectMapper();
574 org.onap.aai.domain.yang.CtagAssignments ctagAssignment = omapper.readValue(jsonToCompare,
575 org.onap.aai.domain.yang.CtagAssignments.class);
576 ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
577 String jsonGenerated = ow.writeValueAsString(v12CtagAssingments);
578 String jsonExpected = ow.writeValueAsString(ctagAssignment);
579 assertEquals(jsonExpected, jsonGenerated);
583 public void mapToAAISegmentationAssignmentListTest() throws Exception {
584 List<SegmentationAssignment> segmentationAssignments = new ArrayList<SegmentationAssignment>();
585 SegmentationAssignment segmentationAssignment1 = new SegmentationAssignment();
586 segmentationAssignment1.setSegmentationId("segmentationId1");
587 SegmentationAssignment segmentationAssignment2 = new SegmentationAssignment();
588 segmentationAssignment2.setSegmentationId("segmentationId2");
589 segmentationAssignments.add(segmentationAssignment1);
590 segmentationAssignments.add(segmentationAssignment2);
592 AAIObjectMapper aaiObjectMapper = new AAIObjectMapper();
593 org.onap.aai.domain.yang.SegmentationAssignments v12SegmentationAssignments = aaiObjectMapper.mapToAAISegmentationAssignmentList(segmentationAssignments);
595 assertEquals(segmentationAssignments.get(0).getSegmentationId(), v12SegmentationAssignments.getSegmentationAssignment().get(0).getSegmentationId());
596 assertEquals(segmentationAssignments.get(1).getSegmentationId(), v12SegmentationAssignments.getSegmentationAssignment().get(1).getSegmentationId());
598 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "aaiSegmentationAssignmentsMapped_to_aai.json")));
599 ObjectMapper omapper = new ObjectMapper();
600 org.onap.aai.domain.yang.SegmentationAssignments segmentationAssignment = omapper.readValue(jsonToCompare,
601 org.onap.aai.domain.yang.SegmentationAssignments.class);
602 ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
603 String jsonGenerated = ow.writeValueAsString(v12SegmentationAssignments);
604 String jsonExpected = ow.writeValueAsString(segmentationAssignment);
605 assertEquals(jsonExpected, jsonGenerated);
610 public void mapVpnBindingTest() {
611 VpnBinding vpnBinding = new VpnBinding();
612 vpnBinding.setVpnId("testVpnId");
613 vpnBinding.setVpnName("testVpn");
614 vpnBinding.setVpnPlatform("AVPN");
615 vpnBinding.setCustomerVpnId("testCustomerVpnId");
616 vpnBinding.setVpnType("testVpnType");
617 vpnBinding.setVpnRegion("testVpnRegion");
618 vpnBinding.setRouteDistinguisher("testRD");
619 RouteTarget routeTarget = new RouteTarget();
620 routeTarget.setRouteTargetRole("testRtRole");
621 routeTarget.setGlobalRouteTarget("testGrt");
622 vpnBinding.getRouteTargets().add(routeTarget);
625 org.onap.aai.domain.yang.VpnBinding expectedVpnBinding = new org.onap.aai.domain.yang.VpnBinding();
626 expectedVpnBinding.setVpnId("testVpnId");
627 expectedVpnBinding.setVpnName("testVpn");
628 expectedVpnBinding.setVpnPlatform("AVPN");
629 expectedVpnBinding.setCustomerVpnId("testCustomerVpnId");
630 expectedVpnBinding.setVpnType("testVpnType");
631 expectedVpnBinding.setVpnRegion("testVpnRegion");
632 expectedVpnBinding.setRouteDistinguisher("testRD");
634 org.onap.aai.domain.yang.RouteTarget expectedRouteTarget = new org.onap.aai.domain.yang.RouteTarget();
635 expectedRouteTarget.setRouteTargetRole("testRtRole");
636 expectedRouteTarget.setGlobalRouteTarget("testGrt");
638 RouteTargets expectedRouteTargets = new RouteTargets();
639 expectedRouteTargets.getRouteTarget().add(expectedRouteTarget);
641 expectedVpnBinding.setRouteTargets(expectedRouteTargets);
643 org.onap.aai.domain.yang.VpnBinding actualVpnBinding = aaiObjectMapper.mapVpnBinding(vpnBinding);
645 assertThat(actualVpnBinding, sameBeanAs(expectedVpnBinding));
649 public void mapRouteTargetTest() {
650 RouteTarget routeTarget = new RouteTarget();
651 routeTarget.setRouteTargetRole("testRtRole");
652 routeTarget.setGlobalRouteTarget("testGrt");
654 org.onap.aai.domain.yang.RouteTarget expectedRouteTarget = new org.onap.aai.domain.yang.RouteTarget();
655 expectedRouteTarget.setRouteTargetRole("testRtRole");
656 expectedRouteTarget.setGlobalRouteTarget("testGrt");
658 org.onap.aai.domain.yang.RouteTarget actualRouteTarget = aaiObjectMapper.mapRouteTarget(routeTarget);
660 assertThat(actualRouteTarget, sameBeanAs(expectedRouteTarget));
664 public void mapSubnetTest() {
665 Subnet subnet = new Subnet();
666 subnet.setSubnetId("testSubnetId");
667 subnet.setOrchestrationStatus(OrchestrationStatus.PENDING);
668 subnet.setNeutronSubnetId("testNeutronSubnetId");
670 org.onap.aai.domain.yang.Subnet expectedSubnet = new org.onap.aai.domain.yang.Subnet();
671 expectedSubnet.setSubnetId("testSubnetId");
672 expectedSubnet.setOrchestrationStatus("Pending");
673 expectedSubnet.setNeutronSubnetId("testNeutronSubnetId");
675 org.onap.aai.domain.yang.Subnet actualSubnet = aaiObjectMapper.mapSubnet(subnet);
677 assertThat(actualSubnet, sameBeanAs(expectedSubnet));
681 public void mapNetworkPolicyTest() {
682 NetworkPolicy networkPolicy = new NetworkPolicy();
683 networkPolicy.setNetworkPolicyId("testNetworkPolicyId");
684 networkPolicy.setNetworkPolicyFqdn("testNetworkPolicyFqdn");
685 networkPolicy.setHeatStackId("testHeatStackId");
687 org.onap.aai.domain.yang.NetworkPolicy expectedNetworkPolicy = new org.onap.aai.domain.yang.NetworkPolicy();
688 expectedNetworkPolicy.setNetworkPolicyId("testNetworkPolicyId");
689 expectedNetworkPolicy.setNetworkPolicyFqdn("testNetworkPolicyFqdn");
690 expectedNetworkPolicy.setHeatStackId("testHeatStackId");
692 org.onap.aai.domain.yang.NetworkPolicy actualNetworkPolicy = aaiObjectMapper.mapNetworkPolicy(networkPolicy);
694 assertThat(actualNetworkPolicy, sameBeanAs(expectedNetworkPolicy));