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