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 / VnfVolumeAdapterClientIT.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 org.junit.Assert.assertEquals;
24 import static org.mockito.Mockito.doReturn;
25 import static org.mockito.Mockito.mock;
26 import static org.mockito.Mockito.spy;
27 import static org.mockito.Mockito.when;
28 import javax.ws.rs.InternalServerErrorException;
29 import javax.ws.rs.core.UriBuilder;
30 import org.junit.Test;
31 import org.junit.runner.RunWith;
32 import org.mockito.MockitoAnnotations;
33 import org.mockito.junit.MockitoJUnitRunner;
34 import org.onap.so.adapters.vnfrest.CreateVolumeGroupRequest;
35 import org.onap.so.adapters.vnfrest.CreateVolumeGroupResponse;
36 import org.onap.so.adapters.vnfrest.DeleteVolumeGroupRequest;
37 import org.onap.so.adapters.vnfrest.DeleteVolumeGroupResponse;
38 import org.onap.so.adapters.vnfrest.RollbackVolumeGroupRequest;
39 import org.onap.so.adapters.vnfrest.RollbackVolumeGroupResponse;
40 import org.onap.so.adapters.vnfrest.UpdateVolumeGroupRequest;
41 import org.onap.so.adapters.vnfrest.UpdateVolumeGroupResponse;
42 import org.onap.so.client.adapter.rest.AdapterRestClient;
43 import org.onap.so.BaseIntegrationTest;
44
45 public class VnfVolumeAdapterClientIT extends BaseIntegrationTest {
46
47     private static final String TESTING_ID = "___TESTING___";
48     private static final String AAI_VOLUME_GROUP_ID = "test";
49     private static final String CLOUD_SITE_ID = "test";
50     private static final String TENANT_ID = "test";
51     private static final String VOLUME_GROUP_STACK_ID = "test";
52     private static final boolean SKIP_AAI = true;
53     private static final String REQUEST_ID = "test";
54     private static final String SERVICE_INSTANCE_ID = "test";
55
56     @Test
57     public void createVolumeGroupTest() throws VnfAdapterClientException {
58         CreateVolumeGroupRequest request = new CreateVolumeGroupRequest();
59         request.setCloudSiteId(TESTING_ID);
60
61         CreateVolumeGroupResponse mockResponse = new CreateVolumeGroupResponse();
62         mockResponse.setVolumeGroupCreated(true);
63
64         VnfVolumeAdapterClientImpl client = spy(VnfVolumeAdapterClientImpl.class);
65         AdapterRestClient mockClient = mock(AdapterRestClient.class);
66
67         doReturn(mockClient).when(client).getAdapterRestClient("");
68         when(mockClient.post(request, CreateVolumeGroupResponse.class)).thenReturn(mockResponse);
69
70         CreateVolumeGroupResponse response = client.createVNFVolumes(request);
71         assertEquals("Testing CreateVolumeGroup response", mockResponse.getVolumeGroupCreated(),
72                 response.getVolumeGroupCreated());
73     }
74
75     @Test(expected = VnfAdapterClientException.class)
76     public void createVolumeGroupTestThrowException() throws VnfAdapterClientException {
77         CreateVolumeGroupRequest request = new CreateVolumeGroupRequest();
78         request.setCloudSiteId(TESTING_ID);
79
80         CreateVolumeGroupResponse mockResponse = new CreateVolumeGroupResponse();
81         mockResponse.setVolumeGroupCreated(true);
82
83         VnfVolumeAdapterClientImpl client = spy(VnfVolumeAdapterClientImpl.class);
84         AdapterRestClient mockClient = mock(AdapterRestClient.class);
85
86         doReturn(mockClient).when(client).getAdapterRestClient("");
87         when(mockClient.post(request, CreateVolumeGroupResponse.class))
88                 .thenThrow(new InternalServerErrorException("Error in create volume group"));
89
90         client.createVNFVolumes(request);
91     }
92
93     @Test
94     public void deleteVolumeGroupTest() throws VnfAdapterClientException {
95         DeleteVolumeGroupRequest request = new DeleteVolumeGroupRequest();
96         request.setCloudSiteId(TESTING_ID);
97
98         DeleteVolumeGroupResponse mockResponse = new DeleteVolumeGroupResponse();
99         mockResponse.setVolumeGroupDeleted(true);
100
101         VnfVolumeAdapterClientImpl client = spy(VnfVolumeAdapterClientImpl.class);
102         AdapterRestClient mockClient = mock(AdapterRestClient.class);
103         doReturn(mockClient).when(client).getAdapterRestClient("/" + AAI_VOLUME_GROUP_ID);
104         when(mockClient.delete(request, DeleteVolumeGroupResponse.class)).thenReturn(mockResponse);
105         MockitoAnnotations.initMocks(this);
106
107         DeleteVolumeGroupResponse response = client.deleteVNFVolumes(AAI_VOLUME_GROUP_ID, request);
108         assertEquals("Testing DeleteVolumeGroup response", mockResponse.getVolumeGroupDeleted(),
109                 response.getVolumeGroupDeleted());
110     }
111
112     @Test(expected = VnfAdapterClientException.class)
113     public void deleteVolumeGroupTestThrowException() throws VnfAdapterClientException {
114         DeleteVolumeGroupRequest request = new DeleteVolumeGroupRequest();
115         request.setCloudSiteId(TESTING_ID);
116
117         DeleteVolumeGroupResponse mockResponse = new DeleteVolumeGroupResponse();
118         mockResponse.setVolumeGroupDeleted(true);
119
120         VnfVolumeAdapterClientImpl client = spy(VnfVolumeAdapterClientImpl.class);
121         AdapterRestClient mockClient = mock(AdapterRestClient.class);
122         doReturn(mockClient).when(client).getAdapterRestClient("/" + AAI_VOLUME_GROUP_ID);
123         when(mockClient.delete(request, DeleteVolumeGroupResponse.class))
124                 .thenThrow(new InternalServerErrorException("Error in delete volume group"));
125         MockitoAnnotations.initMocks(this);
126
127         client.deleteVNFVolumes(AAI_VOLUME_GROUP_ID, request);
128     }
129
130     @Test
131     public void rollbackVolumeGroupTest() throws VnfAdapterClientException {
132         RollbackVolumeGroupRequest request = new RollbackVolumeGroupRequest();
133
134         RollbackVolumeGroupResponse mockResponse = new RollbackVolumeGroupResponse();
135         mockResponse.setVolumeGroupRolledBack(true);
136
137         VnfVolumeAdapterClientImpl client = spy(VnfVolumeAdapterClientImpl.class);
138         AdapterRestClient mockClient = mock(AdapterRestClient.class);
139         doReturn(mockClient).when(client).getAdapterRestClient("/" + AAI_VOLUME_GROUP_ID + "/rollback");
140         when(mockClient.delete(request, RollbackVolumeGroupResponse.class)).thenReturn(mockResponse);
141         MockitoAnnotations.initMocks(this);
142
143         RollbackVolumeGroupResponse response = client.rollbackVNFVolumes(AAI_VOLUME_GROUP_ID, request);
144         assertEquals("Testing RollbackVolumeGroup response", mockResponse.getVolumeGroupRolledBack(),
145                 response.getVolumeGroupRolledBack());
146     }
147
148     @Test(expected = VnfAdapterClientException.class)
149     public void rollbackVolumeGroupTestThrowException() throws VnfAdapterClientException {
150         RollbackVolumeGroupRequest request = new RollbackVolumeGroupRequest();
151
152         RollbackVolumeGroupResponse mockResponse = new RollbackVolumeGroupResponse();
153         mockResponse.setVolumeGroupRolledBack(true);
154
155         VnfVolumeAdapterClientImpl client = spy(VnfVolumeAdapterClientImpl.class);
156         AdapterRestClient mockClient = mock(AdapterRestClient.class);
157         doReturn(mockClient).when(client).getAdapterRestClient("/" + AAI_VOLUME_GROUP_ID + "/rollback");
158         when(mockClient.delete(request, RollbackVolumeGroupResponse.class))
159                 .thenThrow(new InternalServerErrorException("Error in rollback volume group"));
160         MockitoAnnotations.initMocks(this);
161
162         client.rollbackVNFVolumes(AAI_VOLUME_GROUP_ID, request);
163     }
164
165     @Test
166     public void updateVolumeGroupTest() throws VnfAdapterClientException {
167         UpdateVolumeGroupRequest request = new UpdateVolumeGroupRequest();
168
169         UpdateVolumeGroupResponse mockResponse = new UpdateVolumeGroupResponse();
170         mockResponse.setVolumeGroupId(AAI_VOLUME_GROUP_ID);
171
172         VnfVolumeAdapterClientImpl client = spy(VnfVolumeAdapterClientImpl.class);
173         AdapterRestClient mockClient = mock(AdapterRestClient.class);
174         doReturn(mockClient).when(client).getAdapterRestClient("/" + AAI_VOLUME_GROUP_ID);
175         when(mockClient.put(request, UpdateVolumeGroupResponse.class)).thenReturn(mockResponse);
176         MockitoAnnotations.initMocks(this);
177
178         UpdateVolumeGroupResponse response = client.updateVNFVolumes(AAI_VOLUME_GROUP_ID, request);
179         assertEquals("Testing DeleteVfModule response", mockResponse.getVolumeGroupId(), response.getVolumeGroupId());
180     }
181
182     @Test(expected = VnfAdapterClientException.class)
183     public void updateVolumeGroupTestThrowException() throws VnfAdapterClientException {
184         UpdateVolumeGroupRequest request = new UpdateVolumeGroupRequest();
185
186         UpdateVolumeGroupResponse mockResponse = new UpdateVolumeGroupResponse();
187         mockResponse.setVolumeGroupId(AAI_VOLUME_GROUP_ID);
188
189         VnfVolumeAdapterClientImpl client = spy(VnfVolumeAdapterClientImpl.class);
190         AdapterRestClient mockClient = mock(AdapterRestClient.class);
191         doReturn(mockClient).when(client).getAdapterRestClient("/" + AAI_VOLUME_GROUP_ID);
192         when(mockClient.put(request, UpdateVolumeGroupResponse.class))
193                 .thenThrow(new InternalServerErrorException("Error in update volume group"));
194         MockitoAnnotations.initMocks(this);
195
196         client.updateVNFVolumes(AAI_VOLUME_GROUP_ID, request);
197     }
198
199     public void buildQueryPathTest() {
200         String expectedOutput = "/" + AAI_VOLUME_GROUP_ID + "?cloudSiteId=" + CLOUD_SITE_ID + "&tenantId=" + TENANT_ID
201                 + "&volumeGroupStackId=" + VOLUME_GROUP_STACK_ID + "&skipAAI=" + SKIP_AAI + "&msoRequest.requestId="
202                 + REQUEST_ID + "&msoRequest.serviceInstanceId=" + SERVICE_INSTANCE_ID;
203         VnfVolumeAdapterClientImpl client = new VnfVolumeAdapterClientImpl();
204         assertEquals("Test build query path", expectedOutput, client.buildQueryPath(AAI_VOLUME_GROUP_ID, CLOUD_SITE_ID,
205                 TENANT_ID, VOLUME_GROUP_STACK_ID, SKIP_AAI, REQUEST_ID, SERVICE_INSTANCE_ID));
206     }
207
208     protected UriBuilder getUri(String path) {
209         return UriBuilder.fromPath(path);
210     }
211 }