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