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