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.client;
23 import static com.shazam.shazamcrest.MatcherAssert.assertThat;
24 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
25 import static org.junit.Assert.assertEquals;
26 import static org.junit.Assert.assertFalse;
27 import static org.junit.Assert.assertNotNull;
28 import static org.junit.Assert.assertNull;
29 import java.sql.Timestamp;
30 import java.util.ArrayList;
31 import java.util.HashMap;
32 import java.util.List;
34 import java.util.UUID;
35 import org.junit.Before;
36 import org.junit.Test;
37 import org.onap.so.adapters.requestsdb.RequestsAdapterBase;
38 import org.onap.so.db.request.beans.CloudApiRequests;
39 import org.onap.so.db.request.beans.InfraActiveRequests;
40 import org.onap.so.db.request.beans.OperationStatus;
41 import org.onap.so.db.request.beans.OperationalEnvDistributionStatus;
42 import org.onap.so.db.request.beans.OperationalEnvServiceModelStatus;
43 import org.onap.so.db.request.beans.RequestProcessingData;
44 import org.springframework.beans.factory.annotation.Autowired;
45 import org.springframework.boot.web.server.LocalServerPort;
47 public class RequestsDbClientTest extends RequestsAdapterBase {
50 private RequestDbClientPortChanger requestsDbClient;
52 private InfraActiveRequests infraActiveRequests;
59 requestsDbClient.setPort(port);
61 infraActiveRequests = new InfraActiveRequests();
62 infraActiveRequests.setRequestId(UUID.randomUUID().toString());
63 infraActiveRequests.setOperationalEnvId(UUID.randomUUID().toString());
64 infraActiveRequests.setServiceInstanceId(UUID.randomUUID().toString());
65 infraActiveRequests.setServiceInstanceName("serviceInstanceNameTest");
66 infraActiveRequests.setVnfId(UUID.randomUUID().toString());
67 infraActiveRequests.setVnfName("vnfInstanceNameTest");
68 infraActiveRequests.setVfModuleId(UUID.randomUUID().toString());
69 infraActiveRequests.setVfModuleName("vfModuleInstanceNameTest");
70 infraActiveRequests.setVolumeGroupId(UUID.randomUUID().toString());
71 infraActiveRequests.setVolumeGroupName("volumeGroupInstanceNameTest");
72 infraActiveRequests.setNetworkId(UUID.randomUUID().toString());
73 infraActiveRequests.setNetworkName("networkInstanceNameTest");
74 infraActiveRequests.setConfigurationId(UUID.randomUUID().toString());
75 infraActiveRequests.setConfigurationName("configurationInstanceNameTest");
76 infraActiveRequests.setAicCloudRegion("1");
77 infraActiveRequests.setTenantId(UUID.randomUUID().toString());
78 infraActiveRequests.setRequestScope("operationalEnvironment");
79 infraActiveRequests.setRequestorId(UUID.randomUUID().toString());
80 infraActiveRequests.setSource("sourceTest");
81 infraActiveRequests.setOperationalEnvName(UUID.randomUUID().toString());
82 infraActiveRequests.setRequestStatus("IN_PROGRESS");
83 infraActiveRequests.setAction("create");
84 infraActiveRequests.setRequestAction("someaction");
85 infraActiveRequests.setStartTime(new Timestamp(System.currentTimeMillis()));
87 .setRequestUrl("http://localhost:8080/onap/so/infra/serviceInstantiation/v7/serviceInstances");
88 List<CloudApiRequests> cloudApiRequests = new ArrayList<>();
89 CloudApiRequests cloudRequest = new CloudApiRequests();
90 cloudRequest.setCloudIdentifier("heatstackanme/id");
91 cloudRequest.setId(1);
92 cloudRequest.setRequestBody("requestBody");
93 cloudRequest.setRequestId(infraActiveRequests.getRequestId());
94 cloudApiRequests.add(cloudRequest);
95 infraActiveRequests.setCloudApiRequests(cloudApiRequests);
96 requestsDbClient.save(infraActiveRequests);
98 InfraActiveRequests infraActiveRequests2 = new InfraActiveRequests();
99 infraActiveRequests2.setRequestId(UUID.randomUUID().toString());
100 infraActiveRequests2.setOperationalEnvId(UUID.randomUUID().toString());
101 infraActiveRequests2.setServiceInstanceId(UUID.randomUUID().toString());
102 infraActiveRequests2.setServiceInstanceName("serviceInstanceNameTest");
103 infraActiveRequests2.setVnfId(UUID.randomUUID().toString());
104 infraActiveRequests2.setVnfName("vnfInstanceNameTest");
105 infraActiveRequests2.setVfModuleId(UUID.randomUUID().toString());
106 infraActiveRequests2.setVfModuleName("vfModuleInstanceNameTest");
107 infraActiveRequests2.setVolumeGroupId(UUID.randomUUID().toString());
108 infraActiveRequests2.setVolumeGroupName("volumeGroupInstanceNameTest");
109 infraActiveRequests2.setNetworkId(UUID.randomUUID().toString());
110 infraActiveRequests2.setNetworkName("networkInstanceNameTest");
111 infraActiveRequests2.setConfigurationId(UUID.randomUUID().toString());
112 infraActiveRequests2.setConfigurationName("configurationInstanceNameTest");
113 infraActiveRequests2.setAicCloudRegion("1");
114 infraActiveRequests2.setTenantId(UUID.randomUUID().toString());
115 infraActiveRequests2.setRequestScope("operationalEnvironment");
116 infraActiveRequests2.setRequestorId(UUID.randomUUID().toString());
117 infraActiveRequests2.setSource("sourceTest");
118 infraActiveRequests2.setOperationalEnvName(UUID.randomUUID().toString());
119 infraActiveRequests2.setRequestStatus("IN_PROGRESS");
120 infraActiveRequests2.setAction("create");
121 infraActiveRequests2.setRequestAction("someaction");
122 infraActiveRequests2.setStartTime(new Timestamp(System.currentTimeMillis()));
124 .setRequestUrl("http://localhost:8080/onap/so/infra/serviceInstantiation/v7/serviceInstances");
127 private void verifyOperationStatus(OperationStatus request, OperationStatus response) {
128 assertThat(request, sameBeanAs(response).ignoring("operateAt").ignoring("finishedAt"));
132 private void verifyInfraActiveRequests(InfraActiveRequests infraActiveRequestsResponse) {
133 assertThat(infraActiveRequestsResponse, sameBeanAs(infraActiveRequests).ignoring("modifyTime").ignoring("log")
134 .ignoring("cloudApiRequests.created").ignoring("cloudApiRequests.id"));
138 public void getCloudOrchestrationFiltersFromInfraActiveTest() {
139 Map<String, String> requestMap = new HashMap<>();
140 requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
141 requestMap.put("operationalEnvironmentName", infraActiveRequests.getOperationalEnvName());
142 requestMap.put("resourceType", "operationalEnvironment");
144 List<InfraActiveRequests> iarr = requestsDbClient.getCloudOrchestrationFiltersFromInfraActive(requestMap);
146 assertEquals(1, iarr.size());
147 InfraActiveRequests infraActiveRequestsResponse = iarr.get(0);
148 verifyInfraActiveRequests(infraActiveRequestsResponse);
152 public void checkVnfIdStatusTest() {
153 InfraActiveRequests infraActiveRequestsResponse =
154 requestsDbClient.checkVnfIdStatus(infraActiveRequests.getOperationalEnvId());
155 verifyInfraActiveRequests(infraActiveRequestsResponse);
156 assertNull(requestsDbClient.checkVnfIdStatus(UUID.randomUUID().toString()));
160 public void checkInstanceNameDuplicateTest() {
161 InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkInstanceNameDuplicate(null,
162 infraActiveRequests.getOperationalEnvName(), infraActiveRequests.getRequestScope());
164 verifyInfraActiveRequests(infraActiveRequestsResponse);
168 public void checkInstanceNameDuplicateViaTest() {
169 Map<String, String> requestMap = new HashMap<>();
170 requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
172 InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkInstanceNameDuplicate(
173 (HashMap<String, String>) requestMap, null, infraActiveRequests.getRequestScope());
175 verifyInfraActiveRequests(infraActiveRequestsResponse);
179 public void getOrchestrationFiltersFromInfraActiveTest() {
180 Map<String, List<String>> requestMap = new HashMap<>();
181 List<String> values = new ArrayList<>();
182 values.add("EQUALS");
183 values.add(infraActiveRequests.getServiceInstanceId());
184 requestMap.put("serviceInstanceId", values);
186 values = new ArrayList<>();
187 values.add("EQUALS");
188 values.add(infraActiveRequests.getServiceInstanceName());
189 requestMap.put("serviceInstanceName", values);
191 List<InfraActiveRequests> iaar = requestsDbClient.getOrchestrationFiltersFromInfraActive(requestMap);
193 assertEquals(1, iaar.size());
194 InfraActiveRequests infraActiveRequestsResponse = iaar.get(0);
196 verifyInfraActiveRequests(infraActiveRequestsResponse);
197 values = new ArrayList<>();
198 values.add("EQUALS");
199 values.add(UUID.randomUUID().toString());
200 requestMap.put("serviceInstanceName", values);
201 requestsDbClient.getOrchestrationFiltersFromInfraActive(requestMap);
205 public void getInfraActiveRequestbyRequestIdTest() {
206 InfraActiveRequests infraActiveRequestsResponse =
207 requestsDbClient.getInfraActiveRequestbyRequestId(infraActiveRequests.getRequestId());
208 verifyInfraActiveRequests(infraActiveRequestsResponse);
209 infraActiveRequestsResponse =
210 requestsDbClient.getInfraActiveRequestbyRequestId(infraActiveRequests.getRequestId());
212 assertNull(requestsDbClient.getInfraActiveRequestbyRequestId(UUID.randomUUID().toString()));
216 public void getInfraActiveRequestbyRequestIdWhereRequestUrlNullTest() {
217 // requestUrl setup to null and save
218 infraActiveRequests.setRequestUrl(null);
219 requestsDbClient.updateInfraActiveRequests(infraActiveRequests);
220 InfraActiveRequests infraActiveRequestsResponse =
221 requestsDbClient.getInfraActiveRequestbyRequestId(infraActiveRequests.getRequestId());
222 verifyInfraActiveRequests(infraActiveRequestsResponse);
224 assertNull(infraActiveRequestsResponse.getRequestUrl());
228 public void getOneByServiceIdAndOperationIdTest() {
229 OperationStatus operationStatus = new OperationStatus();
230 operationStatus.setProgress("IN_PROGRESS");
231 operationStatus.setResult("FAILED");
232 operationStatus.setServiceId(UUID.randomUUID().toString());
233 operationStatus.setOperationContent("operation-content");
234 operationStatus.setOperation("operation");
235 operationStatus.setOperationId(UUID.randomUUID().toString());
236 operationStatus.setReason("reason-test");
237 operationStatus.setUserId(UUID.randomUUID().toString());
238 operationStatus.setServiceName("test-service");
239 requestsDbClient.save(operationStatus);
241 OperationStatus operationStatusResponse = requestsDbClient
242 .getOneByServiceIdAndOperationId(operationStatus.getServiceId(), operationStatus.getOperationId());
244 verifyOperationStatus(operationStatus, operationStatusResponse);
246 assertNull(requestsDbClient.getOneByServiceIdAndOperationId(UUID.randomUUID().toString(),
247 operationStatus.getOperationId()));
252 public void getRequestProcessingDataBySoRequestIdTest() {
253 List<RequestProcessingData> requestProcessingDataList =
254 requestsDbClient.getRequestProcessingDataBySoRequestId("00032ab7-na18-42e5-965d-8ea592502018");
255 assertNotNull(requestProcessingDataList);
256 assertFalse(requestProcessingDataList.isEmpty());
257 assertEquals(2, requestProcessingDataList.size());
262 public void findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestIdTest() {
263 OperationalEnvServiceModelStatus operationalEnvServiceModelStatus =
264 requestsDbClient.findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId("1234", "TEST1234",
265 "00032ab7-3fb3-42e5-965d-8ea592502017");
266 assertNotNull(operationalEnvServiceModelStatus);
267 assertEquals("1234", operationalEnvServiceModelStatus.getOperationalEnvId());
268 assertEquals("TEST1234", operationalEnvServiceModelStatus.getServiceModelVersionId());
270 OperationalEnvServiceModelStatus operationalEnvServiceModelStatus1 =
271 requestsDbClient.findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId("1234", "TEST1235",
272 "00032ab7-3fb3-42e5-965d-8ea592502018");
273 assertNotNull(operationalEnvServiceModelStatus1);
274 assertEquals("00032ab7-3fb3-42e5-965d-8ea592502018", operationalEnvServiceModelStatus1.getRequestId());
275 assertEquals("1234", operationalEnvServiceModelStatus1.getOperationalEnvId());
276 assertEquals("TEST1235", operationalEnvServiceModelStatus1.getServiceModelVersionId());
280 public void getAllByOperationalEnvIdAndRequestId() {
281 List<OperationalEnvServiceModelStatus> operationalEnvServiceModelStatuses =
282 requestsDbClient.getAllByOperationalEnvIdAndRequestId("1234", "00032ab7-3fb3-42e5-965d-8ea592502017");
283 assertNotNull(operationalEnvServiceModelStatuses);
284 assertFalse(operationalEnvServiceModelStatuses.isEmpty());
285 assertEquals(2, operationalEnvServiceModelStatuses.size());
289 public void getDistributionStatusByIdTest() {
290 OperationalEnvDistributionStatus operationalEnvDistributionStatus =
291 requestsDbClient.getDistributionStatusById("111");
292 assertNotNull(operationalEnvDistributionStatus);
293 assertEquals("111", operationalEnvDistributionStatus.getDistributionId());
294 assertEquals("ERROR", operationalEnvDistributionStatus.getDistributionIdErrorReason());
295 assertEquals("00032ab7-3fb3-42e5-965d-8ea592502017", operationalEnvDistributionStatus.getRequestId());
299 public void getRequestProcessingDataBySoRequestIdAndName() {
300 RequestProcessingData requestProcessingData = requestsDbClient
301 .getRequestProcessingDataBySoRequestIdAndNameAndGrouping("00032ab7-na18-42e5-965d-8ea592502018",
302 "requestAction", "7d2e8c07-4d10-456d-bddc-37abf38ca714");
303 assertNotNull(requestProcessingData);
308 public void getInfraActiveRequestbyRequestId_Filters_Test() {
309 Map<String, String[]> filters = new HashMap<>();
310 filters.put("requestStatus", new String[] {"EQ", "IN_PROGRESS"});
311 filters.put("action", new String[] {"EQ", "create"});
312 filters.put("serviceInstanceId", new String[] {"EQ", infraActiveRequests.getServiceInstanceId()});
313 List<InfraActiveRequests> infraActiveRequestsResponse = requestsDbClient.getRequest(filters);
315 verifyInfraActiveRequests(infraActiveRequestsResponse.get(0));