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