Dynamic Cloud Owner Support
[so.git] / bpmn / so-bpmn-tasks / src / test / java / org / onap / so / client / adapter / vnf / mapper / VnfAdapterVfModuleObjectMapperPayloadTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
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
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
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=========================================================
19  */
20
21 package org.onap.so.client.adapter.vnf.mapper;
22
23 import static com.shazam.shazamcrest.MatcherAssert.assertThat;
24 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
25 import static org.junit.Assert.assertEquals;
26
27 import java.io.IOException;
28 import java.nio.file.Files;
29 import java.nio.file.Paths;
30 import java.util.HashMap;
31 import java.util.Map;
32
33 import org.junit.Before;
34 import org.junit.Test;
35 import org.onap.sdnc.northbound.client.model.GenericResourceApiVmNetworkData;
36 import org.onap.so.adapters.vnfrest.CreateVfModuleRequest;
37 import org.onap.so.adapters.vnfrest.DeleteVfModuleRequest;
38 import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
39 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
40 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
41 import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
42 import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
43 import org.onap.so.bpmn.servicedecomposition.generalobjects.OrchestrationContext;
44 import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
45 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
46 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance;
47 import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule;
48
49 import com.fasterxml.jackson.databind.ObjectMapper;
50
51 public class VnfAdapterVfModuleObjectMapperPayloadTest {
52
53         private final static String JSON_FILE_LOCATION = "src/test/resources/__files/BuildingBlocks/VnfAndVfModuleMapper/";
54
55         private VnfAdapterVfModuleObjectMapper vfModuleObjectMapper = new VnfAdapterVfModuleObjectMapper();
56         private ObjectMapper omapper = new ObjectMapper();
57         @Before
58         public void setUp() {
59                 vfModuleObjectMapper.vnfAdapterObjectMapperUtils = new VnfAdapterObjectMapperUtils();
60                 vfModuleObjectMapper.init();
61                 
62         }
63         @Test
64         public void createVfModuleRequestMapperTest() throws Exception {
65
66                 // prepare and set service instance
67                 ServiceInstance serviceInstance = new ServiceInstance();
68                 serviceInstance.setServiceInstanceId("serviceInstanceId");
69                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
70                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
71                 modelInfoServiceInstance.setModelName("serviceModelName");
72                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
73                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
74                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
75                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
76                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
77
78                 RequestContext requestContext = new RequestContext();
79                 HashMap<String, String> userParams = new HashMap<String, String>();
80                 userParams.put("key1", "value2");
81                 requestContext.setMsoRequestId("requestId");
82                 requestContext.setUserParams(userParams);
83                 requestContext.setProductFamilyId("productFamilyId");
84
85                 GenericVnf vnf = new GenericVnf();
86                 vnf.setVnfId("vnfId");
87                 vnf.setVnfType("vnfType");
88                 vnf.setVnfName("vnfName");
89                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
90                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
91                 modelInfoGenericVnf.setModelName("vnfModelName");
92                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
93                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
94                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
95                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
96
97                 Integer vfModuleIndex = 1;
98                 VfModule vfModule = new VfModule();
99                 vfModule.setVfModuleId("vfModuleId");
100                 vfModule.setVfModuleName("vfModuleName");
101                 vfModule.setModuleIndex(vfModuleIndex);
102                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
103                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
104                 modelInfoVfModule.setModelName("vfModuleModelName");
105                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
106                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
107                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
108                 vfModule.setModelInfoVfModule(modelInfoVfModule);
109                 HashMap<String, String> cloudParams = new HashMap<String, String>();
110                 cloudParams.put("key3", "value3");
111                 vfModule.setCloudParams(cloudParams);
112
113                 CloudRegion cloudRegion = new CloudRegion();
114                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
115                 cloudRegion.setTenantId("tenantId");
116
117                 OrchestrationContext orchestrationContext = new OrchestrationContext();
118                 orchestrationContext.setIsRollbackEnabled(false);
119
120                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopology.json")));
121                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
122
123                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
124                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
125                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
126
127
128                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleRequest.json")));
129
130                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
131                                 jsonToCompare,
132                                 CreateVfModuleRequest.class);
133
134                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
135         }
136         
137         @Test
138         public void createVfModuleRequestWithNoEnvironmentAndWorkloadContextMapperTest() throws Exception {
139
140                 // prepare and set service instance
141                 ServiceInstance serviceInstance = new ServiceInstance();
142                 serviceInstance.setServiceInstanceId("serviceInstanceId");
143                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
144                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
145                 modelInfoServiceInstance.setModelName("serviceModelName");
146                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
147                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
148                 modelInfoServiceInstance.setEnvironmentContext(null);           
149                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
150                 
151                 RequestContext requestContext = new RequestContext();
152                 HashMap<String, String> userParams = new HashMap<String, String>();
153                 userParams.put("key1", "value2");
154                 requestContext.setMsoRequestId("requestId");
155                 requestContext.setUserParams(userParams);
156                 requestContext.setProductFamilyId("productFamilyId");
157
158                 GenericVnf vnf = new GenericVnf();
159                 vnf.setVnfId("vnfId");
160                 vnf.setVnfType("vnfType");
161                 vnf.setVnfName("vnfName");
162                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
163                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
164                 modelInfoGenericVnf.setModelName("vnfModelName");
165                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
166                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
167                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
168                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
169
170                 Integer vfModuleIndex = 1;
171                 VfModule vfModule = new VfModule();
172                 vfModule.setVfModuleId("vfModuleId");
173                 vfModule.setVfModuleName("vfModuleName");
174                 vfModule.setModuleIndex(vfModuleIndex);
175                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
176                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
177                 modelInfoVfModule.setModelName("vfModuleModelName");
178                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
179                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
180                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
181                 vfModule.setModelInfoVfModule(modelInfoVfModule);
182
183                 CloudRegion cloudRegion = new CloudRegion();
184                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
185                 cloudRegion.setTenantId("tenantId");
186
187                 OrchestrationContext orchestrationContext = new OrchestrationContext();
188                 orchestrationContext.setIsRollbackEnabled(false);
189
190                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopology.json")));
191                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
192
193                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
194                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
195                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
196
197
198                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleWithNoEnvironmentAndWorkloadContextRequest.json")));
199
200                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
201                                 jsonToCompare,
202                                 CreateVfModuleRequest.class);
203
204                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
205         }
206         
207         @Test
208         public void createVfModuleAddonRequestMapperTest() throws Exception {
209
210                 // prepare and set service instance
211                 ServiceInstance serviceInstance = new ServiceInstance();
212                 serviceInstance.setServiceInstanceId("serviceInstanceId");
213                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
214                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
215                 modelInfoServiceInstance.setModelName("serviceModelName");
216                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
217                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
218                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
219                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
220                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
221
222                 //
223                 RequestContext requestContext = new RequestContext();
224                 HashMap<String, String> userParams = new HashMap<String, String>();
225                 userParams.put("key1", "value2");
226                 requestContext.setMsoRequestId("requestId");
227                 requestContext.setUserParams(userParams);
228                 requestContext.setProductFamilyId("productFamilyId");
229
230                 GenericVnf vnf = new GenericVnf();
231                 vnf.setVnfId("vnfId");
232                 vnf.setVnfType("vnfType");
233                 vnf.setVnfName("vnfName");
234                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
235                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
236                 modelInfoGenericVnf.setModelName("vnfModelName");
237                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
238                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
239                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
240                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
241
242                 Integer vfModuleIndex = 1;
243                 VfModule vfModule = new VfModule();
244                 vfModule.setVfModuleId("vfModuleId");
245                 vfModule.setVfModuleName("vfModuleName");
246                 vfModule.setModuleIndex(vfModuleIndex);
247                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
248                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
249                 modelInfoVfModule.setModelName("vfModuleModelName");
250                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
251                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
252                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
253                 vfModule.setModelInfoVfModule(modelInfoVfModule);
254                 
255                 VfModule baseVfModule = new VfModule();
256                 baseVfModule.setVfModuleId("baseVfModuleId");
257                 baseVfModule.setHeatStackId("baseVfModuleStackId");
258                 ModelInfoVfModule baseModelInfoVfModule = new ModelInfoVfModule();
259                 baseModelInfoVfModule.setIsBaseBoolean(true);
260                 baseVfModule.setModelInfoVfModule(baseModelInfoVfModule);       
261                 vnf.getVfModules().add(baseVfModule);           
262
263                 CloudRegion cloudRegion = new CloudRegion();
264                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
265                 cloudRegion.setTenantId("tenantId");
266
267                 OrchestrationContext orchestrationContext = new OrchestrationContext();
268                 orchestrationContext.setIsRollbackEnabled(false);
269
270                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopology.json")));
271                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
272
273                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
274                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
275                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
276
277
278                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleAddonRequest.json")));
279
280                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
281                                 jsonToCompare,
282                                 CreateVfModuleRequest.class);
283
284                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
285         }
286         
287         @Test
288         public void createVfModuleWithVolumeGroupRequestMapperTest() throws Exception {
289
290                 // prepare and set service instance
291                 ServiceInstance serviceInstance = new ServiceInstance();
292                 serviceInstance.setServiceInstanceId("serviceInstanceId");
293                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
294                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
295                 modelInfoServiceInstance.setModelName("serviceModelName");
296                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
297                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
298                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
299                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
300                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
301
302                 //
303                 RequestContext requestContext = new RequestContext();
304                 HashMap<String, String> userParams = new HashMap<String, String>();
305                 userParams.put("key1", "value2");
306                 requestContext.setMsoRequestId("requestId");
307                 requestContext.setUserParams(userParams);
308                 requestContext.setProductFamilyId("productFamilyId");
309
310                 GenericVnf vnf = new GenericVnf();
311                 vnf.setVnfId("vnfId");
312                 vnf.setVnfType("vnfType");
313                 vnf.setVnfName("vnfName");
314                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
315                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
316                 modelInfoGenericVnf.setModelName("vnfModelName");
317                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
318                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
319                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
320                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
321
322                 Integer vfModuleIndex = 1;
323                 VfModule vfModule = new VfModule();
324                 vfModule.setVfModuleId("vfModuleId");
325                 vfModule.setVfModuleName("vfModuleName");
326                 vfModule.setModuleIndex(vfModuleIndex);
327                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
328                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
329                 modelInfoVfModule.setModelName("vfModuleModelName");
330                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
331                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
332                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
333                 vfModule.setModelInfoVfModule(modelInfoVfModule);
334                 
335                 VolumeGroup volumeGroup = new VolumeGroup();
336                 volumeGroup.setVolumeGroupId("volumeGroupId");
337                 volumeGroup.setHeatStackId("volumeGroupStackId");               
338
339                 CloudRegion cloudRegion = new CloudRegion();
340                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
341                 cloudRegion.setTenantId("tenantId");
342
343                 OrchestrationContext orchestrationContext = new OrchestrationContext();
344                 orchestrationContext.setIsRollbackEnabled(false);
345
346                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopology.json")));
347                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
348
349                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
350                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
351                                 vnf, vfModule, volumeGroup, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
352
353
354                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleWithVolumeGroupRequest.json")));
355
356                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
357                                 jsonToCompare,
358                                 CreateVfModuleRequest.class);
359
360                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
361         }
362         
363         @Test
364         public void createVfModuleWithSingleAvailabilityZoneRequestMapperTest() throws Exception {
365
366                 // prepare and set service instance
367                 ServiceInstance serviceInstance = new ServiceInstance();
368                 serviceInstance.setServiceInstanceId("serviceInstanceId");
369                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
370                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
371                 modelInfoServiceInstance.setModelName("serviceModelName");
372                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
373                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
374                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
375                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
376                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
377
378                 RequestContext requestContext = new RequestContext();
379                 HashMap<String, String> userParams = new HashMap<String, String>();
380                 userParams.put("key1", "value2");
381                 requestContext.setMsoRequestId("requestId");
382                 requestContext.setUserParams(userParams);
383                 requestContext.setProductFamilyId("productFamilyId");
384
385                 GenericVnf vnf = new GenericVnf();
386                 vnf.setVnfId("vnfId");
387                 vnf.setVnfType("vnfType");
388                 vnf.setVnfName("vnfName");
389                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
390                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
391                 modelInfoGenericVnf.setModelName("vnfModelName");
392                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
393                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
394                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
395                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
396
397                 Integer vfModuleIndex = 1;
398                 VfModule vfModule = new VfModule();
399                 vfModule.setVfModuleId("vfModuleId");
400                 vfModule.setVfModuleName("vfModuleName");
401                 vfModule.setModuleIndex(vfModuleIndex);
402                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
403                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
404                 modelInfoVfModule.setModelName("vfModuleModelName");
405                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
406                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
407                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
408                 vfModule.setModelInfoVfModule(modelInfoVfModule);
409
410                 CloudRegion cloudRegion = new CloudRegion();
411                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
412                 cloudRegion.setTenantId("tenantId");
413
414                 OrchestrationContext orchestrationContext = new OrchestrationContext();
415                 orchestrationContext.setIsRollbackEnabled(false);
416
417                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopologyWithSingletonArray.json")));
418                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
419
420                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
421                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
422                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
423
424
425                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleRequestWithSingleAvailabilityZone.json")));
426
427                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
428                                 jsonToCompare,
429                                 CreateVfModuleRequest.class);
430
431                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
432         }
433
434         @Test
435         public void createVfModuleRequestMapperWithCloudResourcesTest() throws Exception {
436
437                 // prepare and set service instance
438                 ServiceInstance serviceInstance = new ServiceInstance();
439                 serviceInstance.setServiceInstanceId("serviceInstanceId");
440                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
441                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
442                 modelInfoServiceInstance.setModelName("serviceModelName");
443                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
444                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
445                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
446                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
447                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
448
449                 RequestContext requestContext = new RequestContext();
450                 HashMap<String, String> userParams = new HashMap<String, String>();
451                 userParams.put("key1", "value1");
452                 requestContext.setMsoRequestId("requestId");
453                 requestContext.setUserParams(userParams);
454                 requestContext.setProductFamilyId("productFamilyId");
455
456                 GenericVnf vnf = new GenericVnf();
457                 vnf.setVnfId("vnfId");
458                 vnf.setVnfType("vnfType");
459                 vnf.setVnfName("vnfName");
460                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
461                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
462                 modelInfoGenericVnf.setModelName("vnfModelName");
463                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
464                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
465                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
466                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
467
468                 Integer vfModuleIndex = 1;
469                 VfModule vfModule = new VfModule();
470                 vfModule.setVfModuleId("vfModuleId");
471                 vfModule.setVfModuleName("vfModuleName");
472                 vfModule.setModuleIndex(vfModuleIndex);
473                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
474                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
475                 modelInfoVfModule.setModelName("vfModuleModelName");
476                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
477                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
478                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
479                 vfModule.setModelInfoVfModule(modelInfoVfModule);
480
481                 CloudRegion cloudRegion = new CloudRegion();
482                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
483                 cloudRegion.setTenantId("tenantId");
484
485                 OrchestrationContext orchestrationContext = new OrchestrationContext();
486                 orchestrationContext.setIsRollbackEnabled(false);
487
488                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopologyWithCloudResources.json")));
489                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopologyWithCloudResources.json")));
490
491                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
492                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
493                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
494
495
496                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleRequestWithCloudResources.json")));
497
498                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
499                                 jsonToCompare,
500                                 CreateVfModuleRequest.class);
501
502                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
503         }
504
505         @Test
506         public void createVfModuleRequestMapperDhcpDisabledTest() throws Exception {
507                 // prepare and set service instance
508                 ServiceInstance serviceInstance = new ServiceInstance();
509                 serviceInstance.setServiceInstanceId("serviceInstanceId");
510                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
511                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
512                 modelInfoServiceInstance.setModelName("serviceModelName");
513                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
514                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
515                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
516                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
517                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
518
519                 RequestContext requestContext = new RequestContext();
520                 HashMap<String, String> userParams = new HashMap<String, String>();
521                 userParams.put("key1", "value1");
522                 requestContext.setMsoRequestId("requestId");
523                 requestContext.setUserParams(userParams);
524                 requestContext.setProductFamilyId("productFamilyId");
525
526                 GenericVnf vnf = new GenericVnf();
527                 vnf.setVnfId("vnfId");
528                 vnf.setVnfType("vnfType");
529                 vnf.setVnfName("vnfName");
530                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
531                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
532                 modelInfoGenericVnf.setModelName("vnfModelName");
533                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
534                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
535                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
536                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
537
538                 Integer vfModuleIndex = 1;
539                 VfModule vfModule = new VfModule();
540                 vfModule.setVfModuleId("vfModuleId");
541                 vfModule.setVfModuleName("vfModuleName");
542                 vfModule.setModuleIndex(vfModuleIndex);
543                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
544                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
545                 modelInfoVfModule.setModelName("vfModuleModelName");
546                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
547                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
548                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
549                 vfModule.setModelInfoVfModule(modelInfoVfModule);
550
551                 CloudRegion cloudRegion = new CloudRegion();
552                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
553                 cloudRegion.setTenantId("tenantId");
554
555                 OrchestrationContext orchestrationContext = new OrchestrationContext();
556                 orchestrationContext.setIsRollbackEnabled(false);
557
558                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopologySubnetDhcpDisabled.json")));
559                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
560
561                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
562                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
563                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
564
565
566                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleRequestDhcpDisabled.json")));
567
568                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
569                                 jsonToCompare,
570                                 CreateVfModuleRequest.class);
571
572                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
573         }
574
575         @Test
576         public void createVfModuleRequestMapperMultipleDhcpTest() throws Exception {
577                 // prepare and set service instance
578                 ServiceInstance serviceInstance = new ServiceInstance();
579                 serviceInstance.setServiceInstanceId("serviceInstanceId");
580                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
581                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
582                 modelInfoServiceInstance.setModelName("serviceModelName");
583                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
584                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
585                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
586                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
587                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
588
589                 RequestContext requestContext = new RequestContext();
590                 HashMap<String, String> userParams = new HashMap<String, String>();
591                 userParams.put("key1", "value1");
592                 requestContext.setMsoRequestId("requestId");
593                 requestContext.setUserParams(userParams);
594                 requestContext.setProductFamilyId("productFamilyId");
595
596                 GenericVnf vnf = new GenericVnf();
597                 vnf.setVnfId("vnfId");
598                 vnf.setVnfType("vnfType");
599                 vnf.setVnfName("vnfName");
600                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
601                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
602                 modelInfoGenericVnf.setModelName("vnfModelName");
603                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
604                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
605                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
606                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
607
608                 Integer vfModuleIndex = 1;
609                 VfModule vfModule = new VfModule();
610                 vfModule.setVfModuleId("vfModuleId");
611                 vfModule.setVfModuleName("vfModuleName");
612                 vfModule.setModuleIndex(vfModuleIndex);
613                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
614                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
615                 modelInfoVfModule.setModelName("vfModuleModelName");
616                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
617                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
618                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
619                 vfModule.setModelInfoVfModule(modelInfoVfModule);
620
621                 CloudRegion cloudRegion = new CloudRegion();
622                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
623                 cloudRegion.setTenantId("tenantId");
624
625                 OrchestrationContext orchestrationContext = new OrchestrationContext();
626                 orchestrationContext.setIsRollbackEnabled(false);
627
628                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopologySubnetMultipleDhcp.json")));
629                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
630
631                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
632                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
633                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
634
635
636                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleRequestMultipleDhcp.json")));
637
638                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
639                                 jsonToCompare,
640                                 CreateVfModuleRequest.class);
641
642                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
643         }
644         
645         @Test
646         public void createVfModuleRequestMapperWithNullUserParamsTest() throws Exception {
647
648                 // prepare and set service instance
649                 ServiceInstance serviceInstance = new ServiceInstance();
650                 serviceInstance.setServiceInstanceId("serviceInstanceId");
651                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
652                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
653                 modelInfoServiceInstance.setModelName("serviceModelName");
654                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
655                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
656                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
657                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
658                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
659
660                 RequestContext requestContext = new RequestContext();           
661                 requestContext.setMsoRequestId("requestId");            
662                 requestContext.setProductFamilyId("productFamilyId");
663
664                 GenericVnf vnf = new GenericVnf();
665                 vnf.setVnfId("vnfId");
666                 vnf.setVnfType("vnfType");
667                 vnf.setVnfName("vnfName");
668                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
669                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
670                 modelInfoGenericVnf.setModelName("vnfModelName");
671                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
672                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
673                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
674                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
675
676                 Integer vfModuleIndex = 1;
677                 VfModule vfModule = new VfModule();
678                 vfModule.setVfModuleId("vfModuleId");
679                 vfModule.setVfModuleName("vfModuleName");
680                 vfModule.setModuleIndex(vfModuleIndex);
681                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
682                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
683                 modelInfoVfModule.setModelName("vfModuleModelName");
684                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
685                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
686                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
687                 vfModule.setModelInfoVfModule(modelInfoVfModule);
688
689                 CloudRegion cloudRegion = new CloudRegion();
690                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
691                 cloudRegion.setTenantId("tenantId");
692
693                 OrchestrationContext orchestrationContext = new OrchestrationContext();
694                 orchestrationContext.setIsRollbackEnabled(false);
695
696                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopology.json")));
697                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
698
699                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
700                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
701                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
702
703
704                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleRequestNoUserParams.json")));
705
706                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
707                                 jsonToCompare,
708                                 CreateVfModuleRequest.class);
709
710                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
711         }
712
713         @Test
714         public void DeleteVfModuleRequestMapperTest() throws Exception {
715                 ServiceInstance serviceInstance = new ServiceInstance();
716                 serviceInstance.setServiceInstanceId("serviceInstanceId");
717                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
718                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
719                 modelInfoServiceInstance.setModelName("serviceModelName");
720                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
721                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
722                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
723                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
724                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
725                 
726                 RequestContext requestContext = new RequestContext();
727                 HashMap<String, String> userParams = new HashMap<String, String>();
728                 userParams.put("key1", "value1");
729                 requestContext.setMsoRequestId("requestId");
730                 requestContext.setUserParams(userParams);
731                 requestContext.setProductFamilyId("productFamilyId");
732
733                 GenericVnf vnf = new GenericVnf();
734                 vnf.setVnfId("vnfId");
735                 vnf.setVnfType("vnfType");
736                 vnf.setVnfName("vnfName");
737                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
738                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
739                 modelInfoGenericVnf.setModelName("vnfModelName");
740                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
741                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
742                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
743                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
744
745                 VfModule vfModule = new VfModule();
746                 vfModule.setVfModuleId("vfModuleId");
747                 vfModule.setVfModuleName("vfModuleName");
748                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
749                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
750                 modelInfoVfModule.setModelName("vfModuleModelName");
751                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
752                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
753                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
754                 vfModule.setModelInfoVfModule(modelInfoVfModule);
755
756                 CloudRegion cloudRegion = new CloudRegion();
757                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
758                 cloudRegion.setTenantId("tenantId");
759
760                 OrchestrationContext orchestrationContext = new OrchestrationContext();
761                 orchestrationContext.setIsRollbackEnabled(false);
762
763                 DeleteVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.deleteVfModuleRequestMapper(
764                                 requestContext, cloudRegion, serviceInstance,
765                                 vnf, vfModule);
766
767
768                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterDeleteVfModuleRequest.json")));
769
770                                 DeleteVfModuleRequest reqMapper1 = omapper.readValue(
771                                 jsonToCompare,
772                                 DeleteVfModuleRequest.class);
773
774                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
775         }
776         
777         @Test
778         public void networkCloudParamsTest() throws IOException {
779                 
780                 String json = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "grApiVmNetworkSubSectionWith5GParams.json")));
781                 GenericResourceApiVmNetworkData network = omapper.readValue(json, GenericResourceApiVmNetworkData.class);
782                 Map<String, String> paramsMap = new HashMap<>();
783                 vfModuleObjectMapper.buildVlanInformation(paramsMap, network, "testKey", "testType");
784                 
785                 assertEquals("1,3", paramsMap.get("testKey_testType_private_vlans"));
786                 assertEquals("2,3", paramsMap.get("testKey_testType_public_vlans"));
787                 assertEquals("1,2,3", paramsMap.get("testKey_testType_guest_vlans"));
788                 assertEquals("my-segemntation-id", paramsMap.get("testKey_testType_vlan_filter"));
789         }
790 }