Containerization feature of SO
[so.git] / adapters / mso-openstack-adapters / src / test / java / org / onap / so / adapters / network / MSONetworkAdapterImplTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 - 2018 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.adapters.network;
22
23 import org.apache.http.HttpStatus;
24 import org.junit.Test;
25 import org.onap.so.adapters.vnf.BaseRestTestUtils;
26 import org.onap.so.cloud.CloudConfig;
27 import org.springframework.beans.factory.annotation.Autowired;
28 import org.springframework.http.HttpEntity;
29 import org.springframework.http.HttpMethod;
30 import org.springframework.http.ResponseEntity;
31 import org.springframework.web.util.UriComponentsBuilder;
32
33 import javax.ws.rs.core.MediaType;
34 import javax.ws.rs.core.Response;
35 import java.io.IOException;
36 import java.nio.file.Files;
37 import java.nio.file.Paths;
38
39 import static org.junit.Assert.assertEquals;
40 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackDeleteNeutronNetwork;
41 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackDeleteStack_200;
42 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackDeleteStack_500;
43 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackGetAllNeutronNetworks_200;
44 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackGetAllNeutronNetworks_404;
45 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackGetNeutronNetwork;
46 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackGetNeutronNetwork_404;
47 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackGetStackCreated_200;
48 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackGetStackDeleteOrUpdateComplete_200;
49 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackGetStack_404;
50 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackGetStack_500;
51 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackPostNeutronNetwork_200;
52 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackPostStack_200;
53 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackPutNeutronNetwork;
54 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackPutNeutronNetwork_200;
55 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackPutStack;
56 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenStackResponseAccess;
57 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenstackGet;
58 import static org.onap.so.bpmn.mock.StubOpenStack.mockOpenstackPost;
59
60 public class MSONetworkAdapterImplTest extends BaseRestTestUtils {
61
62         public static final String NETWORK_ID = "43173f6a-d699-414b-888f-ab243dda6dfe";
63         public static final String NETWORK_NAME = "vUSP-23804-T-01-dpa2b_EVUSP-CORE-VIF-TSIG0_net_0";
64
65         @Autowired
66         private CloudConfig cloudConfig;
67
68         @Test
69         public void createNetworkByModelNameNeutronModeGetNetworkException() throws IOException{
70
71                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
72
73                 mockOpenStackResponseAccess(wireMockPort);
74
75                 mockOpenstackGet("/mockPublicUrl/v2.0/networks",HttpStatus.SC_INTERNAL_SERVER_ERROR);
76
77                 String uri =  "/services/NetworkAdapter";
78                 headers.set("X-ECOMP-RequestID", "123456789456127");
79                 ResponseEntity<String> response = sendXMLRequest(inputStream("/CreateNetwork_NEUTRON_Mode.xml"), uri, HttpMethod.POST);
80                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
81         }
82
83         @Test
84         public void createNetworkByModelNameNeutronModeCreateNetworkException() throws IOException{
85
86                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
87
88                 mockOpenStackResponseAccess(wireMockPort);
89
90                 mockOpenStackGetNeutronNetwork_404("dvspg-VCE_VPE-mtjnj40avbc");
91
92                 mockOpenStackGetAllNeutronNetworks_404();
93
94                 mockOpenstackPost("/mockPublicUrl/v2.0/networks", HttpStatus.SC_INTERNAL_SERVER_ERROR);
95
96                 String uri =  "/services/NetworkAdapter";
97                 headers.set("X-ECOMP-RequestID", "123456789456127");
98                 ResponseEntity<String> response = sendXMLRequest(inputStream("/CreateNetwork_NEUTRON_Mode.xml"), uri, HttpMethod.POST);
99                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
100         }
101
102         @Test
103         public void createNetworkByModelNameNeutronMode() throws IOException{
104
105                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
106
107                 mockOpenStackResponseAccess(wireMockPort);
108
109                 mockOpenStackGetNeutronNetwork_404("dvspg-VCE_VPE-mtjnj40avbc");
110
111                 mockOpenStackGetAllNeutronNetworks_404();
112
113                 mockOpenStackPostNeutronNetwork_200("OpenstackCreateNeutronNetworkResponse.json");
114
115                 String uri =  "/services/NetworkAdapter";
116                 headers.set("X-ECOMP-RequestID", "123456789456127");
117                 ResponseEntity<String> response = sendXMLRequest(inputStream("/CreateNetwork_NEUTRON_Mode.xml"), uri, HttpMethod.POST);
118                 assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
119         }
120
121         @Test
122         public void createNetworkByModelNameAlreadyExistNeutronMode() throws IOException{
123
124                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
125
126                 mockOpenStackResponseAccess(wireMockPort);
127
128                 mockOpenStackGetAllNeutronNetworks_200("OpenstackGetNeutronNetworks.json");
129
130                 String uri =  "/services/NetworkAdapter";
131                 headers.set("X-ECOMP-RequestID", "123456789456127");
132                 ResponseEntity<String> response = sendXMLRequest(inputStream("/CreateNetwork_NEUTRON_Mode.xml"), uri, HttpMethod.POST);
133                 assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
134         }
135
136         @Test
137         public void createNetworkByModelNameAlreadyExistNeutronModeFailIfExistTrue() throws IOException{
138
139                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
140
141                 mockOpenStackResponseAccess(wireMockPort);
142
143                 mockOpenStackGetAllNeutronNetworks_200("OpenstackGetNeutronNetworks.json");
144
145                 String uri =  "/services/NetworkAdapter";
146                 headers.set("X-ECOMP-RequestID", "123456789456127");
147                 ResponseEntity<String> response = sendXMLRequest(inputStream("/CreateNetwork_NEUTRON_Mode_Fail_If_Exist_True.xml"), uri, HttpMethod.POST);
148                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
149         }
150
151         @Test
152         public void createNetworkByModelNameHeatMode() throws IOException{
153
154                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
155
156                 mockOpenStackResponseAccess(wireMockPort);
157
158                 mockOpenStackGetStack_404("dvspg-VCE_VPE-mtjnj40avbc");
159
160                 mockOpenStackPostStack_200("OpenstackResponse_Stack.json");
161
162                 mockOpenStackGetStackCreated_200("OpenstackResponse_Stack_Created.json", "dvspg-VCE_VPE-mtjnj40avbc/stackId");
163
164                 String uri =  "/services/NetworkAdapter";
165                 headers.set("X-ECOMP-RequestID", "123456789456127");
166                 ResponseEntity<String> response = sendXMLRequest(inputStream("/CreateNetwork.xml"), uri, HttpMethod.POST);
167                 assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
168         }
169
170         @Test
171         public void createNetworkByModelNameAlreadyExistHeatMode() throws IOException{
172
173                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
174
175                 mockOpenStackResponseAccess(wireMockPort);
176
177                 mockOpenStackPostStack_200("OpenstackResponse_Stack.json");
178
179                 mockOpenStackGetStackCreated_200("OpenstackResponse_Stack_Created.json", "dvspg-VCE_VPE-mtjnj40avbc");
180
181                 String uri =  "/services/NetworkAdapter";
182                 headers.set("X-ECOMP-RequestID", "123456789456127");
183                 ResponseEntity<String> response = sendXMLRequest(inputStream("/CreateNetwork.xml"), uri, HttpMethod.POST);
184                 assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
185         }
186
187         @Test
188         public void createNetworkByModelNameAlreadyExistHeatModeFailIfExistTrue() throws IOException{
189
190                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
191
192                 mockOpenStackResponseAccess(wireMockPort);
193
194                 mockOpenStackGetStackCreated_200("OpenstackResponse_Stack_Created.json", "dvspg-VCE_VPE-mtjnj40avbc");
195
196                 String uri =  "/services/NetworkAdapter";
197                 headers.set("X-ECOMP-RequestID", "123456789456127");
198                 ResponseEntity<String> response = sendXMLRequest(inputStream("/CreateNetwork_Fail_If_Exist_True.xml"), uri, HttpMethod.POST);
199                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
200         }
201
202
203         @Test
204         public void createNetworkByModelNameHeatModeQueryNetworkException() throws IOException{
205
206                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
207
208                 mockOpenStackResponseAccess(wireMockPort);
209
210                 mockOpenstackGet("/mockPublicUrl/stacks/dvspg-VCE_VPE-mtjnj40avbc",HttpStatus.SC_INTERNAL_SERVER_ERROR);
211
212                 String uri =  "/services/NetworkAdapter";
213                 headers.set("X-ECOMP-RequestID", "123456789456127");
214                 ResponseEntity<String> response = sendXMLRequest(inputStream("/CreateNetwork.xml"), uri, HttpMethod.POST);
215                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
216         }
217
218         @Test
219         public void createNetworkByModelNameHeatModeCreateNetworkException() throws IOException{
220
221                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
222
223                 mockOpenStackResponseAccess(wireMockPort);
224
225                 mockOpenStackGetStack_404("dvspg-VCE_VPE-mtjnj40avbc");
226
227                 mockOpenstackPost("/mockPublicUrl/stacks",HttpStatus.SC_INTERNAL_SERVER_ERROR);
228
229                 String uri =  "/services/NetworkAdapter";
230                 headers.set("X-ECOMP-RequestID", "123456789456127");
231                 ResponseEntity<String> response = sendXMLRequest(inputStream("/CreateNetwork.xml"), uri, HttpMethod.POST);
232                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
233         }
234
235         @Test
236         public void createNetworkByModelNameCloudSiteNotPresentError() throws IOException{
237
238                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
239
240                 mockOpenStackResponseAccess(wireMockPort);
241
242                 mockOpenStackPostStack_200("OpenstackResponse_Stack.json");
243
244                 mockOpenStackGetStackCreated_200("OpenstackResponse_Stack_Created.json", "dvspg-VCE_VPE-mtjnj40avbc");
245
246                 String uri =  "/services/NetworkAdapter";
247                 headers.set("X-ECOMP-RequestID", "123456789456127");
248                 ResponseEntity<String> response = sendXMLRequest(inputStream("/CreateNetwork_InvalidCloudSiteId.xml"), uri, HttpMethod.POST);
249                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
250         }
251
252         @Test
253         public void deleteNetworkHeatModeSuccess() throws IOException{
254
255                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
256
257                 mockOpenStackResponseAccess(wireMockPort);
258
259                 mockOpenStackGetStackDeleteOrUpdateComplete_200("OpenstackResponse_Stack_DeleteComplete.json");
260
261                 mockOpenStackDeleteStack_200();
262
263                 mockOpenStackGetStackCreated_200("OpenstackResponse_Stack_Created.json", "43173f6a-d699-414b-888f-ab243dda6dfe");
264
265                 String uri =  "/services/NetworkAdapter";
266                 headers.set("X-ECOMP-RequestID", "123456789456127");
267                 ResponseEntity<String> response = sendXMLRequest(inputStream("/DeleteNetwork.xml"), uri, HttpMethod.POST);
268                 assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
269         }
270
271         @Test
272         public void deleteNetworkDeleteStackException() throws IOException{
273
274                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
275
276                 mockOpenStackResponseAccess(wireMockPort);
277
278                 mockOpenStackGetStackDeleteOrUpdateComplete_200("OpenstackResponse_Stack_DeleteComplete.json");
279
280                 mockOpenStackDeleteStack_500();
281
282                 mockOpenStackGetStackCreated_200("OpenstackResponse_Stack_Created.json", "43173f6a-d699-414b-888f-ab243dda6dfe");
283
284                 String uri =  "/services/NetworkAdapter";
285                 headers.set("X-ECOMP-RequestID", "123456789456127");
286                 ResponseEntity<String> response = sendXMLRequest(inputStream("/DeleteNetwork.xml"), uri, HttpMethod.POST);
287                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
288         }
289
290         @Test
291         public void deleteNetworkError() throws IOException{
292
293                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
294
295                 mockOpenStackResponseAccess(wireMockPort);
296
297                 mockOpenStackGetStackDeleteOrUpdateComplete_200("OpenstackResponse_Stack_DeleteComplete.json");
298
299                 mockOpenStackDeleteStack_200();
300
301                 mockOpenStackGetStackCreated_200("OpenstackResponse_Stack_Created.json", "43173f6a-d699-414b-888f-ab243dda6dfe");
302
303                 String uri =  "/services/NetworkAdapter";
304                 headers.set("X-ECOMP-RequestID", "123456789456127");
305                 ResponseEntity<String> response = sendXMLRequest(inputStream("/DeleteNetwork.xml").replace("mtn13",""), uri, HttpMethod.POST);
306                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
307         }
308
309
310         @Test
311         public void deleteNetworkNeureonMode() throws IOException{
312
313                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
314
315                 mockOpenStackResponseAccess(wireMockPort);
316
317                 mockOpenStackGetNeutronNetwork("GetNeutronNetwork.json",NETWORK_ID,HttpStatus.SC_OK);
318
319                 mockOpenStackDeleteNeutronNetwork(NETWORK_ID,HttpStatus.SC_OK);
320                 
321                 String uri =  "/services/NetworkAdapter";
322                 headers.set("X-ECOMP-RequestID", "123456789456127");
323                 ResponseEntity<String> response = sendXMLRequest(inputStream("/DeleteNetwork.xml").replace("CONTRAIL30_BASIC","CONTRAIL31_GNDIRECT"), uri, HttpMethod.POST);
324                 assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
325         }
326
327         @Test
328         public void deleteNetworkNeutronModeDeleteStackException() throws IOException{
329
330                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
331
332                 mockOpenStackResponseAccess(wireMockPort);
333
334                 mockOpenStackGetNeutronNetwork("GetNeutronNetwork.json",NETWORK_ID,HttpStatus.SC_OK);
335
336                 mockOpenStackDeleteNeutronNetwork(NETWORK_ID,HttpStatus.SC_INTERNAL_SERVER_ERROR);
337
338                 //mockOpenStackGetStackCreated_200("OpenstackResponse_Stack_Created.json", NETWORK_ID);
339
340                 String uri =  "/services/NetworkAdapter";
341                 headers.set("X-ECOMP-RequestID", "123456789456127");
342                 ResponseEntity<String> response = sendXMLRequest(inputStream("/DeleteNetwork.xml").replace("CONTRAIL30_BASIC","CONTRAIL31_GNDIRECT"), uri, HttpMethod.POST);
343                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
344         }
345
346         @Test
347         public void updateNetworkNeutronModeSuccess() throws IOException{
348
349                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
350
351                 mockOpenStackResponseAccess(wireMockPort);
352
353                 mockOpenStackGetNeutronNetwork("GetNeutronNetwork.json",NETWORK_ID,HttpStatus.SC_OK);
354                 mockOpenStackPutNeutronNetwork_200("OpenstackCreateNeutronNetworkResponse.json",NETWORK_ID);
355
356                 String uri =  "/services/NetworkAdapter";
357                 headers.set("X-ECOMP-RequestID", "123456789456127");
358                 ResponseEntity<String> response = sendXMLRequest(inputStream("/UpdateNetwork.xml").replace("CONTRAIL30_BASIC","CONTRAIL31_GNDIRECT"), uri, HttpMethod.POST);
359                 assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
360         }
361
362         @Test
363         public void updateNetworkNeutronUpdateException() throws IOException{
364
365                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
366
367                 mockOpenStackResponseAccess(wireMockPort);
368
369                 mockOpenStackGetNeutronNetwork("GetNeutronNetwork.json",NETWORK_ID,HttpStatus.SC_OK);
370                 mockOpenStackPutNeutronNetwork(NETWORK_ID,HttpStatus.SC_INTERNAL_SERVER_ERROR);
371
372                 String uri =  "/services/NetworkAdapter";
373                 headers.set("X-ECOMP-RequestID", "123456789456127");
374                 ResponseEntity<String> response = sendXMLRequest(inputStream("/UpdateNetwork.xml").replace("CONTRAIL30_BASIC","CONTRAIL31_GNDIRECT"), uri, HttpMethod.POST);
375                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
376         }
377
378         @Test
379         public void updateNetworkHeatUpdateException() throws IOException{
380
381                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
382
383                 mockOpenStackResponseAccess(wireMockPort);
384
385                 mockOpenStackGetStackCreated_200("OpenstackResponse_Stack_Created.json", NETWORK_NAME);
386
387                 mockOpenStackPutStack(NETWORK_ID,HttpStatus.SC_INTERNAL_SERVER_ERROR);
388
389                 String uri =  "/services/NetworkAdapter";
390                 headers.set("X-ECOMP-RequestID", "123456789456127");
391                 ResponseEntity<String> response = sendXMLRequest(inputStream("/UpdateNetwork.xml"), uri, HttpMethod.POST);
392                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
393         }
394
395         @Test
396         public void updateNetworkHeatQueryException() throws IOException{
397
398                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
399
400                 mockOpenStackResponseAccess(wireMockPort);
401
402                 mockOpenStackGetStack_500(NETWORK_NAME);
403
404                 String uri =  "/services/NetworkAdapter";
405                 headers.set("X-ECOMP-RequestID", "123456789456127");
406                 ResponseEntity<String> response = sendXMLRequest(inputStream("/UpdateNetwork.xml"), uri, HttpMethod.POST);
407                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
408         }
409
410         @Test
411         public void updateNetworkHeatStackNotFound() throws IOException{
412
413                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
414
415                 mockOpenStackResponseAccess(wireMockPort);
416
417                 mockOpenStackGetStack_404(NETWORK_NAME);
418
419                 String uri =  "/services/NetworkAdapter";
420                 headers.set("X-ECOMP-RequestID", "123456789456127");
421                 ResponseEntity<String> response = sendXMLRequest(inputStream("/UpdateNetwork.xml"), uri, HttpMethod.POST);
422                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
423         }
424
425         @Test
426         public void updateNetworkNeutronQueryException() throws IOException{
427
428                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
429
430                 mockOpenStackResponseAccess(wireMockPort);
431
432                 mockOpenStackGetNeutronNetwork(NETWORK_ID,HttpStatus.SC_INTERNAL_SERVER_ERROR);
433
434                 String uri =  "/services/NetworkAdapter";
435                 headers.set("X-ECOMP-RequestID", "123456789456127");
436                 ResponseEntity<String> response = sendXMLRequest(inputStream("/UpdateNetwork.xml").replace("CONTRAIL30_BASIC","CONTRAIL31_GNDIRECT"), uri, HttpMethod.POST);
437                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
438         }
439
440         @Test
441         public void updateNetworkNeutronStackNotFound() throws IOException{
442
443                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
444
445                 mockOpenStackResponseAccess(wireMockPort);
446
447                 mockOpenStackGetNeutronNetwork(NETWORK_ID,HttpStatus.SC_NOT_FOUND);
448
449                 String uri =  "/services/NetworkAdapter";
450                 headers.set("X-ECOMP-RequestID", "123456789456127");
451                 ResponseEntity<String> response = sendXMLRequest(inputStream("/UpdateNetwork.xml").replace("CONTRAIL30_BASIC","CONTRAIL31_GNDIRECT"), uri, HttpMethod.POST);
452                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
453         }
454
455         @Test
456         public void queryNetworkHeatModesuccess() throws IOException{
457
458                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
459
460                 mockOpenStackResponseAccess(wireMockPort);
461
462                 mockOpenStackGetStackCreated_200("OpenstackResponse_Stack_Created.json", NETWORK_ID);
463
464                 String uri =  "/services/NetworkAdapter";
465                 headers.set("X-ECOMP-RequestID", "123456789456127");
466                 ResponseEntity<String> response = sendXMLRequest(inputStream("/QueryNetwork.xml").replace("CONTRAIL30_BASIC","CONTRAIL31_GNDIRECT"), uri, HttpMethod.POST);
467                 assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
468         }
469
470         @Test
471         public void queryNetworkHeatModeQueryException() throws IOException{
472
473                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
474
475                 mockOpenStackResponseAccess(wireMockPort);
476
477                 mockOpenStackGetStack_500(NETWORK_ID);
478
479                 String uri =  "/services/NetworkAdapter";
480                 headers.set("X-ECOMP-RequestID", "123456789456127");
481                 ResponseEntity<String> response = sendXMLRequest(inputStream("/QueryNetwork.xml").replace("CONTRAIL30_BASIC","CONTRAIL31_GNDIRECT"), uri, HttpMethod.POST);
482                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
483         }
484
485         @Test
486         public void queryNetworkNeutronModeSuccess() throws IOException{
487
488                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
489
490                 mockOpenStackResponseAccess(wireMockPort);
491
492                 mockOpenStackGetNeutronNetwork("GetNeutronNetwork.json",NETWORK_ID,HttpStatus.SC_OK);
493
494                 String uri =  "/services/NetworkAdapter";
495                 headers.set("X-ECOMP-RequestID", "123456789456127");
496                 ResponseEntity<String> response = sendXMLRequest(inputStream("/QueryNetwork.xml").replace("CONTRAIL30_BASIC","CONTRAIL31_GNDIRECT"), uri, HttpMethod.POST);
497                 assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
498         }
499
500         @Test
501         public void queryNetworkNeutronModeException() throws IOException{
502
503                 cloudConfig.getIdentityService("MTN13").setIdentityUrl("http://localhost:" + wireMockPort + "/v2.0");
504
505                 mockOpenStackResponseAccess(wireMockPort);
506
507                 mockOpenStackGetNeutronNetwork(NETWORK_ID,HttpStatus.SC_INTERNAL_SERVER_ERROR);
508
509                 String uri =  "/services/NetworkAdapter";
510                 headers.set("X-ECOMP-RequestID", "123456789456127");
511                 ResponseEntity<String> response = sendXMLRequest(inputStream("/QueryNetwork.xml").replace("CONTRAIL30_BASIC","CONTRAIL31_GNDIRECT"), uri, HttpMethod.POST);
512                 assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode().value());
513         }
514
515         public ResponseEntity<String> sendXMLRequest(String requestJson, String uriPath, HttpMethod reqMethod){
516                 headers.set("Accept", MediaType.APPLICATION_XML);
517                 headers.set("Content-Type", MediaType.APPLICATION_XML);
518
519                 UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort(uriPath));
520
521                 HttpEntity<String> request = new HttpEntity<String>(requestJson, headers);
522                 ResponseEntity<String> response = restTemplate.exchange(builder.toUriString(),
523                                 reqMethod, request, String.class);
524
525                 return response;
526         }
527
528         public String inputStream(String JsonInput)throws IOException{
529                 JsonInput = "src/test/resources/" + JsonInput;
530                 String input = new String(Files.readAllBytes(Paths.get(JsonInput)));
531                 return input;
532         }
533 }