Springboot 2.0 upgrade
[so.git] / bpmn / so-bpmn-tasks / src / test / java / org / onap / so / client / adapter / network / NetworkAdapterClientIT.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.network;
22
23 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
24 import static com.github.tomakehurst.wiremock.client.WireMock.equalTo;
25 import static com.github.tomakehurst.wiremock.client.WireMock.get;
26 import static com.github.tomakehurst.wiremock.client.WireMock.post;
27 import static com.github.tomakehurst.wiremock.client.WireMock.put;
28 import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
29 import static org.junit.Assert.assertEquals;
30
31 import org.junit.BeforeClass;
32 import org.junit.Test;
33 import org.onap.so.adapters.nwrest.CreateNetworkError;
34 import org.onap.so.adapters.nwrest.CreateNetworkRequest;
35 import org.onap.so.adapters.nwrest.CreateNetworkResponse;
36 import org.onap.so.adapters.nwrest.DeleteNetworkError;
37 import org.onap.so.adapters.nwrest.DeleteNetworkRequest;
38 import org.onap.so.adapters.nwrest.DeleteNetworkResponse;
39 import org.onap.so.adapters.nwrest.QueryNetworkError;
40 import org.onap.so.adapters.nwrest.QueryNetworkResponse;
41 import org.onap.so.adapters.nwrest.RollbackNetworkError;
42 import org.onap.so.adapters.nwrest.RollbackNetworkRequest;
43 import org.onap.so.adapters.nwrest.RollbackNetworkResponse;
44 import org.onap.so.adapters.nwrest.UpdateNetworkError;
45 import org.onap.so.adapters.nwrest.UpdateNetworkRequest;
46 import org.onap.so.adapters.nwrest.UpdateNetworkResponse;
47 import org.onap.so.BaseIntegrationTest;
48 import org.onap.so.openstack.beans.NetworkRollback;
49
50 import com.fasterxml.jackson.core.JsonProcessingException;
51 import com.fasterxml.jackson.databind.ObjectMapper;
52 import static com.github.tomakehurst.wiremock.client.WireMock.*;
53
54 public class NetworkAdapterClientIT extends BaseIntegrationTest{
55
56         private static final String TESTING_ID = "___TESTING___";
57         private static final String AAI_NETWORK_ID = "test";
58         private static final String REST_ENDPOINT = "/networks/rest/v1/networks";
59
60         private NetworkAdapterClientImpl client = new NetworkAdapterClientImpl();
61         private ObjectMapper mapper = new ObjectMapper();
62
63         @BeforeClass
64         public static void setUp() {
65                 System.setProperty("mso.config.path", "src/test/resources");
66         }
67
68         @Test
69         public void createNetworkTest() throws NetworkAdapterClientException, JsonProcessingException {
70                 CreateNetworkRequest request = new CreateNetworkRequest();
71                 request.setCloudSiteId(TESTING_ID);
72
73                 CreateNetworkResponse mockResponse = new CreateNetworkResponse();
74                 mockResponse.setNetworkCreated(true);
75                 stubFor(post(urlPathEqualTo(REST_ENDPOINT))
76                                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
77                                                 .withBody(mapper.writeValueAsString(mockResponse)).withStatus(200)));
78
79                 CreateNetworkResponse response = client.createNetwork(request);
80                 assertEquals("Testing CreateVfModule response", true, response.getNetworkCreated());
81         }
82
83         @Test(expected = NetworkAdapterClientException.class)
84         public void createNetworkTestThrowException() throws NetworkAdapterClientException, JsonProcessingException {
85                 CreateNetworkRequest request = new CreateNetworkRequest();
86                 request.setCloudSiteId(TESTING_ID);
87
88                 CreateNetworkError mockResponse = new CreateNetworkError();
89                 mockResponse.setMessage("Error in create network");
90                 stubFor(post(urlPathEqualTo(REST_ENDPOINT))
91                                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
92                                                 .withBody(mapper.writeValueAsString(mockResponse)).withStatus(500)));
93
94                 client.createNetwork(request);
95         }
96
97         @Test
98         public void deleteNetworkTest() throws NetworkAdapterClientException, JsonProcessingException {
99                 DeleteNetworkRequest request = new DeleteNetworkRequest();
100                 request.setCloudSiteId(TESTING_ID);
101
102                 DeleteNetworkResponse mockResponse = new DeleteNetworkResponse();
103                 mockResponse.setNetworkDeleted(true);
104
105                 stubFor(post(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_NETWORK_ID))
106                                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
107                                                 .withBody(mapper.writeValueAsString(mockResponse)).withStatus(200)));
108
109                 DeleteNetworkResponse response = client.deleteNetwork(AAI_NETWORK_ID, request);
110                 assertEquals("Testing DeleteVfModule response", true, response.getNetworkDeleted());
111         }
112
113         @Test(expected = NetworkAdapterClientException.class)
114         public void deleteNetworkTestThrowException() throws NetworkAdapterClientException, JsonProcessingException {
115                 DeleteNetworkRequest request = new DeleteNetworkRequest();
116                 request.setCloudSiteId(TESTING_ID);
117
118                 DeleteNetworkError mockResponse = new DeleteNetworkError();
119                 mockResponse.setMessage("Error in delete network");
120                 stubFor(post(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_NETWORK_ID))
121                                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
122                                                 .withBody(mapper.writeValueAsString(mockResponse)).withStatus(500)));
123
124                 client.deleteNetwork(AAI_NETWORK_ID, request);
125         }
126
127         @Test
128         public void rollbackNetworkTest() throws NetworkAdapterClientException, JsonProcessingException {
129                 RollbackNetworkRequest request = new RollbackNetworkRequest();
130                 NetworkRollback rollback = new NetworkRollback();
131                 rollback.setCloudId(TESTING_ID);
132                 request.setNetworkRollback(rollback);
133
134                 RollbackNetworkResponse mockResponse = new RollbackNetworkResponse();
135                 mockResponse.setNetworkRolledBack(true);
136
137                 stubFor(post(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_NETWORK_ID))
138                                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
139                                                 .withBody(mapper.writeValueAsString(mockResponse)).withStatus(200)));
140
141                 RollbackNetworkResponse response = client.rollbackNetwork(AAI_NETWORK_ID, request);
142                 assertEquals("Testing DeleteVfModule response", true, response.getNetworkRolledBack());
143         }
144         
145         @Test(expected = NetworkAdapterClientException.class)
146         public void rollbackNetworkTestThrowException() throws NetworkAdapterClientException, JsonProcessingException {
147                 RollbackNetworkRequest request = new RollbackNetworkRequest();
148                 NetworkRollback rollback = new NetworkRollback();
149                 rollback.setCloudId(TESTING_ID);
150                 request.setNetworkRollback(rollback);
151
152                 RollbackNetworkError mockResponse = new RollbackNetworkError();
153                 mockResponse.setMessage("Error in rollback network");
154
155                 stubFor(post(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_NETWORK_ID))
156                                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
157                                                 .withBody(mapper.writeValueAsString(mockResponse)).withStatus(500)));
158
159                 client.rollbackNetwork(AAI_NETWORK_ID, request);
160         }
161
162         @Test
163         public void queryNetworkTest() throws NetworkAdapterClientException, JsonProcessingException {
164                 QueryNetworkResponse mockResponse = new QueryNetworkResponse();
165                 mockResponse.setNetworkExists(true);
166
167                 stubFor(get(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_NETWORK_ID)).withQueryParam("cloudSiteId", equalTo(TESTING_ID))
168                                 .withQueryParam("tenantId", equalTo(TESTING_ID))
169                                 .withQueryParam("networkStackId", equalTo("networkStackId")).withQueryParam("skipAAI", equalTo("true"))
170                                 .withQueryParam("msoRequest.requestId", equalTo("testRequestId"))
171                                 .withQueryParam("msoRequest.serviceInstanceId", equalTo("serviceInstanceId"))
172                                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
173                                                 .withBody(mapper.writeValueAsString(mockResponse)).withStatus(200)));
174
175                 QueryNetworkResponse response = client.queryNetwork(AAI_NETWORK_ID, TESTING_ID, TESTING_ID, "networkStackId",
176                                 true, "testRequestId", "serviceInstanceId");
177                 assertEquals("Testing QueryVfModule response", true, response.getNetworkExists());
178         }
179         
180         @Test(expected = NetworkAdapterClientException.class)
181         public void queryNetworkTestThrowException() throws NetworkAdapterClientException, JsonProcessingException {
182                 QueryNetworkError mockResponse = new QueryNetworkError();
183                 mockResponse.setMessage("Error in query network");
184
185                 stubFor(get(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_NETWORK_ID)).withQueryParam("cloudSiteId", equalTo(TESTING_ID))
186                                 .withQueryParam("tenantId", equalTo(TESTING_ID))
187                                 .withQueryParam("networkStackId", equalTo("networkStackId")).withQueryParam("skipAAI", equalTo("true"))
188                                 .withQueryParam("msoRequest.requestId", equalTo("testRequestId"))
189                                 .withQueryParam("msoRequest.serviceInstanceId", equalTo("serviceInstanceId"))
190                                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
191                                                 .withBody(mapper.writeValueAsString(mockResponse)).withStatus(500)));
192
193                 client.queryNetwork(AAI_NETWORK_ID, TESTING_ID, TESTING_ID, "networkStackId",
194                                 true, "testRequestId", "serviceInstanceId");
195         }
196
197         @Test
198         public void updateNetworkTest() throws NetworkAdapterClientException, JsonProcessingException {
199                 UpdateNetworkRequest request = new UpdateNetworkRequest();
200                 request.setCloudSiteId(TESTING_ID);
201                 request.setNetworkId("test1");
202
203                 UpdateNetworkResponse mockResponse = new UpdateNetworkResponse();
204                 mockResponse.setNetworkId("test1");
205                 stubFor(put(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_NETWORK_ID))
206                                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
207                                                 .withBody(mapper.writeValueAsString(mockResponse)).withStatus(200)));
208
209                 UpdateNetworkResponse response = client.updateNetwork(AAI_NETWORK_ID, request);
210                 assertEquals("Testing UpdateVfModule response", "test1", response.getNetworkId());
211         }
212         
213         @Test(expected = NetworkAdapterClientException.class)
214         public void updateNetworkTestThrowException() throws NetworkAdapterClientException, JsonProcessingException {
215                 UpdateNetworkRequest request = new UpdateNetworkRequest();
216                 request.setCloudSiteId(TESTING_ID);
217                 request.setNetworkId("test1");
218
219                 UpdateNetworkError mockResponse = new UpdateNetworkError();
220                 mockResponse.setMessage("Error in update network");
221                 stubFor(put(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_NETWORK_ID))
222                                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
223                                                 .withBody(mapper.writeValueAsString(mockResponse)).withStatus(500)));
224
225                 client.updateNetwork(AAI_NETWORK_ID, request);
226         }
227 }