11f8ff0c3673ef4a4fb49b800698cb4b2c42279e
[so.git] / adapters / mso-requests-db-adapter / src / test / java / org / onap / so / adapters / requestsdb / InfraActiveRequestsRepositoryCustomControllerTest.java
1 package org.onap.so.adapters.requestsdb;
2
3
4 import org.junit.Before;
5 import org.junit.After;
6 import org.junit.Test;
7 import org.junit.runner.RunWith;
8 import org.onap.so.adapters.requestsdb.application.MSORequestDBApplication;
9 import org.onap.so.db.request.beans.InfraActiveRequests;
10 import org.onap.so.db.request.data.controller.InstanceNameDuplicateCheckRequest;
11 import org.springframework.beans.factory.annotation.Value;
12 import org.springframework.boot.context.embedded.LocalServerPort;
13 import org.springframework.boot.test.context.SpringBootTest;
14 import org.springframework.boot.test.web.client.TestRestTemplate;
15 import org.springframework.core.ParameterizedTypeReference;
16 import org.springframework.http.HttpEntity;
17 import org.springframework.http.HttpHeaders;
18 import org.springframework.http.HttpMethod;
19 import org.springframework.http.ResponseEntity;
20 import org.springframework.test.context.ActiveProfiles;
21 import org.springframework.test.context.junit4.SpringRunner;
22 import org.springframework.transaction.annotation.Transactional;
23 import org.springframework.web.util.UriComponentsBuilder;
24
25 import javax.ws.rs.core.MediaType;
26 import java.util.List;
27 import java.util.Map;
28 import java.util.HashMap;
29 import java.util.UUID;
30 import java.util.ArrayList;
31
32 import static org.junit.Assert.assertEquals;
33 import static org.junit.Assert.assertTrue;
34
35 @RunWith(SpringRunner.class)
36 @SpringBootTest(classes = MSORequestDBApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
37 @ActiveProfiles("test")
38 @Transactional
39 public class InfraActiveRequestsRepositoryCustomControllerTest {
40
41     @LocalServerPort
42     private int port;
43     
44     @Value("${mso.adapters.requestDb.auth}")
45     private String msoAdaptersAuth;
46
47     private String createURLWithPort(String uri) {
48         return "http://localhost:" + port + uri;
49     }
50
51     private InfraActiveRequests infraActiveRequests;
52     private InfraActiveRequests infraActiveRequestsResponse;
53     private HttpHeaders headers;
54     private TestRestTemplate restTemplate;
55
56     private void verifyInfraActiveRequests() {
57         assertEquals(infraActiveRequests.getRequestId(), infraActiveRequestsResponse.getRequestId());
58         assertEquals(infraActiveRequests.getServiceInstanceId(), infraActiveRequestsResponse.getServiceInstanceId());
59         assertEquals(infraActiveRequests.getServiceInstanceName(), infraActiveRequestsResponse.getServiceInstanceName());
60         assertEquals(infraActiveRequests.getVnfId(), infraActiveRequestsResponse.getVnfId());
61         assertEquals(infraActiveRequests.getVnfName(), infraActiveRequestsResponse.getVnfName());
62         assertEquals(infraActiveRequests.getVfModuleId(), infraActiveRequestsResponse.getVfModuleId());
63         assertEquals(infraActiveRequests.getVfModuleName(), infraActiveRequestsResponse.getVfModuleName());
64         assertEquals(infraActiveRequests.getVolumeGroupId(), infraActiveRequestsResponse.getVolumeGroupId());
65         assertEquals(infraActiveRequests.getVolumeGroupName(), infraActiveRequestsResponse.getVolumeGroupName());
66         assertEquals(infraActiveRequests.getNetworkId(), infraActiveRequestsResponse.getNetworkId());
67         assertEquals(infraActiveRequests.getNetworkName(), infraActiveRequestsResponse.getNetworkName());
68         assertEquals(infraActiveRequests.getConfigurationId(), infraActiveRequestsResponse.getConfigurationId());
69         assertEquals(infraActiveRequests.getConfigurationName(), infraActiveRequestsResponse.getConfigurationName());
70         assertEquals(infraActiveRequests.getAaiServiceId(), infraActiveRequestsResponse.getAaiServiceId());
71         assertEquals(infraActiveRequests.getTenantId(), infraActiveRequestsResponse.getTenantId());
72         assertEquals(infraActiveRequests.getRequestScope(), infraActiveRequestsResponse.getRequestScope());
73         assertEquals(infraActiveRequests.getRequestorId(), infraActiveRequestsResponse.getRequestorId());
74         assertEquals(infraActiveRequests.getSource(), infraActiveRequestsResponse.getSource());
75         assertEquals(infraActiveRequests.getOperationalEnvId(), infraActiveRequestsResponse.getOperationalEnvId());
76         assertEquals(infraActiveRequests.getOperationalEnvName(), infraActiveRequestsResponse.getOperationalEnvName());
77         assertEquals(infraActiveRequests.getRequestStatus(), infraActiveRequestsResponse.getRequestStatus());
78         assertEquals(infraActiveRequests.getAction(), infraActiveRequestsResponse.getAction());
79     }
80
81     @Before
82     public void setup() {
83
84         headers = new HttpHeaders();
85         restTemplate = new TestRestTemplate("test", "test");
86
87         headers.set("Accept", MediaType.APPLICATION_JSON);
88         headers.set("Content-Type", MediaType.APPLICATION_JSON);
89         headers.set("Authorization", msoAdaptersAuth);
90
91         infraActiveRequests = new InfraActiveRequests();
92
93         infraActiveRequests.setRequestId(UUID.randomUUID().toString());
94         infraActiveRequests.setOperationalEnvId(UUID.randomUUID().toString());
95         infraActiveRequests.setServiceInstanceId(UUID.randomUUID().toString());
96         infraActiveRequests.setServiceInstanceName("serviceInstanceNameTest");
97         infraActiveRequests.setVnfId(UUID.randomUUID().toString());
98         infraActiveRequests.setVnfName("vnfInstanceNameTest");
99         infraActiveRequests.setVfModuleId(UUID.randomUUID().toString());
100         infraActiveRequests.setVfModuleName("vfModuleInstanceNameTest");
101         infraActiveRequests.setVolumeGroupId(UUID.randomUUID().toString());
102         infraActiveRequests.setVolumeGroupName("volumeGroupInstanceNameTest");
103         infraActiveRequests.setNetworkId(UUID.randomUUID().toString());
104         infraActiveRequests.setNetworkName("networkInstanceNameTest");
105         infraActiveRequests.setConfigurationId(UUID.randomUUID().toString());
106         infraActiveRequests.setConfigurationName("configurationInstanceNameTest");
107         infraActiveRequests.setAicCloudRegion("1");
108         infraActiveRequests.setTenantId(UUID.randomUUID().toString());
109         infraActiveRequests.setRequestScope("operationalEnvironment");
110         infraActiveRequests.setRequestorId(UUID.randomUUID().toString());
111         infraActiveRequests.setSource("sourceTest");
112         infraActiveRequests.setOperationalEnvName(UUID.randomUUID().toString());
113         infraActiveRequests.setRequestStatus("IN_PROGRESS");
114         infraActiveRequests.setAction("create");
115
116         HttpEntity<String> entity = new HttpEntity(infraActiveRequests, headers);
117
118         UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests"));
119         ResponseEntity<String> response = restTemplate.exchange(
120                 builder.toUriString(),
121                 HttpMethod.POST, entity, String.class);
122
123         assertEquals(201, response.getStatusCodeValue());
124     }
125
126
127     @Test
128     public void getCloudOrchestrationFiltersFromInfraActiveTest() {
129
130         Map<String, String> requestMap = new HashMap<>();
131         requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
132         requestMap.put("operationalEnvironmentName", infraActiveRequests.getOperationalEnvName());
133         requestMap.put("resourceType", "operationalEnvironment");
134
135         HttpEntity<Map<String, String>> entity = new HttpEntity<>(requestMap, headers);
136
137         UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/getCloudOrchestrationFiltersFromInfraActive");
138
139         ResponseEntity<List<InfraActiveRequests>> response = restTemplate.exchange(
140                 builder.toUriString(),
141                 HttpMethod.POST, entity, new ParameterizedTypeReference<List<InfraActiveRequests>>() {
142                 });
143
144         List<InfraActiveRequests> iarr = response.getBody();
145         assertEquals(200, response.getStatusCodeValue());
146
147         assertTrue(iarr.size() == 1);
148         infraActiveRequestsResponse = iarr.get(0);
149
150         verifyInfraActiveRequests();
151
152     }
153
154     @Test
155     public void getOrchestrationFiltersFromInfraActiveTest() {
156
157         Map<String, List<String>> requestMap = new HashMap<>();
158         List<String> values = new ArrayList<>();
159         values.add("EQUALS");
160         values.add(infraActiveRequests.getServiceInstanceId());
161         requestMap.put("serviceInstanceId", values);
162
163         values = new ArrayList<>();
164         values.add("EQUALS");
165         values.add(infraActiveRequests.getServiceInstanceName());
166         requestMap.put("serviceInstanceName", values);
167
168         HttpEntity<Map<String, List<String>>> entityList = new HttpEntity(requestMap, headers);
169         UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/getOrchestrationFiltersFromInfraActive");
170
171         ResponseEntity<List<InfraActiveRequests>> response = restTemplate.exchange(
172                 builder.toUriString(),
173                 HttpMethod.POST, entityList, new ParameterizedTypeReference<List<InfraActiveRequests>>() {
174                 });
175
176         List<InfraActiveRequests> iarr = response.getBody();
177
178         assertEquals(200, response.getStatusCodeValue());
179
180         assertTrue(iarr.size() == 1);
181         infraActiveRequestsResponse = iarr.get(0);
182
183         verifyInfraActiveRequests();
184     }
185
186     @Test
187     public void checkVnfIdStatusTest() {
188
189         
190         UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests" + "/checkVnfIdStatus/" + infraActiveRequests.getOperationalEnvId()));
191         HttpEntity<String> entity = new HttpEntity(HttpEntity.EMPTY, headers);
192
193         ResponseEntity<InfraActiveRequests> response = restTemplate.exchange(
194                 builder.toUriString(),
195                 HttpMethod.GET,entity , InfraActiveRequests.class);
196
197         infraActiveRequestsResponse = response.getBody();
198
199         assertEquals(200, response.getStatusCodeValue());
200
201         verifyInfraActiveRequests();
202     }
203
204     @Test
205     public void checkInstanceNameDuplicateTest() {
206
207         InstanceNameDuplicateCheckRequest instanceNameDuplicateCheckRequest = new InstanceNameDuplicateCheckRequest((HashMap<String, String>) null,
208                 infraActiveRequests.getOperationalEnvName(),
209                 infraActiveRequests.getRequestScope());
210
211         HttpEntity<InstanceNameDuplicateCheckRequest> entityList = new HttpEntity(instanceNameDuplicateCheckRequest, headers);
212         UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/checkInstanceNameDuplicate");
213
214         ResponseEntity<InfraActiveRequests> response = restTemplate.exchange(
215                 builder.toUriString(),
216                 HttpMethod.POST, entityList, new ParameterizedTypeReference<InfraActiveRequests>() {
217                 });
218
219         infraActiveRequestsResponse = response.getBody();
220
221         assertEquals(200, response.getStatusCodeValue());
222
223         verifyInfraActiveRequests();
224     }
225
226     @Test
227     public void checkInstanceNameDuplicateViaTest() {
228
229         Map<String, String> requestMap = new HashMap<>();
230         requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
231
232         InstanceNameDuplicateCheckRequest instanceNameDuplicateCheckRequest = new InstanceNameDuplicateCheckRequest((HashMap<String, String>) requestMap,
233                 null,
234                 infraActiveRequests.getRequestScope());
235
236         HttpEntity<InstanceNameDuplicateCheckRequest> entityList = new HttpEntity(instanceNameDuplicateCheckRequest, headers);
237         UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/checkInstanceNameDuplicate");
238
239         ResponseEntity<InfraActiveRequests> response = restTemplate.exchange(
240                 builder.toUriString(),
241                 HttpMethod.POST, entityList, new ParameterizedTypeReference<InfraActiveRequests>() {
242                 });
243
244         infraActiveRequestsResponse = response.getBody();
245
246         assertEquals(200, response.getStatusCodeValue());
247
248         verifyInfraActiveRequests();
249     }
250 }