0c9e281fc74d3b09d0f3bed5257767282d80e405
[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                 HashMap<String, String> cloudParams = new HashMap<String, String>();
107                 cloudParams.put("key3", "value3");
108                 vfModule.setCloudParams(cloudParams);
109
110                 CloudRegion cloudRegion = new CloudRegion();
111                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
112                 cloudRegion.setTenantId("tenantId");
113
114                 OrchestrationContext orchestrationContext = new OrchestrationContext();
115                 orchestrationContext.setIsRollbackEnabled(false);
116
117                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopology.json")));
118                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
119
120                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
121                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
122                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
123
124
125                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleRequest.json")));
126
127                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
128                                 jsonToCompare,
129                                 CreateVfModuleRequest.class);
130
131                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
132         }
133         
134         @Test
135         public void createVfModuleRequestWithNoEnvironmentAndWorkloadContextMapperTest() throws Exception {
136
137                 // prepare and set service instance
138                 ServiceInstance serviceInstance = new ServiceInstance();
139                 serviceInstance.setServiceInstanceId("serviceInstanceId");
140                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
141                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
142                 modelInfoServiceInstance.setModelName("serviceModelName");
143                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
144                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
145                 modelInfoServiceInstance.setEnvironmentContext(null);           
146                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
147                 
148                 RequestContext requestContext = new RequestContext();
149                 HashMap<String, String> userParams = new HashMap<String, String>();
150                 userParams.put("key1", "value2");
151                 requestContext.setMsoRequestId("requestId");
152                 requestContext.setUserParams(userParams);
153                 requestContext.setProductFamilyId("productFamilyId");
154
155                 GenericVnf vnf = new GenericVnf();
156                 vnf.setVnfId("vnfId");
157                 vnf.setVnfType("vnfType");
158                 vnf.setVnfName("vnfName");
159                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
160                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
161                 modelInfoGenericVnf.setModelName("vnfModelName");
162                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
163                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
164                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
165                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
166
167                 Integer vfModuleIndex = 1;
168                 VfModule vfModule = new VfModule();
169                 vfModule.setVfModuleId("vfModuleId");
170                 vfModule.setVfModuleName("vfModuleName");
171                 vfModule.setModuleIndex(vfModuleIndex);
172                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
173                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
174                 modelInfoVfModule.setModelName("vfModuleModelName");
175                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
176                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
177                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
178                 vfModule.setModelInfoVfModule(modelInfoVfModule);
179
180                 CloudRegion cloudRegion = new CloudRegion();
181                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
182                 cloudRegion.setTenantId("tenantId");
183
184                 OrchestrationContext orchestrationContext = new OrchestrationContext();
185                 orchestrationContext.setIsRollbackEnabled(false);
186
187                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopology.json")));
188                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
189
190                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
191                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
192                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
193
194
195                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleWithNoEnvironmentAndWorkloadContextRequest.json")));
196
197                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
198                                 jsonToCompare,
199                                 CreateVfModuleRequest.class);
200
201                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
202         }
203         
204         @Test
205         public void createVfModuleAddonRequestMapperTest() throws Exception {
206
207                 // prepare and set service instance
208                 ServiceInstance serviceInstance = new ServiceInstance();
209                 serviceInstance.setServiceInstanceId("serviceInstanceId");
210                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
211                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
212                 modelInfoServiceInstance.setModelName("serviceModelName");
213                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
214                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
215                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
216                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
217                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
218
219                 //
220                 RequestContext requestContext = new RequestContext();
221                 HashMap<String, String> userParams = new HashMap<String, String>();
222                 userParams.put("key1", "value2");
223                 requestContext.setMsoRequestId("requestId");
224                 requestContext.setUserParams(userParams);
225                 requestContext.setProductFamilyId("productFamilyId");
226
227                 GenericVnf vnf = new GenericVnf();
228                 vnf.setVnfId("vnfId");
229                 vnf.setVnfType("vnfType");
230                 vnf.setVnfName("vnfName");
231                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
232                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
233                 modelInfoGenericVnf.setModelName("vnfModelName");
234                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
235                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
236                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
237                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
238
239                 Integer vfModuleIndex = 1;
240                 VfModule vfModule = new VfModule();
241                 vfModule.setVfModuleId("vfModuleId");
242                 vfModule.setVfModuleName("vfModuleName");
243                 vfModule.setModuleIndex(vfModuleIndex);
244                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
245                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
246                 modelInfoVfModule.setModelName("vfModuleModelName");
247                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
248                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
249                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
250                 vfModule.setModelInfoVfModule(modelInfoVfModule);
251                 
252                 VfModule baseVfModule = new VfModule();
253                 baseVfModule.setVfModuleId("baseVfModuleId");
254                 baseVfModule.setHeatStackId("baseVfModuleStackId");
255                 ModelInfoVfModule baseModelInfoVfModule = new ModelInfoVfModule();
256                 baseModelInfoVfModule.setIsBaseBoolean(true);
257                 baseVfModule.setModelInfoVfModule(baseModelInfoVfModule);       
258                 vnf.getVfModules().add(baseVfModule);           
259
260                 CloudRegion cloudRegion = new CloudRegion();
261                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
262                 cloudRegion.setTenantId("tenantId");
263
264                 OrchestrationContext orchestrationContext = new OrchestrationContext();
265                 orchestrationContext.setIsRollbackEnabled(false);
266
267                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopology.json")));
268                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
269
270                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
271                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
272                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
273
274
275                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleAddonRequest.json")));
276
277                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
278                                 jsonToCompare,
279                                 CreateVfModuleRequest.class);
280
281                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
282         }
283         
284         @Test
285         public void createVfModuleWithVolumeGroupRequestMapperTest() throws Exception {
286
287                 // prepare and set service instance
288                 ServiceInstance serviceInstance = new ServiceInstance();
289                 serviceInstance.setServiceInstanceId("serviceInstanceId");
290                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
291                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
292                 modelInfoServiceInstance.setModelName("serviceModelName");
293                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
294                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
295                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
296                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
297                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
298
299                 //
300                 RequestContext requestContext = new RequestContext();
301                 HashMap<String, String> userParams = new HashMap<String, String>();
302                 userParams.put("key1", "value2");
303                 requestContext.setMsoRequestId("requestId");
304                 requestContext.setUserParams(userParams);
305                 requestContext.setProductFamilyId("productFamilyId");
306
307                 GenericVnf vnf = new GenericVnf();
308                 vnf.setVnfId("vnfId");
309                 vnf.setVnfType("vnfType");
310                 vnf.setVnfName("vnfName");
311                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
312                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
313                 modelInfoGenericVnf.setModelName("vnfModelName");
314                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
315                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
316                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
317                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
318
319                 Integer vfModuleIndex = 1;
320                 VfModule vfModule = new VfModule();
321                 vfModule.setVfModuleId("vfModuleId");
322                 vfModule.setVfModuleName("vfModuleName");
323                 vfModule.setModuleIndex(vfModuleIndex);
324                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
325                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
326                 modelInfoVfModule.setModelName("vfModuleModelName");
327                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
328                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
329                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
330                 vfModule.setModelInfoVfModule(modelInfoVfModule);
331                 
332                 VolumeGroup volumeGroup = new VolumeGroup();
333                 volumeGroup.setVolumeGroupId("volumeGroupId");
334                 volumeGroup.setHeatStackId("volumeGroupStackId");               
335
336                 CloudRegion cloudRegion = new CloudRegion();
337                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
338                 cloudRegion.setTenantId("tenantId");
339
340                 OrchestrationContext orchestrationContext = new OrchestrationContext();
341                 orchestrationContext.setIsRollbackEnabled(false);
342
343                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopology.json")));
344                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
345
346                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
347                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
348                                 vnf, vfModule, volumeGroup, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
349
350
351                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleWithVolumeGroupRequest.json")));
352
353                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
354                                 jsonToCompare,
355                                 CreateVfModuleRequest.class);
356
357                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
358         }
359         
360         @Test
361         public void createVfModuleWithSingleAvailabilityZoneRequestMapperTest() throws Exception {
362
363                 // prepare and set service instance
364                 ServiceInstance serviceInstance = new ServiceInstance();
365                 serviceInstance.setServiceInstanceId("serviceInstanceId");
366                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
367                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
368                 modelInfoServiceInstance.setModelName("serviceModelName");
369                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
370                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
371                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
372                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
373                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
374
375                 RequestContext requestContext = new RequestContext();
376                 HashMap<String, String> userParams = new HashMap<String, String>();
377                 userParams.put("key1", "value2");
378                 requestContext.setMsoRequestId("requestId");
379                 requestContext.setUserParams(userParams);
380                 requestContext.setProductFamilyId("productFamilyId");
381
382                 GenericVnf vnf = new GenericVnf();
383                 vnf.setVnfId("vnfId");
384                 vnf.setVnfType("vnfType");
385                 vnf.setVnfName("vnfName");
386                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
387                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
388                 modelInfoGenericVnf.setModelName("vnfModelName");
389                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
390                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
391                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
392                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
393
394                 Integer vfModuleIndex = 1;
395                 VfModule vfModule = new VfModule();
396                 vfModule.setVfModuleId("vfModuleId");
397                 vfModule.setVfModuleName("vfModuleName");
398                 vfModule.setModuleIndex(vfModuleIndex);
399                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
400                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
401                 modelInfoVfModule.setModelName("vfModuleModelName");
402                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
403                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
404                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
405                 vfModule.setModelInfoVfModule(modelInfoVfModule);
406
407                 CloudRegion cloudRegion = new CloudRegion();
408                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
409                 cloudRegion.setTenantId("tenantId");
410
411                 OrchestrationContext orchestrationContext = new OrchestrationContext();
412                 orchestrationContext.setIsRollbackEnabled(false);
413
414                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopologyWithSingletonArray.json")));
415                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
416
417                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
418                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
419                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
420
421
422                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleRequestWithSingleAvailabilityZone.json")));
423
424                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
425                                 jsonToCompare,
426                                 CreateVfModuleRequest.class);
427
428                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
429         }
430
431         @Test
432         public void createVfModuleRequestMapperWithCloudResourcesTest() throws Exception {
433
434                 // prepare and set service instance
435                 ServiceInstance serviceInstance = new ServiceInstance();
436                 serviceInstance.setServiceInstanceId("serviceInstanceId");
437                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
438                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
439                 modelInfoServiceInstance.setModelName("serviceModelName");
440                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
441                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
442                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
443                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
444                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
445
446                 RequestContext requestContext = new RequestContext();
447                 HashMap<String, String> userParams = new HashMap<String, String>();
448                 userParams.put("key1", "value1");
449                 requestContext.setMsoRequestId("requestId");
450                 requestContext.setUserParams(userParams);
451                 requestContext.setProductFamilyId("productFamilyId");
452
453                 GenericVnf vnf = new GenericVnf();
454                 vnf.setVnfId("vnfId");
455                 vnf.setVnfType("vnfType");
456                 vnf.setVnfName("vnfName");
457                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
458                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
459                 modelInfoGenericVnf.setModelName("vnfModelName");
460                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
461                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
462                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
463                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
464
465                 Integer vfModuleIndex = 1;
466                 VfModule vfModule = new VfModule();
467                 vfModule.setVfModuleId("vfModuleId");
468                 vfModule.setVfModuleName("vfModuleName");
469                 vfModule.setModuleIndex(vfModuleIndex);
470                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
471                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
472                 modelInfoVfModule.setModelName("vfModuleModelName");
473                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
474                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
475                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
476                 vfModule.setModelInfoVfModule(modelInfoVfModule);
477
478                 CloudRegion cloudRegion = new CloudRegion();
479                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
480                 cloudRegion.setTenantId("tenantId");
481
482                 OrchestrationContext orchestrationContext = new OrchestrationContext();
483                 orchestrationContext.setIsRollbackEnabled(false);
484
485                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopologyWithCloudResources.json")));
486                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopologyWithCloudResources.json")));
487
488                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
489                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
490                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
491
492
493                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleRequestWithCloudResources.json")));
494
495                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
496                                 jsonToCompare,
497                                 CreateVfModuleRequest.class);
498
499                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
500         }
501
502         @Test
503         public void createVfModuleRequestMapperDhcpDisabledTest() throws Exception {
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                 HashMap<String, String> userParams = new HashMap<String, String>();
518                 userParams.put("key1", "value1");
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(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopologySubnetDhcpDisabled.json")));
556                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
557
558                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
559                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
560                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
561
562
563                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleRequestDhcpDisabled.json")));
564
565                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
566                                 jsonToCompare,
567                                 CreateVfModuleRequest.class);
568
569                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
570         }
571
572         @Test
573         public void createVfModuleRequestMapperMultipleDhcpTest() throws Exception {
574                 // prepare and set service instance
575                 ServiceInstance serviceInstance = new ServiceInstance();
576                 serviceInstance.setServiceInstanceId("serviceInstanceId");
577                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
578                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
579                 modelInfoServiceInstance.setModelName("serviceModelName");
580                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
581                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
582                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
583                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
584                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
585
586                 RequestContext requestContext = new RequestContext();
587                 HashMap<String, String> userParams = new HashMap<String, String>();
588                 userParams.put("key1", "value1");
589                 requestContext.setMsoRequestId("requestId");
590                 requestContext.setUserParams(userParams);
591                 requestContext.setProductFamilyId("productFamilyId");
592
593                 GenericVnf vnf = new GenericVnf();
594                 vnf.setVnfId("vnfId");
595                 vnf.setVnfType("vnfType");
596                 vnf.setVnfName("vnfName");
597                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
598                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
599                 modelInfoGenericVnf.setModelName("vnfModelName");
600                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
601                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
602                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
603                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
604
605                 Integer vfModuleIndex = 1;
606                 VfModule vfModule = new VfModule();
607                 vfModule.setVfModuleId("vfModuleId");
608                 vfModule.setVfModuleName("vfModuleName");
609                 vfModule.setModuleIndex(vfModuleIndex);
610                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
611                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
612                 modelInfoVfModule.setModelName("vfModuleModelName");
613                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
614                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
615                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
616                 vfModule.setModelInfoVfModule(modelInfoVfModule);
617
618                 CloudRegion cloudRegion = new CloudRegion();
619                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
620                 cloudRegion.setTenantId("tenantId");
621
622                 OrchestrationContext orchestrationContext = new OrchestrationContext();
623                 orchestrationContext.setIsRollbackEnabled(false);
624
625                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopologySubnetMultipleDhcp.json")));
626                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
627
628                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
629                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
630                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
631
632
633                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleRequestMultipleDhcp.json")));
634
635                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
636                                 jsonToCompare,
637                                 CreateVfModuleRequest.class);
638
639                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
640         }
641         
642         @Test
643         public void createVfModuleRequestMapperWithNullUserParamsTest() throws Exception {
644
645                 // prepare and set service instance
646                 ServiceInstance serviceInstance = new ServiceInstance();
647                 serviceInstance.setServiceInstanceId("serviceInstanceId");
648                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
649                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
650                 modelInfoServiceInstance.setModelName("serviceModelName");
651                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
652                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
653                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
654                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
655                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
656
657                 RequestContext requestContext = new RequestContext();           
658                 requestContext.setMsoRequestId("requestId");            
659                 requestContext.setProductFamilyId("productFamilyId");
660
661                 GenericVnf vnf = new GenericVnf();
662                 vnf.setVnfId("vnfId");
663                 vnf.setVnfType("vnfType");
664                 vnf.setVnfName("vnfName");
665                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
666                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
667                 modelInfoGenericVnf.setModelName("vnfModelName");
668                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
669                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
670                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
671                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
672
673                 Integer vfModuleIndex = 1;
674                 VfModule vfModule = new VfModule();
675                 vfModule.setVfModuleId("vfModuleId");
676                 vfModule.setVfModuleName("vfModuleName");
677                 vfModule.setModuleIndex(vfModuleIndex);
678                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
679                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
680                 modelInfoVfModule.setModelName("vfModuleModelName");
681                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
682                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
683                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
684                 vfModule.setModelInfoVfModule(modelInfoVfModule);
685
686                 CloudRegion cloudRegion = new CloudRegion();
687                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
688                 cloudRegion.setTenantId("tenantId");
689
690                 OrchestrationContext orchestrationContext = new OrchestrationContext();
691                 orchestrationContext.setIsRollbackEnabled(false);
692
693                 String sdncVnfQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVnfTopology.json")));
694                 String sdncVfModuleQueryResponse = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "genericResourceApiVfModuleSdncVfModuleTopology.json")));
695
696                 CreateVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.createVfModuleRequestMapper(
697                                 requestContext, cloudRegion, orchestrationContext, serviceInstance,
698                                 vnf, vfModule, null, sdncVnfQueryResponse, sdncVfModuleQueryResponse);
699
700
701                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterCreateVfModuleRequestNoUserParams.json")));
702
703                                 CreateVfModuleRequest reqMapper1 = omapper.readValue(
704                                 jsonToCompare,
705                                 CreateVfModuleRequest.class);
706
707                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
708         }
709
710         @Test
711         public void DeleteVfModuleRequestMapperTest() throws Exception {
712                 ServiceInstance serviceInstance = new ServiceInstance();
713                 serviceInstance.setServiceInstanceId("serviceInstanceId");
714                 ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
715                 modelInfoServiceInstance.setModelInvariantUuid("serviceModelInvariantUuid");
716                 modelInfoServiceInstance.setModelName("serviceModelName");
717                 modelInfoServiceInstance.setModelUuid("serviceModelUuid");
718                 modelInfoServiceInstance.setModelVersion("serviceModelVersion");
719                 modelInfoServiceInstance.setEnvironmentContext("environmentContext");
720                 modelInfoServiceInstance.setWorkloadContext("workloadContext");
721                 serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
722                 
723                 RequestContext requestContext = new RequestContext();
724                 HashMap<String, String> userParams = new HashMap<String, String>();
725                 userParams.put("key1", "value1");
726                 requestContext.setMsoRequestId("requestId");
727                 requestContext.setUserParams(userParams);
728                 requestContext.setProductFamilyId("productFamilyId");
729
730                 GenericVnf vnf = new GenericVnf();
731                 vnf.setVnfId("vnfId");
732                 vnf.setVnfType("vnfType");
733                 vnf.setVnfName("vnfName");
734                 ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
735                 modelInfoGenericVnf.setModelInvariantUuid("vnfModelInvariantUuid");
736                 modelInfoGenericVnf.setModelName("vnfModelName");
737                 modelInfoGenericVnf.setModelVersion("vnfModelVersion");
738                 modelInfoGenericVnf.setModelUuid("vnfModelUuid");
739                 modelInfoGenericVnf.setModelCustomizationUuid("vnfModelCustomizationUuid");
740                 vnf.setModelInfoGenericVnf(modelInfoGenericVnf);
741
742                 VfModule vfModule = new VfModule();
743                 vfModule.setVfModuleId("vfModuleId");
744                 vfModule.setVfModuleName("vfModuleName");
745                 ModelInfoVfModule modelInfoVfModule = new ModelInfoVfModule();
746                 modelInfoVfModule.setModelInvariantUUID("vfModuleModelInvariantUuid");
747                 modelInfoVfModule.setModelName("vfModuleModelName");
748                 modelInfoVfModule.setModelVersion("vfModuleModelVersion");
749                 modelInfoVfModule.setModelUUID("vfModuleModelUuid");
750                 modelInfoVfModule.setModelCustomizationUUID("vfModuleModelCustomizationUuid");
751                 vfModule.setModelInfoVfModule(modelInfoVfModule);
752
753                 CloudRegion cloudRegion = new CloudRegion();
754                 cloudRegion.setLcpCloudRegionId("cloudRegionId");
755                 cloudRegion.setTenantId("tenantId");
756
757                 OrchestrationContext orchestrationContext = new OrchestrationContext();
758                 orchestrationContext.setIsRollbackEnabled(false);
759
760                 DeleteVfModuleRequest vfModuleVNFAdapterRequest = vfModuleObjectMapper.deleteVfModuleRequestMapper(
761                                 requestContext, cloudRegion, serviceInstance,
762                                 vnf, vfModule);
763
764
765                 String jsonToCompare = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "vnfAdapterDeleteVfModuleRequest.json")));
766
767                                 DeleteVfModuleRequest reqMapper1 = omapper.readValue(
768                                 jsonToCompare,
769                                 DeleteVfModuleRequest.class);
770
771                 assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl"));
772         }
773 }