4ed3285a70ab7e268860d2d3d802307e3536da5e
[so.git] /
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.requestsdb;
22
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertTrue;
26 import java.util.ArrayList;
27 import java.util.HashMap;
28 import java.util.List;
29 import java.util.Map;
30 import java.util.UUID;
31 import javax.ws.rs.core.MediaType;
32 import org.junit.Before;
33 import org.junit.Test;
34 import org.onap.so.db.request.beans.InfraActiveRequests;
35 import org.onap.so.db.request.data.controller.InstanceNameDuplicateCheckRequest;
36 import org.springframework.beans.factory.annotation.Value;
37 import org.springframework.boot.test.web.client.TestRestTemplate;
38 import org.springframework.boot.web.server.LocalServerPort;
39 import org.springframework.core.ParameterizedTypeReference;
40 import org.springframework.http.HttpEntity;
41 import org.springframework.http.HttpHeaders;
42 import org.springframework.http.HttpMethod;
43 import org.springframework.http.ResponseEntity;
44 import org.springframework.transaction.annotation.Transactional;
45 import org.springframework.web.util.UriComponentsBuilder;
46
47 @Transactional
48 public class InfraActiveRequestsRepositoryCustomControllerTest extends RequestsAdapterBase {
49
50     @LocalServerPort
51     private int port;
52
53     @Value("${mso.adapters.requestDb.auth}")
54     private String msoAdaptersAuth;
55
56     private String createURLWithPort(String uri) {
57         return "http://localhost:" + port + uri;
58     }
59
60     private InfraActiveRequests infraActiveRequests;
61     private InfraActiveRequests infraActiveRequestsResponse;
62     private HttpHeaders headers;
63     private TestRestTemplate restTemplate;
64
65     private void verifyInfraActiveRequests() {
66         assertEquals(infraActiveRequests.getRequestId(), infraActiveRequestsResponse.getRequestId());
67         assertEquals(infraActiveRequests.getServiceInstanceId(), infraActiveRequestsResponse.getServiceInstanceId());
68         assertEquals(infraActiveRequests.getServiceInstanceName(),
69                 infraActiveRequestsResponse.getServiceInstanceName());
70         assertEquals(infraActiveRequests.getVnfId(), infraActiveRequestsResponse.getVnfId());
71         assertEquals(infraActiveRequests.getVnfName(), infraActiveRequestsResponse.getVnfName());
72         assertEquals(infraActiveRequests.getVfModuleId(), infraActiveRequestsResponse.getVfModuleId());
73         assertEquals(infraActiveRequests.getVfModuleName(), infraActiveRequestsResponse.getVfModuleName());
74         assertEquals(infraActiveRequests.getVolumeGroupId(), infraActiveRequestsResponse.getVolumeGroupId());
75         assertEquals(infraActiveRequests.getVolumeGroupName(), infraActiveRequestsResponse.getVolumeGroupName());
76         assertEquals(infraActiveRequests.getNetworkId(), infraActiveRequestsResponse.getNetworkId());
77         assertEquals(infraActiveRequests.getNetworkName(), infraActiveRequestsResponse.getNetworkName());
78         assertEquals(infraActiveRequests.getConfigurationId(), infraActiveRequestsResponse.getConfigurationId());
79         assertEquals(infraActiveRequests.getConfigurationName(), infraActiveRequestsResponse.getConfigurationName());
80         assertEquals(infraActiveRequests.getAaiServiceId(), infraActiveRequestsResponse.getAaiServiceId());
81         assertEquals(infraActiveRequests.getTenantId(), infraActiveRequestsResponse.getTenantId());
82         assertEquals(infraActiveRequests.getRequestScope(), infraActiveRequestsResponse.getRequestScope());
83         assertEquals(infraActiveRequests.getRequestorId(), infraActiveRequestsResponse.getRequestorId());
84         assertEquals(infraActiveRequests.getSource(), infraActiveRequestsResponse.getSource());
85         assertEquals(infraActiveRequests.getOperationalEnvId(), infraActiveRequestsResponse.getOperationalEnvId());
86         assertEquals(infraActiveRequests.getOperationalEnvName(), infraActiveRequestsResponse.getOperationalEnvName());
87         assertEquals(infraActiveRequests.getRequestStatus(), infraActiveRequestsResponse.getRequestStatus());
88         assertEquals(infraActiveRequests.getAction(), infraActiveRequestsResponse.getAction());
89         assertEquals(infraActiveRequests.getRequestUrl(), infraActiveRequestsResponse.getRequestUrl());
90     }
91
92     @Before
93     public void setup() {
94
95         headers = new HttpHeaders();
96         restTemplate = new TestRestTemplate("test", "test");
97
98         headers.set("Accept", MediaType.APPLICATION_JSON);
99         headers.set("Content-Type", MediaType.APPLICATION_JSON);
100         headers.set("Authorization", msoAdaptersAuth);
101
102         infraActiveRequests = new InfraActiveRequests();
103
104         infraActiveRequests.setRequestId(UUID.randomUUID().toString());
105         infraActiveRequests.setOperationalEnvId(UUID.randomUUID().toString());
106         infraActiveRequests.setServiceInstanceId(UUID.randomUUID().toString());
107         infraActiveRequests.setServiceInstanceName("serviceInstanceNameTest");
108         infraActiveRequests.setVnfId(UUID.randomUUID().toString());
109         infraActiveRequests.setVnfName("vnfInstanceNameTest");
110         infraActiveRequests.setVfModuleId(UUID.randomUUID().toString());
111         infraActiveRequests.setVfModuleName("vfModuleInstanceNameTest");
112         infraActiveRequests.setVolumeGroupId(UUID.randomUUID().toString());
113         infraActiveRequests.setVolumeGroupName("volumeGroupInstanceNameTest");
114         infraActiveRequests.setNetworkId(UUID.randomUUID().toString());
115         infraActiveRequests.setNetworkName("networkInstanceNameTest");
116         infraActiveRequests.setConfigurationId(UUID.randomUUID().toString());
117         infraActiveRequests.setConfigurationName("configurationInstanceNameTest");
118         infraActiveRequests.setAicCloudRegion("1");
119         infraActiveRequests.setTenantId(UUID.randomUUID().toString());
120         infraActiveRequests.setRequestScope("operationalEnvironment");
121         infraActiveRequests.setRequestorId(UUID.randomUUID().toString());
122         infraActiveRequests.setSource("sourceTest");
123         infraActiveRequests.setOperationalEnvName(UUID.randomUUID().toString());
124         infraActiveRequests.setRequestStatus("IN_PROGRESS");
125         infraActiveRequests.setAction("create");
126         infraActiveRequests
127                 .setRequestUrl("http://localhost:8080/onap/so/infra/serviceInstantiation/v7/serviceInstances");
128
129         HttpEntity<String> entity = new HttpEntity(infraActiveRequests, headers);
130
131         UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests"));
132         ResponseEntity<String> response =
133                 restTemplate.exchange(builder.toUriString(), HttpMethod.POST, entity, String.class);
134
135         assertEquals(201, response.getStatusCodeValue());
136     }
137
138
139     @Test
140     public void getCloudOrchestrationFiltersFromInfraActiveTest() {
141
142         Map<String, String> requestMap = new HashMap<>();
143         requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
144         requestMap.put("operationalEnvironmentName", infraActiveRequests.getOperationalEnvName());
145         requestMap.put("resourceType", "operationalEnvironment");
146
147         HttpEntity<Map<String, String>> entity = new HttpEntity<>(requestMap, headers);
148
149         UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(
150                 createURLWithPort("/infraActiveRequests") + "/getCloudOrchestrationFiltersFromInfraActive");
151
152         ResponseEntity<List<InfraActiveRequests>> response = restTemplate.exchange(builder.toUriString(),
153                 HttpMethod.POST, entity, new ParameterizedTypeReference<List<InfraActiveRequests>>() {});
154
155         List<InfraActiveRequests> iarr = response.getBody();
156         assertEquals(200, response.getStatusCodeValue());
157
158         assertTrue(iarr.size() == 1);
159         infraActiveRequestsResponse = iarr.get(0);
160
161         verifyInfraActiveRequests();
162
163     }
164
165     @Test
166     public void getOrchestrationFiltersFromInfraActiveTest() {
167
168         Map<String, List<String>> requestMap = new HashMap<>();
169         List<String> values = new ArrayList<>();
170         values.add("EQUALS");
171         values.add(infraActiveRequests.getServiceInstanceId());
172         requestMap.put("serviceInstanceId", values);
173
174         values = new ArrayList<>();
175         values.add("EQUALS");
176         values.add(infraActiveRequests.getServiceInstanceName());
177         requestMap.put("serviceInstanceName", values);
178
179         HttpEntity<Map<String, List<String>>> entityList = new HttpEntity(requestMap, headers);
180         UriComponentsBuilder builder = UriComponentsBuilder
181                 .fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/getOrchestrationFiltersFromInfraActive");
182
183         ResponseEntity<List<InfraActiveRequests>> response = restTemplate.exchange(builder.toUriString(),
184                 HttpMethod.POST, entityList, new ParameterizedTypeReference<List<InfraActiveRequests>>() {});
185
186         List<InfraActiveRequests> iarr = response.getBody();
187
188         assertEquals(200, response.getStatusCodeValue());
189
190         assertTrue(iarr.size() == 1);
191         infraActiveRequestsResponse = iarr.get(0);
192
193         verifyInfraActiveRequests();
194     }
195
196     @Test
197     public void checkVnfIdStatusTest() {
198
199
200         UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort(
201                 "/infraActiveRequests" + "/checkVnfIdStatus/" + infraActiveRequests.getOperationalEnvId()));
202         HttpEntity<String> entity = new HttpEntity(HttpEntity.EMPTY, headers);
203
204         ResponseEntity<InfraActiveRequests> response =
205                 restTemplate.exchange(builder.toUriString(), HttpMethod.GET, entity, InfraActiveRequests.class);
206
207         infraActiveRequestsResponse = response.getBody();
208
209         assertEquals(200, response.getStatusCodeValue());
210
211         verifyInfraActiveRequests();
212     }
213
214     @Test
215     public void checkInstanceNameDuplicateTest() {
216
217         InstanceNameDuplicateCheckRequest instanceNameDuplicateCheckRequest =
218                 new InstanceNameDuplicateCheckRequest((HashMap<String, String>) null,
219                         infraActiveRequests.getOperationalEnvName(), infraActiveRequests.getRequestScope());
220
221         HttpEntity<InstanceNameDuplicateCheckRequest> entityList =
222                 new HttpEntity(instanceNameDuplicateCheckRequest, headers);
223         UriComponentsBuilder builder = UriComponentsBuilder
224                 .fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/checkInstanceNameDuplicate");
225
226         ResponseEntity<InfraActiveRequests> response = restTemplate.exchange(builder.toUriString(), HttpMethod.POST,
227                 entityList, new ParameterizedTypeReference<InfraActiveRequests>() {});
228
229         infraActiveRequestsResponse = response.getBody();
230
231         assertEquals(200, response.getStatusCodeValue());
232
233         verifyInfraActiveRequests();
234     }
235
236     @Test
237     public void checkInstanceNameDuplicateViaTest() {
238
239         Map<String, String> requestMap = new HashMap<>();
240         requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
241
242         InstanceNameDuplicateCheckRequest instanceNameDuplicateCheckRequest = new InstanceNameDuplicateCheckRequest(
243                 (HashMap<String, String>) requestMap, null, infraActiveRequests.getRequestScope());
244
245         HttpEntity<InstanceNameDuplicateCheckRequest> entityList =
246                 new HttpEntity(instanceNameDuplicateCheckRequest, headers);
247         UriComponentsBuilder builder = UriComponentsBuilder
248                 .fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/checkInstanceNameDuplicate");
249
250         ResponseEntity<InfraActiveRequests> response = restTemplate.exchange(builder.toUriString(), HttpMethod.POST,
251                 entityList, new ParameterizedTypeReference<InfraActiveRequests>() {});
252
253         infraActiveRequestsResponse = response.getBody();
254
255         assertEquals(200, response.getStatusCodeValue());
256
257         verifyInfraActiveRequests();
258     }
259
260     @Test
261     public void checkInstanceNameDuplicateTestNotFound() {
262
263         String instanceNameDuplicateCheckRequest =
264                 "{\r\n\t \"instanceName\":\"TestNotFoundInstanceName\",\r\n\t \"requestScope\":\"testasdfasdfasdf\"\r\n}";
265
266         HttpEntity<InstanceNameDuplicateCheckRequest> entityList =
267                 new HttpEntity(instanceNameDuplicateCheckRequest, headers);
268         UriComponentsBuilder builder = UriComponentsBuilder
269                 .fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/checkInstanceNameDuplicate");
270
271         ResponseEntity<InfraActiveRequests> response = restTemplate.exchange(builder.toUriString(), HttpMethod.POST,
272                 entityList, new ParameterizedTypeReference<InfraActiveRequests>() {});
273
274         assertEquals(200, response.getStatusCodeValue());
275         assertEquals(null, response.getBody());
276     }
277
278     @Test
279     public void checkInstanceNameDuplicateViaTestNotFound() {
280
281         Map<String, String> requestMap = new HashMap<>();
282         requestMap.put("operationalEnvironmentId", "NotFoundOperationalEnvId");
283
284         InstanceNameDuplicateCheckRequest instanceNameDuplicateCheckRequest = new InstanceNameDuplicateCheckRequest(
285                 (HashMap<String, String>) requestMap, null, infraActiveRequests.getRequestScope());
286
287         HttpEntity<InstanceNameDuplicateCheckRequest> entityList =
288                 new HttpEntity(instanceNameDuplicateCheckRequest, headers);
289         UriComponentsBuilder builder = UriComponentsBuilder
290                 .fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/checkInstanceNameDuplicate");
291
292         ResponseEntity<InfraActiveRequests> response = restTemplate.exchange(builder.toUriString(), HttpMethod.POST,
293                 entityList, new ParameterizedTypeReference<InfraActiveRequests>() {});
294
295         infraActiveRequestsResponse = response.getBody();
296
297         assertEquals(200, response.getStatusCodeValue());
298         assertEquals(null, response.getBody());
299     }
300 }