Replaced all tabs with spaces in java and pom.xml
[so.git] / bpmn / so-bpmn-tasks / src / test / java / org / onap / so / client / adapter / vnf / VnfAdapterClientIT.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;
22
23 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
24 import static com.github.tomakehurst.wiremock.client.WireMock.delete;
25 import static com.github.tomakehurst.wiremock.client.WireMock.equalTo;
26 import static com.github.tomakehurst.wiremock.client.WireMock.get;
27 import static com.github.tomakehurst.wiremock.client.WireMock.post;
28 import static com.github.tomakehurst.wiremock.client.WireMock.put;
29 import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
30 import static org.junit.Assert.assertEquals;
31 import org.junit.BeforeClass;
32 import org.junit.Test;
33 import org.onap.so.BaseIntegrationTest;
34 import org.onap.so.adapters.vnfrest.CreateVfModuleRequest;
35 import org.onap.so.adapters.vnfrest.CreateVfModuleResponse;
36 import org.onap.so.adapters.vnfrest.DeleteVfModuleRequest;
37 import org.onap.so.adapters.vnfrest.DeleteVfModuleResponse;
38 import org.onap.so.adapters.vnfrest.QueryVfModuleResponse;
39 import org.onap.so.adapters.vnfrest.RollbackVfModuleRequest;
40 import org.onap.so.adapters.vnfrest.RollbackVfModuleResponse;
41 import org.onap.so.adapters.vnfrest.UpdateVfModuleRequest;
42 import org.onap.so.adapters.vnfrest.UpdateVfModuleResponse;
43 import org.onap.so.adapters.vnfrest.VfModuleExceptionResponse;
44 import org.onap.so.adapters.vnfrest.VfModuleRollback;
45 import org.onap.so.client.policy.JettisonStyleMapperProvider;
46 import com.fasterxml.jackson.core.JsonProcessingException;
47 import com.fasterxml.jackson.databind.ObjectMapper;
48
49 public class VnfAdapterClientIT extends BaseIntegrationTest {
50
51     private static final String TESTING_ID = "___TESTING___";
52     private static final String AAI_VNF_ID = "test";
53     private static final String AAI_VF_MODULE_ID = "test";
54     private static final String REST_ENDPOINT = "/services/rest/v1/vnfs";
55
56     private VnfAdapterClientImpl client = new VnfAdapterClientImpl();
57     private ObjectMapper mapper = new JettisonStyleMapperProvider().getMapper();
58
59     @BeforeClass
60     public static void setUp() {
61         System.setProperty("mso.config.path", "src/test/resources");
62     }
63
64     @Test
65     public void createVfModuleTest() throws JsonProcessingException, VnfAdapterClientException {
66         CreateVfModuleRequest request = new CreateVfModuleRequest();
67         request.setCloudSiteId(TESTING_ID);
68
69         CreateVfModuleResponse mockResponse = new CreateVfModuleResponse();
70         mockResponse.setVfModuleCreated(true);
71         wireMockServer.stubFor(post(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_VNF_ID + "/vf-modules"))
72                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
73                         .withBody(mapper.writeValueAsString(mockResponse)).withStatus(200)));
74
75         CreateVfModuleResponse response = client.createVfModule(AAI_VNF_ID, request);
76         assertEquals("Testing CreateVfModule response", true, response.getVfModuleCreated());
77     }
78
79     @Test(expected = VnfAdapterClientException.class)
80     public void createVfModuleTestThrowException() throws JsonProcessingException, VnfAdapterClientException {
81         CreateVfModuleRequest request = new CreateVfModuleRequest();
82         request.setCloudSiteId(TESTING_ID);
83
84         VfModuleExceptionResponse mockResponse = new VfModuleExceptionResponse();
85         mockResponse.setMessage("Error in create Vf module");
86         wireMockServer.stubFor(post(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_VNF_ID + "/vf-modules"))
87                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
88                         .withBody(mapper.writeValueAsString(mockResponse)).withStatus(500)));
89
90         client.createVfModule(AAI_VNF_ID, request);
91     }
92
93     @Test
94     public void rollbackVfModuleTest() throws JsonProcessingException, VnfAdapterClientException {
95         RollbackVfModuleRequest request = new RollbackVfModuleRequest();
96         VfModuleRollback rollback = new VfModuleRollback();
97         rollback.setCloudSiteId(TESTING_ID);
98         request.setVfModuleRollback(rollback);
99
100         RollbackVfModuleResponse mockResponse = new RollbackVfModuleResponse();
101         mockResponse.setVfModuleRolledback(true);
102         wireMockServer.stubFor(delete(
103                 urlPathEqualTo(REST_ENDPOINT + "/" + AAI_VNF_ID + "/vf-modules/" + AAI_VF_MODULE_ID + "/rollback"))
104                         .willReturn(aResponse().withHeader("Content-Type", "application/json")
105                                 .withBody(mapper.writeValueAsString(mockResponse)).withStatus(200)));
106
107         RollbackVfModuleResponse response = client.rollbackVfModule(AAI_VNF_ID, AAI_VF_MODULE_ID, request);
108         assertEquals("Testing RollbackVfModule response", true, response.getVfModuleRolledback());
109     }
110
111     @Test(expected = VnfAdapterClientException.class)
112     public void rollbackVfModuleTestThrowException() throws JsonProcessingException, VnfAdapterClientException {
113         RollbackVfModuleRequest request = new RollbackVfModuleRequest();
114         VfModuleRollback rollback = new VfModuleRollback();
115         rollback.setCloudSiteId(TESTING_ID);
116         request.setVfModuleRollback(rollback);
117
118         VfModuleExceptionResponse mockResponse = new VfModuleExceptionResponse();
119         mockResponse.setMessage("Error in rollback Vf module");
120         wireMockServer.stubFor(delete(
121                 urlPathEqualTo(REST_ENDPOINT + "/" + AAI_VNF_ID + "/vf-modules/" + AAI_VF_MODULE_ID + "/rollback"))
122                         .willReturn(aResponse().withHeader("Content-Type", "application/json")
123                                 .withBody(mapper.writeValueAsString(mockResponse)).withStatus(500)));
124
125         client.rollbackVfModule(AAI_VNF_ID, AAI_VF_MODULE_ID, request);
126     }
127
128     @Test
129     public void deleteVfModuleTest() throws JsonProcessingException, VnfAdapterClientException {
130         DeleteVfModuleRequest request = new DeleteVfModuleRequest();
131         request.setCloudSiteId(TESTING_ID);
132
133         DeleteVfModuleResponse mockResponse = new DeleteVfModuleResponse();
134         mockResponse.setVfModuleDeleted(true);
135         wireMockServer
136                 .stubFor(delete(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_VNF_ID + "/vf-modules/" + AAI_VF_MODULE_ID))
137                         .willReturn(aResponse().withHeader("Content-Type", "application/json")
138                                 .withBody(mapper.writeValueAsString(mockResponse)).withStatus(200)));
139
140         DeleteVfModuleResponse response = client.deleteVfModule(AAI_VNF_ID, AAI_VF_MODULE_ID, request);
141         assertEquals("Testing DeleteVfModule response", true, response.getVfModuleDeleted());
142     }
143
144     @Test(expected = VnfAdapterClientException.class)
145     public void deleteVfModuleTestThrowException() throws JsonProcessingException, VnfAdapterClientException {
146         DeleteVfModuleRequest request = new DeleteVfModuleRequest();
147         request.setCloudSiteId(TESTING_ID);
148
149         VfModuleExceptionResponse mockResponse = new VfModuleExceptionResponse();
150         mockResponse.setMessage("Error in delete Vf module");
151         wireMockServer
152                 .stubFor(delete(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_VNF_ID + "/vf-modules/" + AAI_VF_MODULE_ID))
153                         .willReturn(aResponse().withHeader("Content-Type", "application/json")
154                                 .withBody(mapper.writeValueAsString(mockResponse)).withStatus(500)));
155
156         client.deleteVfModule(AAI_VNF_ID, AAI_VF_MODULE_ID, request);
157     }
158
159     @Test
160     public void updateVfModuleTest() throws JsonProcessingException, VnfAdapterClientException {
161         UpdateVfModuleRequest request = new UpdateVfModuleRequest();
162         request.setCloudSiteId(TESTING_ID);
163         request.setVfModuleId("test1");
164
165         UpdateVfModuleResponse mockResponse = new UpdateVfModuleResponse();
166         mockResponse.setVfModuleId("test1");
167         wireMockServer.stubFor(put(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_VNF_ID + "/vf-modules/" + AAI_VF_MODULE_ID))
168                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
169                         .withBody(mapper.writeValueAsString(mockResponse)).withStatus(200)));
170
171         UpdateVfModuleResponse response = client.updateVfModule(AAI_VNF_ID, AAI_VF_MODULE_ID, request);
172         assertEquals("Testing UpdateVfModule response", "test1", response.getVfModuleId());
173     }
174
175     @Test(expected = VnfAdapterClientException.class)
176     public void updateVfModuleTestThrowException() throws JsonProcessingException, VnfAdapterClientException {
177         UpdateVfModuleRequest request = new UpdateVfModuleRequest();
178         request.setCloudSiteId(TESTING_ID);
179         request.setVfModuleId("test1");
180
181         VfModuleExceptionResponse mockResponse = new VfModuleExceptionResponse();
182         mockResponse.setMessage("Error in update Vf module");
183         wireMockServer.stubFor(put(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_VNF_ID + "/vf-modules/" + AAI_VF_MODULE_ID))
184                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
185                         .withBody(mapper.writeValueAsString(mockResponse)).withStatus(500)));
186
187         client.updateVfModule(AAI_VNF_ID, AAI_VF_MODULE_ID, request);
188     }
189
190     @Test
191     public void queryVfModuleTest() throws JsonProcessingException, VnfAdapterClientException {
192         QueryVfModuleResponse mockResponse = new QueryVfModuleResponse();
193         mockResponse.setVnfId(AAI_VNF_ID);
194         mockResponse.setVfModuleId(AAI_VF_MODULE_ID);
195         wireMockServer.stubFor(get(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_VNF_ID + "/vf-modules/" + AAI_VF_MODULE_ID))
196                 .withQueryParam("cloudSiteId", equalTo(TESTING_ID)).withQueryParam("tenantId", equalTo(TESTING_ID))
197                 .withQueryParam("vfModuleName", equalTo("someName")).withQueryParam("skipAAI", equalTo("true"))
198                 .withQueryParam("msoRequest.requestId", equalTo("testRequestId"))
199                 .withQueryParam("msoRequest.serviceInstanceId", equalTo("serviceInstanceId"))
200                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
201                         .withBody(mapper.writeValueAsString(mockResponse)).withStatus(200)));
202         QueryVfModuleResponse response = client.queryVfModule(AAI_VNF_ID, AAI_VF_MODULE_ID, TESTING_ID, TESTING_ID,
203                 "someName", true, "testRequestId", "serviceInstanceId");
204         assertEquals("Testing QueryVfModule response", AAI_VF_MODULE_ID, response.getVfModuleId());
205     }
206
207     @Test(expected = VnfAdapterClientException.class)
208     public void queryVfModuleTestThrowException() throws JsonProcessingException, VnfAdapterClientException {
209         VfModuleExceptionResponse mockResponse = new VfModuleExceptionResponse();
210         mockResponse.setMessage("Error in update Vf module");
211         wireMockServer.stubFor(get(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_VNF_ID + "/vf-modules/" + AAI_VF_MODULE_ID))
212                 .withQueryParam("cloudSiteId", equalTo(TESTING_ID)).withQueryParam("tenantId", equalTo(TESTING_ID))
213                 .withQueryParam("vfModuleName", equalTo("someName")).withQueryParam("skipAAI", equalTo("true"))
214                 .withQueryParam("msoRequest.requestId", equalTo("testRequestId"))
215                 .withQueryParam("msoRequest.serviceInstanceId", equalTo("serviceInstanceId"))
216                 .willReturn(aResponse().withHeader("Content-Type", "application/json")
217                         .withBody(mapper.writeValueAsString(mockResponse)).withStatus(500)));
218         client.queryVfModule(AAI_VNF_ID, AAI_VF_MODULE_ID, TESTING_ID, TESTING_ID, "someName", true, "testRequestId",
219                 "serviceInstanceId");
220     }
221 }