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