2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.onap.so.adapters.requestsdb;
24 import org.junit.Before;
25 import org.junit.After;
26 import org.junit.Test;
27 import org.junit.runner.RunWith;
28 import org.onap.so.adapters.requestsdb.application.MSORequestDBApplication;
29 import org.onap.so.db.request.beans.InfraActiveRequests;
30 import org.onap.so.db.request.data.controller.InstanceNameDuplicateCheckRequest;
31 import org.springframework.beans.factory.annotation.Value;
32 import org.springframework.boot.web.server.LocalServerPort;
33 import org.springframework.boot.test.context.SpringBootTest;
34 import org.springframework.boot.test.web.client.TestRestTemplate;
35 import org.springframework.core.ParameterizedTypeReference;
36 import org.springframework.http.HttpEntity;
37 import org.springframework.http.HttpHeaders;
38 import org.springframework.http.HttpMethod;
39 import org.springframework.http.ResponseEntity;
40 import org.springframework.test.context.ActiveProfiles;
41 import org.springframework.test.context.junit4.SpringRunner;
42 import org.springframework.transaction.annotation.Transactional;
43 import org.springframework.web.util.UriComponentsBuilder;
45 import javax.ws.rs.core.MediaType;
46 import java.util.List;
48 import java.util.HashMap;
49 import java.util.UUID;
50 import java.util.ArrayList;
52 import static org.junit.Assert.assertEquals;
53 import static org.junit.Assert.assertTrue;
55 @RunWith(SpringRunner.class)
56 @SpringBootTest(classes = MSORequestDBApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
57 @ActiveProfiles("test")
59 public class InfraActiveRequestsRepositoryCustomControllerTest {
64 @Value("${mso.adapters.requestDb.auth}")
65 private String msoAdaptersAuth;
67 private String createURLWithPort(String uri) {
68 return "http://localhost:" + port + uri;
71 private InfraActiveRequests infraActiveRequests;
72 private InfraActiveRequests infraActiveRequestsResponse;
73 private HttpHeaders headers;
74 private TestRestTemplate restTemplate;
76 private void verifyInfraActiveRequests() {
77 assertEquals(infraActiveRequests.getRequestId(), infraActiveRequestsResponse.getRequestId());
78 assertEquals(infraActiveRequests.getServiceInstanceId(), infraActiveRequestsResponse.getServiceInstanceId());
79 assertEquals(infraActiveRequests.getServiceInstanceName(), infraActiveRequestsResponse.getServiceInstanceName());
80 assertEquals(infraActiveRequests.getVnfId(), infraActiveRequestsResponse.getVnfId());
81 assertEquals(infraActiveRequests.getVnfName(), infraActiveRequestsResponse.getVnfName());
82 assertEquals(infraActiveRequests.getVfModuleId(), infraActiveRequestsResponse.getVfModuleId());
83 assertEquals(infraActiveRequests.getVfModuleName(), infraActiveRequestsResponse.getVfModuleName());
84 assertEquals(infraActiveRequests.getVolumeGroupId(), infraActiveRequestsResponse.getVolumeGroupId());
85 assertEquals(infraActiveRequests.getVolumeGroupName(), infraActiveRequestsResponse.getVolumeGroupName());
86 assertEquals(infraActiveRequests.getNetworkId(), infraActiveRequestsResponse.getNetworkId());
87 assertEquals(infraActiveRequests.getNetworkName(), infraActiveRequestsResponse.getNetworkName());
88 assertEquals(infraActiveRequests.getConfigurationId(), infraActiveRequestsResponse.getConfigurationId());
89 assertEquals(infraActiveRequests.getConfigurationName(), infraActiveRequestsResponse.getConfigurationName());
90 assertEquals(infraActiveRequests.getAaiServiceId(), infraActiveRequestsResponse.getAaiServiceId());
91 assertEquals(infraActiveRequests.getTenantId(), infraActiveRequestsResponse.getTenantId());
92 assertEquals(infraActiveRequests.getRequestScope(), infraActiveRequestsResponse.getRequestScope());
93 assertEquals(infraActiveRequests.getRequestorId(), infraActiveRequestsResponse.getRequestorId());
94 assertEquals(infraActiveRequests.getSource(), infraActiveRequestsResponse.getSource());
95 assertEquals(infraActiveRequests.getOperationalEnvId(), infraActiveRequestsResponse.getOperationalEnvId());
96 assertEquals(infraActiveRequests.getOperationalEnvName(), infraActiveRequestsResponse.getOperationalEnvName());
97 assertEquals(infraActiveRequests.getRequestStatus(), infraActiveRequestsResponse.getRequestStatus());
98 assertEquals(infraActiveRequests.getAction(), infraActiveRequestsResponse.getAction());
99 assertEquals(infraActiveRequests.getRequestUrl(), infraActiveRequestsResponse.getRequestUrl());
103 public void setup() {
105 headers = new HttpHeaders();
106 restTemplate = new TestRestTemplate("test", "test");
108 headers.set("Accept", MediaType.APPLICATION_JSON);
109 headers.set("Content-Type", MediaType.APPLICATION_JSON);
110 headers.set("Authorization", msoAdaptersAuth);
112 infraActiveRequests = new InfraActiveRequests();
114 infraActiveRequests.setRequestId(UUID.randomUUID().toString());
115 infraActiveRequests.setOperationalEnvId(UUID.randomUUID().toString());
116 infraActiveRequests.setServiceInstanceId(UUID.randomUUID().toString());
117 infraActiveRequests.setServiceInstanceName("serviceInstanceNameTest");
118 infraActiveRequests.setVnfId(UUID.randomUUID().toString());
119 infraActiveRequests.setVnfName("vnfInstanceNameTest");
120 infraActiveRequests.setVfModuleId(UUID.randomUUID().toString());
121 infraActiveRequests.setVfModuleName("vfModuleInstanceNameTest");
122 infraActiveRequests.setVolumeGroupId(UUID.randomUUID().toString());
123 infraActiveRequests.setVolumeGroupName("volumeGroupInstanceNameTest");
124 infraActiveRequests.setNetworkId(UUID.randomUUID().toString());
125 infraActiveRequests.setNetworkName("networkInstanceNameTest");
126 infraActiveRequests.setConfigurationId(UUID.randomUUID().toString());
127 infraActiveRequests.setConfigurationName("configurationInstanceNameTest");
128 infraActiveRequests.setAicCloudRegion("1");
129 infraActiveRequests.setTenantId(UUID.randomUUID().toString());
130 infraActiveRequests.setRequestScope("operationalEnvironment");
131 infraActiveRequests.setRequestorId(UUID.randomUUID().toString());
132 infraActiveRequests.setSource("sourceTest");
133 infraActiveRequests.setOperationalEnvName(UUID.randomUUID().toString());
134 infraActiveRequests.setRequestStatus("IN_PROGRESS");
135 infraActiveRequests.setAction("create");
136 infraActiveRequests.setRequestUrl("http://localhost:8080/onap/so/infra/serviceInstantiation/v7/serviceInstances");
138 HttpEntity<String> entity = new HttpEntity(infraActiveRequests, headers);
140 UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests"));
141 ResponseEntity<String> response = restTemplate.exchange(
142 builder.toUriString(),
143 HttpMethod.POST, entity, String.class);
145 assertEquals(201, response.getStatusCodeValue());
150 public void getCloudOrchestrationFiltersFromInfraActiveTest() {
152 Map<String, String> requestMap = new HashMap<>();
153 requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
154 requestMap.put("operationalEnvironmentName", infraActiveRequests.getOperationalEnvName());
155 requestMap.put("resourceType", "operationalEnvironment");
157 HttpEntity<Map<String, String>> entity = new HttpEntity<>(requestMap, headers);
159 UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/getCloudOrchestrationFiltersFromInfraActive");
161 ResponseEntity<List<InfraActiveRequests>> response = restTemplate.exchange(
162 builder.toUriString(),
163 HttpMethod.POST, entity, new ParameterizedTypeReference<List<InfraActiveRequests>>() {
166 List<InfraActiveRequests> iarr = response.getBody();
167 assertEquals(200, response.getStatusCodeValue());
169 assertTrue(iarr.size() == 1);
170 infraActiveRequestsResponse = iarr.get(0);
172 verifyInfraActiveRequests();
177 public void getOrchestrationFiltersFromInfraActiveTest() {
179 Map<String, List<String>> requestMap = new HashMap<>();
180 List<String> values = new ArrayList<>();
181 values.add("EQUALS");
182 values.add(infraActiveRequests.getServiceInstanceId());
183 requestMap.put("serviceInstanceId", values);
185 values = new ArrayList<>();
186 values.add("EQUALS");
187 values.add(infraActiveRequests.getServiceInstanceName());
188 requestMap.put("serviceInstanceName", values);
190 HttpEntity<Map<String, List<String>>> entityList = new HttpEntity(requestMap, headers);
191 UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/getOrchestrationFiltersFromInfraActive");
193 ResponseEntity<List<InfraActiveRequests>> response = restTemplate.exchange(
194 builder.toUriString(),
195 HttpMethod.POST, entityList, new ParameterizedTypeReference<List<InfraActiveRequests>>() {
198 List<InfraActiveRequests> iarr = response.getBody();
200 assertEquals(200, response.getStatusCodeValue());
202 assertTrue(iarr.size() == 1);
203 infraActiveRequestsResponse = iarr.get(0);
205 verifyInfraActiveRequests();
209 public void checkVnfIdStatusTest() {
212 UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests" + "/checkVnfIdStatus/" + infraActiveRequests.getOperationalEnvId()));
213 HttpEntity<String> entity = new HttpEntity(HttpEntity.EMPTY, headers);
215 ResponseEntity<InfraActiveRequests> response = restTemplate.exchange(
216 builder.toUriString(),
217 HttpMethod.GET,entity , InfraActiveRequests.class);
219 infraActiveRequestsResponse = response.getBody();
221 assertEquals(200, response.getStatusCodeValue());
223 verifyInfraActiveRequests();
227 public void checkInstanceNameDuplicateTest() {
229 InstanceNameDuplicateCheckRequest instanceNameDuplicateCheckRequest = new InstanceNameDuplicateCheckRequest((HashMap<String, String>) null,
230 infraActiveRequests.getOperationalEnvName(),
231 infraActiveRequests.getRequestScope());
233 HttpEntity<InstanceNameDuplicateCheckRequest> entityList = new HttpEntity(instanceNameDuplicateCheckRequest, headers);
234 UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/checkInstanceNameDuplicate");
236 ResponseEntity<InfraActiveRequests> response = restTemplate.exchange(
237 builder.toUriString(),
238 HttpMethod.POST, entityList, new ParameterizedTypeReference<InfraActiveRequests>() {
241 infraActiveRequestsResponse = response.getBody();
243 assertEquals(200, response.getStatusCodeValue());
245 verifyInfraActiveRequests();
249 public void checkInstanceNameDuplicateViaTest() {
251 Map<String, String> requestMap = new HashMap<>();
252 requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
254 InstanceNameDuplicateCheckRequest instanceNameDuplicateCheckRequest = new InstanceNameDuplicateCheckRequest((HashMap<String, String>) requestMap,
256 infraActiveRequests.getRequestScope());
258 HttpEntity<InstanceNameDuplicateCheckRequest> entityList = new HttpEntity(instanceNameDuplicateCheckRequest, headers);
259 UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/checkInstanceNameDuplicate");
261 ResponseEntity<InfraActiveRequests> response = restTemplate.exchange(
262 builder.toUriString(),
263 HttpMethod.POST, entityList, new ParameterizedTypeReference<InfraActiveRequests>() {
266 infraActiveRequestsResponse = response.getBody();
268 assertEquals(200, response.getStatusCodeValue());
270 verifyInfraActiveRequests();
274 public void checkInstanceNameDuplicateTestNotFound() {
276 String instanceNameDuplicateCheckRequest = "{\r\n\t \"instanceName\":\"TestNotFoundInstanceName\",\r\n\t \"requestScope\":\"testasdfasdfasdf\"\r\n}";
278 HttpEntity<InstanceNameDuplicateCheckRequest> entityList = new HttpEntity(instanceNameDuplicateCheckRequest, headers);
279 UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/checkInstanceNameDuplicate");
281 ResponseEntity<InfraActiveRequests> response = restTemplate.exchange(
282 builder.toUriString(),
283 HttpMethod.POST, entityList, new ParameterizedTypeReference<InfraActiveRequests>() {
286 assertEquals(200, response.getStatusCodeValue());
287 assertEquals(null, response.getBody());
291 public void checkInstanceNameDuplicateViaTestNotFound() {
293 Map<String, String> requestMap = new HashMap<>();
294 requestMap.put("operationalEnvironmentId", "NotFoundOperationalEnvId");
296 InstanceNameDuplicateCheckRequest instanceNameDuplicateCheckRequest = new InstanceNameDuplicateCheckRequest((HashMap<String, String>) requestMap,
298 infraActiveRequests.getRequestScope());
300 HttpEntity<InstanceNameDuplicateCheckRequest> entityList = new HttpEntity(instanceNameDuplicateCheckRequest, headers);
301 UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/checkInstanceNameDuplicate");
303 ResponseEntity<InfraActiveRequests> response = restTemplate.exchange(
304 builder.toUriString(),
305 HttpMethod.POST, entityList, new ParameterizedTypeReference<InfraActiveRequests>() {
308 infraActiveRequestsResponse = response.getBody();
310 assertEquals(200, response.getStatusCodeValue());
311 assertEquals(null, response.getBody());