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.OwningEntity;
45 import org.onap.so.bpmn.servicedecomposition.bbobjects.Project;
46 import org.onap.so.bpmn.servicedecomposition.bbobjects.RouteTarget;
47 import org.onap.so.bpmn.servicedecomposition.bbobjects.SegmentationAssignment;
48 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
49 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceSubscription;
50 import org.onap.so.bpmn.servicedecomposition.bbobjects.Subnet;
51 import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
52 import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
53 import org.onap.so.bpmn.servicedecomposition.bbobjects.VpnBinding;
54 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoCollection;
55 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoConfiguration;
56 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
57 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup;
58 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoNetwork;
59 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance;
60 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule;
61 import org.onap.so.db.catalog.beans.OrchestrationStatus;
63 import com.fasterxml.jackson.databind.ObjectMapper;
64 import com.fasterxml.jackson.databind.ObjectWriter;
66 public class AAIObjectMapperTest{
67 private AAIObjectMapper aaiObjectMapper = new AAIObjectMapper();
68 private final static String JSON_FILE_LOCATION = "src/test/resources/__files/BuildingBlocks/";
72 public void mapConfigurationTest() {
73 Configuration configuration = new Configuration();
74 configuration.setConfigurationId("configId");
75 configuration.setConfigurationName("VNR");
76 configuration.setConfigurationType("VNR-TYPE");
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 configuration.setModelInfoConfiguration(modelInfoConfiguration);
85 org.onap.aai.domain.yang.Configuration expectedConfiguration = new org.onap.aai.domain.yang.Configuration();
86 expectedConfiguration.setConfigurationId(configuration.getConfigurationId());
87 expectedConfiguration.setConfigurationName(configuration.getConfigurationName());
88 expectedConfiguration.setConfigurationType(configuration.getConfigurationType());
89 expectedConfiguration.setOrchestrationStatus(configuration.getOrchestrationStatus().toString());
90 expectedConfiguration.setManagementOption(configuration.getManagementOption());
91 expectedConfiguration.setModelInvariantId(configuration.getModelInfoConfiguration().getModelInvariantId());
92 expectedConfiguration.setModelVersionId(configuration.getModelInfoConfiguration().getModelVersionId());
93 expectedConfiguration.setModelCustomizationId(configuration.getModelInfoConfiguration().getModelCustomizationId());
95 org.onap.aai.domain.yang.Configuration actualConfiguration = aaiObjectMapper.mapConfiguration(configuration);
97 assertThat(actualConfiguration, sameBeanAs(expectedConfiguration));
101 public void mapVolumeGroupTest() throws Exception {
102 VolumeGroup volumeGroup = new VolumeGroup();
103 volumeGroup.setHeatStackId("heatStackId");
104 volumeGroup.setModelInfoVfModule(new ModelInfoVfModule());
105 volumeGroup.getModelInfoVfModule().setModelCustomizationUUID("modelCustomizationId");
106 volumeGroup.setOrchestrationStatus(OrchestrationStatus.ACTIVE);
107 volumeGroup.setVnfType("vnfType");
108 volumeGroup.setVolumeGroupId("volumeGroupId");
109 volumeGroup.setVolumeGroupName("volumeGroupName");
111 org.onap.aai.domain.yang.VolumeGroup expectedVolumeGroup = new org.onap.aai.domain.yang.VolumeGroup();
112 expectedVolumeGroup.setHeatStackId(volumeGroup.getHeatStackId());
113 expectedVolumeGroup.setModelCustomizationId(volumeGroup.getModelInfoVfModule().getModelCustomizationUUID());
114 expectedVolumeGroup.setOrchestrationStatus(volumeGroup.getOrchestrationStatus().toString());
115 expectedVolumeGroup.setVfModuleModelCustomizationId(volumeGroup.getModelInfoVfModule().getModelCustomizationUUID());
116 expectedVolumeGroup.setVnfType(volumeGroup.getVnfType());
117 expectedVolumeGroup.setVolumeGroupId(volumeGroup.getVolumeGroupId());
118 expectedVolumeGroup.setVolumeGroupName(volumeGroup.getVolumeGroupName());
120 org.onap.aai.domain.yang.VolumeGroup actualVolumeGroup = aaiObjectMapper.mapVolumeGroup(volumeGroup);
122 assertThat(actualVolumeGroup, sameBeanAs(expectedVolumeGroup));
126 public void serviceInstanceMap() {
127 ServiceInstance serviceInstance = new ServiceInstance();
128 serviceInstance.setServiceInstanceId("SIID");
129 serviceInstance.setServiceInstanceName("SINAME");
130 serviceInstance.setOrchestrationStatus(OrchestrationStatus.ASSIGNED);
131 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
132 modelInfoServiceInstance.setServiceType("SITYPE");
133 modelInfoServiceInstance.setServiceRole("SIROLE");
134 modelInfoServiceInstance.setModelInvariantUuid("MIUUID");
135 modelInfoServiceInstance.setModelUuid("MUUID");
136 modelInfoServiceInstance.setEnvironmentContext("EC");
137 modelInfoServiceInstance.setWorkloadContext("WC");
138 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
140 org.onap.aai.domain.yang.ServiceInstance AAIServiceInstance = aaiObjectMapper.mapServiceInstance(serviceInstance);
142 assertEquals(AAIServiceInstance.getServiceInstanceId(),serviceInstance.getServiceInstanceId());
143 assertEquals(AAIServiceInstance.getServiceInstanceName(),serviceInstance.getServiceInstanceName());
144 assertEquals(AAIServiceInstance.getOrchestrationStatus().toString(),serviceInstance.getOrchestrationStatus().toString());
145 assertEquals(AAIServiceInstance.getServiceType(),serviceInstance.getModelInfoServiceInstance().getServiceType());
146 assertEquals(AAIServiceInstance.getServiceRole(),serviceInstance.getModelInfoServiceInstance().getServiceRole());
147 assertEquals(AAIServiceInstance.getModelInvariantId(),serviceInstance.getModelInfoServiceInstance().getModelInvariantUuid());
148 assertEquals(AAIServiceInstance.getModelVersionId(),serviceInstance.getModelInfoServiceInstance().getModelUuid());
149 assertEquals(AAIServiceInstance.getEnvironmentContext(),serviceInstance.getModelInfoServiceInstance().getEnvironmentContext());
150 assertEquals(AAIServiceInstance.getWorkloadContext(),serviceInstance.getModelInfoServiceInstance().getWorkloadContext());
154 public void projectMap(){
155 Project project = new Project();
156 project.setProjectName("abc");
158 org.onap.aai.domain.yang.Project AAIProject = aaiObjectMapper.mapProject(project);
160 assertEquals(AAIProject.getProjectName(),project.getProjectName());
164 public void serviceSubscriptionMap(){
165 ServiceSubscription serviceSubscription = new ServiceSubscription();
166 serviceSubscription.setServiceType("IP-FLEX");
167 serviceSubscription.setTempUbSubAccountId("Account-ID");
168 org.onap.aai.domain.yang.ServiceSubscription serviceSubscriptionMapped = aaiObjectMapper.mapServiceSubscription(serviceSubscription);
169 assertNotNull(serviceSubscriptionMapped);
170 assertEquals(serviceSubscription.getTempUbSubAccountId(),serviceSubscriptionMapped.getTempUbSubAccountId());
171 assertEquals(serviceSubscription.getServiceType(),serviceSubscriptionMapped.getServiceType());
175 public void owningEntityMap(){
176 OwningEntity oe = new OwningEntity();
177 oe.setOwningEntityId("abc");
178 oe.setOwningEntityName("bbb");
180 org.onap.aai.domain.yang.OwningEntity AAIOwningEntity = aaiObjectMapper.mapOwningEntity(oe);
182 assertEquals(AAIOwningEntity.getOwningEntityId(),oe.getOwningEntityId());
183 assertEquals(AAIOwningEntity.getOwningEntityName(),oe.getOwningEntityName());
188 public void vnfMap(){
189 GenericVnf vnf = new GenericVnf();
192 vnf.setServiceId("c");
194 vnf.setProvStatus("e");
195 vnf.setOrchestrationStatus(OrchestrationStatus.ASSIGNED);
196 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
197 modelInfoGenericVnf.setModelCustomizationUuid("f");
198 modelInfoGenericVnf.setModelInvariantUuid("g");
199 modelInfoGenericVnf.setModelUuid("h");
200 modelInfoGenericVnf.setNfRole("i");
201 modelInfoGenericVnf.setNfType("j");
202 modelInfoGenericVnf.setNfFunction("k");
203 modelInfoGenericVnf.setNfNamingCode("l");
204 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
206 org.onap.aai.domain.yang.GenericVnf AAIVnf = aaiObjectMapper.mapVnf(vnf);
208 assertEquals(AAIVnf.getVnfId(),vnf.getVnfId());
209 assertEquals(AAIVnf.getVnfName(),vnf.getVnfName());
210 assertEquals(AAIVnf.getServiceId(),vnf.getServiceId());
211 assertEquals(AAIVnf.getVnfType(),vnf.getVnfType());
212 assertEquals(AAIVnf.getProvStatus(),vnf.getProvStatus());
213 assertEquals(AAIVnf.getOrchestrationStatus().toString(),vnf.getOrchestrationStatus().toString());
214 assertEquals(AAIVnf.getModelCustomizationId(),vnf.getModelInfoGenericVnf().getModelCustomizationUuid());
215 assertEquals(AAIVnf.getModelInvariantId(),vnf.getModelInfoGenericVnf().getModelInvariantUuid());
216 assertEquals(AAIVnf.getModelVersionId(),vnf.getModelInfoGenericVnf().getModelUuid());
217 assertEquals(AAIVnf.getModelVersionId(),vnf.getModelInfoGenericVnf().getModelUuid());
218 assertEquals(AAIVnf.getNfType(),vnf.getModelInfoGenericVnf().getNfType());
219 assertEquals(AAIVnf.getNfFunction(),vnf.getModelInfoGenericVnf().getNfFunction());
220 assertEquals(AAIVnf.getNfNamingCode(),vnf.getModelInfoGenericVnf().getNfNamingCode());
224 public void vfModuleMap() throws Exception {
225 VfModule vfModule = new VfModule();
226 vfModule.setVfModuleId("a");
227 vfModule.setVfModuleName("b");
228 vfModule.setOrchestrationStatus(OrchestrationStatus.ASSIGNED);
229 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
230 modelInfoVfModule.setModelCustomizationUUID("f");
231 modelInfoVfModule.setModelInvariantUUID("g");
232 modelInfoVfModule.setModelUUID("h");
233 modelInfoVfModule.setIsBaseBoolean(false);
234 vfModule.setModelInfoVfModule(modelInfoVfModule);
236 org.onap.aai.domain.yang.VfModule AAIVfModule = aaiObjectMapper.mapVfModule(vfModule);
238 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "aaiVfModuleMap.json")));
240 ObjectMapper omapper = new ObjectMapper();
241 org.onap.aai.domain.yang.VfModule reqMapper1 = omapper.readValue(
243 org.onap.aai.domain.yang.VfModule.class);
245 assertThat(reqMapper1, sameBeanAs(AAIVfModule));
250 public void testMapInstanceGroup() {
251 InstanceGroup instanceGroup = new InstanceGroup();
252 instanceGroup.setId("test-id");
253 instanceGroup.setDescription("test-description");
254 instanceGroup.setInstanceGroupName("test-instanceGroupName");
255 instanceGroup.setResourceVersion("test-resourceVersion");
258 ModelInfoInstanceGroup model = new ModelInfoInstanceGroup();
259 model.setFunction("test-function");
260 model.setInstanceGroupRole("SUB-INTERFACE");
261 model.setType("VNFC");
262 model.setModelInvariantUUID("modelInvariantUUID-000");
263 model.setModelUUID("modelUUID-000");
264 model.setDescription("test-description");
266 instanceGroup.setModelInfoInstanceGroup(model);
269 org.onap.aai.domain.yang.InstanceGroup aaiInstanceGroup = aaiObjectMapper.mapInstanceGroup(instanceGroup);
272 com.fasterxml.jackson.databind.ObjectMapper mapper = new com.fasterxml.jackson.databind.ObjectMapper();
273 String json = mapper.writeValueAsString(aaiInstanceGroup);
274 System.out.println("GGG - json:\n" + json);
281 assertEquals(aaiInstanceGroup.getId(), instanceGroup.getId());
282 assertEquals(aaiInstanceGroup.getDescription(), instanceGroup.getDescription());
283 assertEquals(aaiInstanceGroup.getInstanceGroupRole(), instanceGroup.getModelInfoInstanceGroup().getInstanceGroupRole());
284 assertEquals(aaiInstanceGroup.getModelInvariantId(), instanceGroup.getModelInfoInstanceGroup().getModelInvariantUUID());
285 assertEquals(aaiInstanceGroup.getModelVersionId(), instanceGroup.getModelInfoInstanceGroup().getModelUUID());
286 assertEquals(aaiInstanceGroup.getResourceVersion(), instanceGroup.getResourceVersion());
287 assertEquals(aaiInstanceGroup.getInstanceGroupType(), instanceGroup.getModelInfoInstanceGroup().getType());
291 public void mapCustomerTest() {
292 Customer customer = new Customer();
293 customer.setGlobalCustomerId("globalCustomerId");
294 customer.setSubscriberName("subscriberName");
295 customer.setSubscriberType("subscriberType");
297 org.onap.aai.domain.yang.Customer expectedCustomer = new org.onap.aai.domain.yang.Customer();
298 expectedCustomer.setGlobalCustomerId("globalCustomerId");
299 expectedCustomer.setSubscriberName("subscriberName");
300 expectedCustomer.setSubscriberType("subscriberType");
302 org.onap.aai.domain.yang.Customer actualCustomer = aaiObjectMapper.mapCustomer(customer);
304 assertThat(actualCustomer, sameBeanAs(expectedCustomer));
308 public void networkMap() throws Exception {
309 L3Network l3Network = new L3Network();
310 l3Network.setNetworkId("networkId");
311 l3Network.setOrchestrationStatus(OrchestrationStatus.ASSIGNED);
312 l3Network.setNetworkName("networkName");
313 l3Network.setNetworkRole("networkRole");
314 l3Network.setNetworkTechnology("networkTechnology");
315 l3Network.setNeutronNetworkId("neutronNetworkId");
316 l3Network.setNetworkRoleInstance(0L);
317 l3Network.setContrailNetworkFqdn("contrailNetworkFqdn");
318 l3Network.setIsBoundToVpn(false);
319 l3Network.setIsCascaded(false);
320 l3Network.setIsExternalNetwork(false);
321 l3Network.setHeatStackId("heatStackId");
322 l3Network.setOperationalStatus("operationalStatus");
323 l3Network.setPhysicalNetworkName("physicalNetworkName");
324 l3Network.setIsProviderNetwork(false);
325 l3Network.setSelflink("selflink");
326 l3Network.setServiceId("serviceId");
328 ModelInfoNetwork modelInfoNetwork = new ModelInfoNetwork();
329 modelInfoNetwork.setModelCustomizationUUID("modelCustomizationUUID");
330 modelInfoNetwork.setModelInvariantUUID("modelInvariantUUID");
331 modelInfoNetwork.setModelUUID("modelUUID");
333 l3Network.setModelInfoNetwork(modelInfoNetwork);
335 org.onap.aai.domain.yang.L3Network aaiL3Network = aaiObjectMapper.mapNetwork(l3Network);
337 ObjectMapper omapper = new ObjectMapper();
338 org.onap.aai.domain.yang.L3Network network = omapper.readValue(
339 getJson("aaiL3NetworkMapped.json"),
340 org.onap.aai.domain.yang.L3Network.class);
342 com.shazam.shazamcrest.MatcherAssert.assertThat(aaiL3Network, sameBeanAs(network));
347 public void mapCollectionTest() {
348 Collection networkCollection = new Collection();
349 networkCollection.setId("networkCollectionId");
350 ModelInfoCollection modelInfoCollection = new ModelInfoCollection();
351 modelInfoCollection.setCollectionFunction("networkCollectionFunction");
352 modelInfoCollection.setCollectionRole("networkCollectionRole");
353 networkCollection.setModelInfoCollection(modelInfoCollection);
354 networkCollection.setName("networkCollectionName");
356 org.onap.aai.domain.yang.Collection expectedCollection = new org.onap.aai.domain.yang.Collection();
357 expectedCollection.setCollectionId("networkCollectionId");
358 expectedCollection.setCollectionFunction("networkCollectionFunction");
359 expectedCollection.setCollectionRole("networkCollectionRole");
360 expectedCollection.setCollectionName("networkCollectionName");
362 org.onap.aai.domain.yang.Collection actualCollection = aaiObjectMapper.mapCollection(networkCollection);
364 assertThat(actualCollection, sameBeanAs(expectedCollection));
368 * Helper method to load JSON data
370 private String getJson(String filename) throws IOException {
371 return new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + filename)));
375 public void mapNetworkTest() throws Exception {
376 L3Network l3Network = new L3Network();
377 ModelInfoNetwork modelInfoNetwork = new ModelInfoNetwork();
378 modelInfoNetwork.setModelCustomizationUUID("modelCustomization_id");
379 modelInfoNetwork.setModelInvariantUUID("modelInvariant_id");
380 modelInfoNetwork.setModelUUID("modelCustomization_id");
381 modelInfoNetwork.setNetworkType("CONTRAIL_EXTERNAL");
382 modelInfoNetwork.setNetworkRole("dmz_direct");
383 modelInfoNetwork.setNetworkTechnology("contrail");
384 l3Network.setModelInfoNetwork(modelInfoNetwork);
385 l3Network.setNetworkId("TESTING_ID");
386 l3Network.setNetworkName("TESTING_NAME");
387 l3Network.setIsBoundToVpn(true);
388 l3Network.setServiceId("a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
389 l3Network.setNetworkRoleInstance(1L);
390 l3Network.setOrchestrationStatus(OrchestrationStatus.CREATED);
391 l3Network.setHeatStackId("heatStack_id");
392 l3Network.setContrailNetworkFqdn("contrailNetwork_fqdn");
393 l3Network.setWidgetModelId("widgetModel_id");
394 l3Network.setWidgetModelVersion("widgetModel_version");
395 l3Network.setPhysicalNetworkName("physicalNetwork_name");
396 l3Network.setIsProviderNetwork(true);
397 l3Network.setIsSharedNetwork(false);
398 l3Network.setIsExternalNetwork(false);
399 l3Network.setSelflink("self_link");
400 l3Network.setOperationalStatus("operationalStatus");
402 List<Subnet> subnets = new ArrayList<Subnet>();
403 Subnet subnet1 = new Subnet();
404 subnet1.setSubnetId("57e9a1ff-d14f-4071-a828-b19ae98eb2fc");
405 subnet1.setSubnetName("subnetName");
406 subnet1.setGatewayAddress("192.168.52.1");
407 subnet1.setNetworkStartAddress("192.168.52.0");
408 subnet1.setCidrMask("24");
409 subnet1.setIpVersion("4");
410 subnet1.setOrchestrationStatus(OrchestrationStatus.CREATED);
411 subnet1.setIpAssignmentDirection("true");
412 subnet1.setDhcpEnabled(true);
413 subnet1.setDhcpStart("dhcpStart");
414 subnet1.setDhcpEnd("dhcpEnd");
415 subnet1.setSubnetRole("subnetRole");
416 subnet1.setIpAssignmentDirection("true");
417 subnet1.setSubnetSequence(new Integer(3));
419 List<HostRoute> hostRoutes = new ArrayList<HostRoute>();
420 HostRoute hostRoute1 = new HostRoute();
421 hostRoute1.setHostRouteId("string");
422 hostRoute1.setRoutePrefix("192.10.16.0/24");
423 hostRoute1.setNextHop("192.10.16.100/24");
424 hostRoute1.setNextHopType("ip-address");
425 HostRoute hostRoute2 = new HostRoute();
426 hostRoute2.setHostRouteId("string");
427 hostRoute2.setRoutePrefix("192.110.17.0/24");
428 hostRoute2.setNextHop("192.110.17.110/24");
429 hostRoute2.setNextHopType("ip-address");
430 hostRoutes.add(hostRoute1);
431 hostRoutes.add(hostRoute2);
432 subnet1.getHostRoutes().addAll(hostRoutes);
434 subnets.add(subnet1);
435 subnets.add(subnet1);
436 l3Network.getSubnets().addAll(subnets);
438 List<CtagAssignment> ctagAssignments = new ArrayList<CtagAssignment>();
439 CtagAssignment ctagAssignment1 = new CtagAssignment();
440 ctagAssignment1.setVlanIdInner(1L);
441 ctagAssignments.add(ctagAssignment1);
442 l3Network.getCtagAssignments().addAll(ctagAssignments);
444 List<SegmentationAssignment> segmentationAssignments = new ArrayList<SegmentationAssignment>();
445 SegmentationAssignment segmentationAssignment1 = new SegmentationAssignment();
446 segmentationAssignment1.setSegmentationId("segmentationId1");
447 SegmentationAssignment segmentationAssignment2 = new SegmentationAssignment();
448 segmentationAssignment2.setSegmentationId("segmentationId2");
449 segmentationAssignments.add(segmentationAssignment1);
450 segmentationAssignments.add(segmentationAssignment2);
451 l3Network.getSegmentationAssignments().addAll(segmentationAssignments);
453 AAIObjectMapper l3NetworkMapper = new AAIObjectMapper();
454 org.onap.aai.domain.yang.L3Network v12L3Network = l3NetworkMapper.mapNetwork(l3Network);
456 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "aaiL3NetworkMapped_to_aai.json")));
457 ObjectMapper omapper = new ObjectMapper();
458 org.onap.aai.domain.yang.L3Network network = omapper.readValue(jsonToCompare,
459 org.onap.aai.domain.yang.L3Network.class);
461 ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
462 String jsonGenerated = ow.writeValueAsString(v12L3Network);
463 String jsonExpected = ow.writeValueAsString(network);
464 assertEquals(jsonExpected, jsonGenerated);
469 public void mapToAAISubNetsTest() throws Exception {
470 List<Subnet> subnets = new ArrayList<Subnet>();
471 Subnet subnet1 = new Subnet();
472 subnet1.setSubnetId("57e9a1ff-d14f-4071-a828-b19ae98eb2fc");
473 subnet1.setSubnetName("subnetName");
474 subnet1.setGatewayAddress("192.168.52.1");
475 subnet1.setNetworkStartAddress("192.168.52.0");
476 subnet1.setCidrMask("24");
477 subnet1.setIpVersion("4");
478 subnet1.setOrchestrationStatus(OrchestrationStatus.CREATED);
479 subnet1.setIpAssignmentDirection("true");
480 subnet1.setDhcpEnabled(true);
481 subnet1.setDhcpStart("dhcpStart");
482 subnet1.setDhcpEnd("dhcpEnd");
483 subnet1.setSubnetRole("subnetRole");
484 subnet1.setIpAssignmentDirection("true");
485 subnet1.setSubnetSequence(new Integer(3));
487 List<HostRoute> hostRoutes = new ArrayList<HostRoute>();
488 HostRoute hostRoute1 = new HostRoute();
489 hostRoute1.setHostRouteId("string");
490 hostRoute1.setRoutePrefix("192.10.16.0/24");
491 hostRoute1.setNextHop("192.10.16.100/24");
492 hostRoute1.setNextHopType("ip-address");
493 HostRoute hostRoute2 = new HostRoute();
494 hostRoute2.setHostRouteId("string");
495 hostRoute2.setRoutePrefix("192.110.17.0/24");
496 hostRoute2.setNextHop("192.110.17.110/24");
497 hostRoute2.setNextHopType("ip-address");
498 hostRoutes.add(hostRoute1);
499 hostRoutes.add(hostRoute2);
500 subnet1.getHostRoutes().addAll(hostRoutes);
502 subnets.add(subnet1);
503 subnets.add(subnet1);
505 AAIObjectMapper aaiObjectMapper = new AAIObjectMapper();
506 org.onap.aai.domain.yang.Subnets v12Subnets = aaiObjectMapper.mapToAAISubNets(subnets);
508 assertEquals(subnets.get(0).getDhcpEnd(), v12Subnets.getSubnet().get(0).getDhcpEnd());
509 assertEquals(subnets.get(0).getCidrMask(), v12Subnets.getSubnet().get(0).getCidrMask());
511 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "aaiSubnetsMapped_to_aai.json")));
512 ObjectMapper omapper = new ObjectMapper();
513 org.onap.aai.domain.yang.Subnets subnet = omapper.readValue(jsonToCompare,
514 org.onap.aai.domain.yang.Subnets.class);
515 ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
516 String jsonGenerated = ow.writeValueAsString(v12Subnets);
517 String jsonExpected = ow.writeValueAsString(subnet);
518 assertEquals(jsonExpected, jsonGenerated);
522 public void mapToAAICtagAssignmentListTest() throws Exception {
523 List<CtagAssignment> ctagAssignments = new ArrayList<CtagAssignment>();
524 CtagAssignment ctagAssignment1 = new CtagAssignment();
525 ctagAssignment1.setVlanIdInner(1L);
526 ctagAssignments.add(ctagAssignment1);
528 AAIObjectMapper aaiObjectMapper = new AAIObjectMapper();
529 org.onap.aai.domain.yang.CtagAssignments v12CtagAssingments = aaiObjectMapper.mapToAAICtagAssignmentList(ctagAssignments);
531 assertEquals(ctagAssignments.get(0).getVlanIdInner(), v12CtagAssingments.getCtagAssignment().get(0).getVlanIdInner());
533 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "aaiCtagAssingmentsMapped_to_aai.json")));
534 ObjectMapper omapper = new ObjectMapper();
535 org.onap.aai.domain.yang.CtagAssignments ctagAssignment = omapper.readValue(jsonToCompare,
536 org.onap.aai.domain.yang.CtagAssignments.class);
537 ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
538 String jsonGenerated = ow.writeValueAsString(v12CtagAssingments);
539 String jsonExpected = ow.writeValueAsString(ctagAssignment);
540 assertEquals(jsonExpected, jsonGenerated);
544 public void mapToAAISegmentationAssignmentListTest() throws Exception {
545 List<SegmentationAssignment> segmentationAssignments = new ArrayList<SegmentationAssignment>();
546 SegmentationAssignment segmentationAssignment1 = new SegmentationAssignment();
547 segmentationAssignment1.setSegmentationId("segmentationId1");
548 SegmentationAssignment segmentationAssignment2 = new SegmentationAssignment();
549 segmentationAssignment2.setSegmentationId("segmentationId2");
550 segmentationAssignments.add(segmentationAssignment1);
551 segmentationAssignments.add(segmentationAssignment2);
553 AAIObjectMapper aaiObjectMapper = new AAIObjectMapper();
554 org.onap.aai.domain.yang.SegmentationAssignments v12SegmentationAssignments = aaiObjectMapper.mapToAAISegmentationAssignmentList(segmentationAssignments);
556 assertEquals(segmentationAssignments.get(0).getSegmentationId(), v12SegmentationAssignments.getSegmentationAssignment().get(0).getSegmentationId());
557 assertEquals(segmentationAssignments.get(1).getSegmentationId(), v12SegmentationAssignments.getSegmentationAssignment().get(1).getSegmentationId());
559 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "aaiSegmentationAssignmentsMapped_to_aai.json")));
560 ObjectMapper omapper = new ObjectMapper();
561 org.onap.aai.domain.yang.SegmentationAssignments segmentationAssignment = omapper.readValue(jsonToCompare,
562 org.onap.aai.domain.yang.SegmentationAssignments.class);
563 ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
564 String jsonGenerated = ow.writeValueAsString(v12SegmentationAssignments);
565 String jsonExpected = ow.writeValueAsString(segmentationAssignment);
566 assertEquals(jsonExpected, jsonGenerated);
571 public void mapVpnBindingTest() {
572 VpnBinding vpnBinding = new VpnBinding();
573 vpnBinding.setVpnId("testVpnId");
574 vpnBinding.setVpnName("testVpn");
575 vpnBinding.setVpnPlatform("AVPN");
576 vpnBinding.setCustomerVpnId("testCustomerVpnId");
577 vpnBinding.setVpnType("testVpnType");
578 vpnBinding.setVpnRegion("testVpnRegion");
579 vpnBinding.setRouteDistinguisher("testRD");
580 RouteTarget routeTarget = new RouteTarget();
581 routeTarget.setRouteTargetRole("testRtRole");
582 routeTarget.setGlobalRouteTarget("testGrt");
583 vpnBinding.getRouteTargets().add(routeTarget);
586 org.onap.aai.domain.yang.VpnBinding expectedVpnBinding = new org.onap.aai.domain.yang.VpnBinding();
587 expectedVpnBinding.setVpnId("testVpnId");
588 expectedVpnBinding.setVpnName("testVpn");
589 expectedVpnBinding.setVpnPlatform("AVPN");
590 expectedVpnBinding.setCustomerVpnId("testCustomerVpnId");
591 expectedVpnBinding.setVpnType("testVpnType");
592 expectedVpnBinding.setVpnRegion("testVpnRegion");
593 expectedVpnBinding.setRouteDistinguisher("testRD");
595 org.onap.aai.domain.yang.RouteTarget expectedRouteTarget = new org.onap.aai.domain.yang.RouteTarget();
596 expectedRouteTarget.setRouteTargetRole("testRtRole");
597 expectedRouteTarget.setGlobalRouteTarget("testGrt");
599 RouteTargets expectedRouteTargets = new RouteTargets();
600 expectedRouteTargets.getRouteTarget().add(expectedRouteTarget);
602 expectedVpnBinding.setRouteTargets(expectedRouteTargets);
604 org.onap.aai.domain.yang.VpnBinding actualVpnBinding = aaiObjectMapper.mapVpnBinding(vpnBinding);
606 assertThat(actualVpnBinding, sameBeanAs(expectedVpnBinding));
610 public void mapRouteTargetTest() {
611 RouteTarget routeTarget = new RouteTarget();
612 routeTarget.setRouteTargetRole("testRtRole");
613 routeTarget.setGlobalRouteTarget("testGrt");
615 org.onap.aai.domain.yang.RouteTarget expectedRouteTarget = new org.onap.aai.domain.yang.RouteTarget();
616 expectedRouteTarget.setRouteTargetRole("testRtRole");
617 expectedRouteTarget.setGlobalRouteTarget("testGrt");
619 org.onap.aai.domain.yang.RouteTarget actualRouteTarget = aaiObjectMapper.mapRouteTarget(routeTarget);
621 assertThat(actualRouteTarget, sameBeanAs(expectedRouteTarget));