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 org.junit.Before;
24 import org.junit.Test;
25 import org.junit.runner.RunWith;
26 import org.onap.so.adapters.requestsdb.RequestsAdapterBase;
27 import org.onap.so.adapters.requestsdb.application.MSORequestDBApplication;
28 import org.onap.so.db.request.beans.CloudApiRequests;
29 import org.onap.so.db.request.beans.InfraActiveRequests;
30 import org.onap.so.db.request.beans.OperationStatus;
31 import org.onap.so.db.request.beans.OperationalEnvDistributionStatus;
32 import org.onap.so.db.request.beans.OperationalEnvServiceModelStatus;
33 import org.onap.so.db.request.beans.RequestProcessingData;
34 import org.springframework.beans.factory.annotation.Autowired;
35 import org.springframework.boot.web.server.LocalServerPort;
36 import org.springframework.boot.test.context.SpringBootTest;
37 import org.springframework.test.context.ActiveProfiles;
38 import org.springframework.test.context.junit4.SpringRunner;
39 import java.util.List;
40 import java.util.UUID;
42 import java.util.HashMap;
43 import java.util.ArrayList;
44 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
45 import static com.shazam.shazamcrest.MatcherAssert.assertThat;
46 import static org.junit.Assert.assertEquals;
47 import static org.junit.Assert.assertNull;
48 import static org.junit.Assert.assertNotNull;
49 import static org.junit.Assert.assertFalse;
51 public class RequestsDbClientTest extends RequestsAdapterBase {
54 private RequestDbClientPortChanger requestsDbClient;
56 private InfraActiveRequests infraActiveRequests;
63 requestsDbClient.setPort(port);
65 infraActiveRequests = new InfraActiveRequests();
66 infraActiveRequests.setRequestId(UUID.randomUUID().toString());
67 infraActiveRequests.setOperationalEnvId(UUID.randomUUID().toString());
68 infraActiveRequests.setServiceInstanceId(UUID.randomUUID().toString());
69 infraActiveRequests.setServiceInstanceName("serviceInstanceNameTest");
70 infraActiveRequests.setVnfId(UUID.randomUUID().toString());
71 infraActiveRequests.setVnfName("vnfInstanceNameTest");
72 infraActiveRequests.setVfModuleId(UUID.randomUUID().toString());
73 infraActiveRequests.setVfModuleName("vfModuleInstanceNameTest");
74 infraActiveRequests.setVolumeGroupId(UUID.randomUUID().toString());
75 infraActiveRequests.setVolumeGroupName("volumeGroupInstanceNameTest");
76 infraActiveRequests.setNetworkId(UUID.randomUUID().toString());
77 infraActiveRequests.setNetworkName("networkInstanceNameTest");
78 infraActiveRequests.setConfigurationId(UUID.randomUUID().toString());
79 infraActiveRequests.setConfigurationName("configurationInstanceNameTest");
80 infraActiveRequests.setAicCloudRegion("1");
81 infraActiveRequests.setTenantId(UUID.randomUUID().toString());
82 infraActiveRequests.setRequestScope("operationalEnvironment");
83 infraActiveRequests.setRequestorId(UUID.randomUUID().toString());
84 infraActiveRequests.setSource("sourceTest");
85 infraActiveRequests.setOperationalEnvName(UUID.randomUUID().toString());
86 infraActiveRequests.setRequestStatus("IN_PROGRESS");
87 infraActiveRequests.setAction("create");
88 infraActiveRequests.setRequestAction("someaction");
90 .setRequestUrl("http://localhost:8080/onap/so/infra/serviceInstantiation/v7/serviceInstances");
91 List<CloudApiRequests> cloudApiRequests = new ArrayList<>();
92 CloudApiRequests cloudRequest = new CloudApiRequests();
93 cloudRequest.setCloudIdentifier("heatstackanme/id");
94 cloudRequest.setId(1);
95 cloudRequest.setRequestBody("requestBody");
96 cloudRequest.setRequestId(infraActiveRequests.getRequestId());
97 cloudApiRequests.add(cloudRequest);
98 infraActiveRequests.setCloudApiRequests(cloudApiRequests);
99 requestsDbClient.save(infraActiveRequests);
102 private void verifyOperationStatus(OperationStatus request, OperationStatus response) {
103 assertThat(request, sameBeanAs(response).ignoring("operateAt").ignoring("finishedAt"));
107 private void verifyInfraActiveRequests(InfraActiveRequests infraActiveRequestsResponse) {
108 assertThat(infraActiveRequestsResponse, sameBeanAs(infraActiveRequests).ignoring("modifyTime").ignoring("log")
109 .ignoring("cloudApiRequests.created").ignoring("cloudApiRequests.id"));
113 public void getCloudOrchestrationFiltersFromInfraActiveTest() {
114 Map<String, String> requestMap = new HashMap<>();
115 requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
116 requestMap.put("operationalEnvironmentName", infraActiveRequests.getOperationalEnvName());
117 requestMap.put("resourceType", "operationalEnvironment");
119 List<InfraActiveRequests> iarr = requestsDbClient.getCloudOrchestrationFiltersFromInfraActive(requestMap);
121 assertEquals(1, iarr.size());
122 InfraActiveRequests infraActiveRequestsResponse = iarr.get(0);
123 verifyInfraActiveRequests(infraActiveRequestsResponse);
127 public void checkVnfIdStatusTest() {
128 InfraActiveRequests infraActiveRequestsResponse =
129 requestsDbClient.checkVnfIdStatus(infraActiveRequests.getOperationalEnvId());
130 verifyInfraActiveRequests(infraActiveRequestsResponse);
131 assertNull(requestsDbClient.checkVnfIdStatus(UUID.randomUUID().toString()));
135 public void checkInstanceNameDuplicateTest() {
136 InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkInstanceNameDuplicate(null,
137 infraActiveRequests.getOperationalEnvName(), infraActiveRequests.getRequestScope());
139 verifyInfraActiveRequests(infraActiveRequestsResponse);
143 public void checkInstanceNameDuplicateViaTest() {
144 Map<String, String> requestMap = new HashMap<>();
145 requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
147 InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkInstanceNameDuplicate(
148 (HashMap<String, String>) requestMap, null, infraActiveRequests.getRequestScope());
150 verifyInfraActiveRequests(infraActiveRequestsResponse);
154 public void getOrchestrationFiltersFromInfraActiveTest() {
155 Map<String, List<String>> requestMap = new HashMap<>();
156 List<String> values = new ArrayList<>();
157 values.add("EQUALS");
158 values.add(infraActiveRequests.getServiceInstanceId());
159 requestMap.put("serviceInstanceId", values);
161 values = new ArrayList<>();
162 values.add("EQUALS");
163 values.add(infraActiveRequests.getServiceInstanceName());
164 requestMap.put("serviceInstanceName", values);
166 List<InfraActiveRequests> iaar = requestsDbClient.getOrchestrationFiltersFromInfraActive(requestMap);
168 assertEquals(1, iaar.size());
169 InfraActiveRequests infraActiveRequestsResponse = iaar.get(0);
171 verifyInfraActiveRequests(infraActiveRequestsResponse);
172 values = new ArrayList<>();
173 values.add("EQUALS");
174 values.add(UUID.randomUUID().toString());
175 requestMap.put("serviceInstanceName", values);
176 requestsDbClient.getOrchestrationFiltersFromInfraActive(requestMap);
180 public void getInfraActiveRequestbyRequestIdTest() {
181 InfraActiveRequests infraActiveRequestsResponse =
182 requestsDbClient.getInfraActiveRequestbyRequestId(infraActiveRequests.getRequestId());
183 verifyInfraActiveRequests(infraActiveRequestsResponse);
184 infraActiveRequestsResponse =
185 requestsDbClient.getInfraActiveRequestbyRequestId(infraActiveRequests.getRequestId());
187 assertNull(requestsDbClient.getInfraActiveRequestbyRequestId(UUID.randomUUID().toString()));
191 public void getInfraActiveRequestbyRequestIdWhereRequestUrlNullTest() {
192 // requestUrl setup to null and save
193 infraActiveRequests.setRequestUrl(null);
194 requestsDbClient.updateInfraActiveRequests(infraActiveRequests);
195 InfraActiveRequests infraActiveRequestsResponse =
196 requestsDbClient.getInfraActiveRequestbyRequestId(infraActiveRequests.getRequestId());
197 verifyInfraActiveRequests(infraActiveRequestsResponse);
199 assertNull(infraActiveRequestsResponse.getRequestUrl());
203 public void getOneByServiceIdAndOperationIdTest() {
204 OperationStatus operationStatus = new OperationStatus();
205 operationStatus.setProgress("IN_PROGRESS");
206 operationStatus.setResult("FAILED");
207 operationStatus.setServiceId(UUID.randomUUID().toString());
208 operationStatus.setOperationContent("operation-content");
209 operationStatus.setOperation("operation");
210 operationStatus.setOperationId(UUID.randomUUID().toString());
211 operationStatus.setReason("reason-test");
212 operationStatus.setUserId(UUID.randomUUID().toString());
213 operationStatus.setServiceName("test-service");
214 requestsDbClient.save(operationStatus);
216 OperationStatus operationStatusResponse = requestsDbClient
217 .getOneByServiceIdAndOperationId(operationStatus.getServiceId(), operationStatus.getOperationId());
219 verifyOperationStatus(operationStatus, operationStatusResponse);
221 assertNull(requestsDbClient.getOneByServiceIdAndOperationId(UUID.randomUUID().toString(),
222 operationStatus.getOperationId()));
227 public void getRequestProcessingDataBySoRequestIdTest() {
228 List<RequestProcessingData> requestProcessingDataList =
229 requestsDbClient.getRequestProcessingDataBySoRequestId("00032ab7-na18-42e5-965d-8ea592502018");
230 assertNotNull(requestProcessingDataList);
231 assertFalse(requestProcessingDataList.isEmpty());
232 assertEquals(2, requestProcessingDataList.size());
236 public void findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestIdTest() {
237 OperationalEnvServiceModelStatus operationalEnvServiceModelStatus =
238 requestsDbClient.findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId("1234", "TEST1234",
239 "00032ab7-3fb3-42e5-965d-8ea592502017");
240 assertNotNull(operationalEnvServiceModelStatus);
241 assertEquals("1234", operationalEnvServiceModelStatus.getOperationalEnvId());
242 assertEquals("TEST1234", operationalEnvServiceModelStatus.getServiceModelVersionId());
244 OperationalEnvServiceModelStatus operationalEnvServiceModelStatus1 =
245 requestsDbClient.findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId("1234", "TEST1235",
246 "00032ab7-3fb3-42e5-965d-8ea592502018");
247 assertNotNull(operationalEnvServiceModelStatus1);
248 assertEquals("00032ab7-3fb3-42e5-965d-8ea592502018", operationalEnvServiceModelStatus1.getRequestId());
249 assertEquals("1234", operationalEnvServiceModelStatus1.getOperationalEnvId());
250 assertEquals("TEST1235", operationalEnvServiceModelStatus1.getServiceModelVersionId());
254 public void getAllByOperationalEnvIdAndRequestId() {
255 List<OperationalEnvServiceModelStatus> operationalEnvServiceModelStatuses =
256 requestsDbClient.getAllByOperationalEnvIdAndRequestId("1234", "00032ab7-3fb3-42e5-965d-8ea592502017");
257 assertNotNull(operationalEnvServiceModelStatuses);
258 assertFalse(operationalEnvServiceModelStatuses.isEmpty());
259 assertEquals(2, operationalEnvServiceModelStatuses.size());
263 public void getDistributionStatusByIdTest() {
264 OperationalEnvDistributionStatus operationalEnvDistributionStatus =
265 requestsDbClient.getDistributionStatusById("111");
266 assertNotNull(operationalEnvDistributionStatus);
267 assertEquals("111", operationalEnvDistributionStatus.getDistributionId());
268 assertEquals("ERROR", operationalEnvDistributionStatus.getDistributionIdErrorReason());
269 assertEquals("00032ab7-3fb3-42e5-965d-8ea592502017", operationalEnvDistributionStatus.getRequestId());