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.application.MSORequestDBApplication;
27 import org.onap.so.db.request.beans.InfraActiveRequests;
28 import org.onap.so.db.request.beans.OperationStatus;
29 import org.springframework.beans.factory.annotation.Autowired;
30 import org.springframework.boot.context.embedded.LocalServerPort;
31 import org.springframework.boot.test.context.SpringBootTest;
32 import org.springframework.test.context.ActiveProfiles;
33 import org.springframework.test.context.junit4.SpringRunner;
34 import java.util.List;
35 import java.util.UUID;
37 import java.util.HashMap;
38 import java.util.ArrayList;
40 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
41 import static org.junit.Assert.assertEquals;
42 import static org.junit.Assert.assertNull;
43 import static org.junit.Assert.assertThat;
45 @RunWith(SpringRunner.class)
46 @SpringBootTest(classes = MSORequestDBApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
47 @ActiveProfiles("test")
48 public class RequestsDbClientTest {
51 private RequestDbClientPortChanger requestsDbClient;
53 private InfraActiveRequests infraActiveRequests;
60 requestsDbClient.setPort(port);
62 infraActiveRequests = new InfraActiveRequests();
63 infraActiveRequests.setRequestId(UUID.randomUUID().toString());
64 infraActiveRequests.setOperationalEnvId(UUID.randomUUID().toString());
65 infraActiveRequests.setServiceInstanceId(UUID.randomUUID().toString());
66 infraActiveRequests.setServiceInstanceName("serviceInstanceNameTest");
67 infraActiveRequests.setVnfId(UUID.randomUUID().toString());
68 infraActiveRequests.setVnfName("vnfInstanceNameTest");
69 infraActiveRequests.setVfModuleId(UUID.randomUUID().toString());
70 infraActiveRequests.setVfModuleName("vfModuleInstanceNameTest");
71 infraActiveRequests.setVolumeGroupId(UUID.randomUUID().toString());
72 infraActiveRequests.setVolumeGroupName("volumeGroupInstanceNameTest");
73 infraActiveRequests.setNetworkId(UUID.randomUUID().toString());
74 infraActiveRequests.setNetworkName("networkInstanceNameTest");
75 infraActiveRequests.setConfigurationId(UUID.randomUUID().toString());
76 infraActiveRequests.setConfigurationName("configurationInstanceNameTest");
77 infraActiveRequests.setAicCloudRegion("1");
78 infraActiveRequests.setTenantId(UUID.randomUUID().toString());
79 infraActiveRequests.setRequestScope("operationalEnvironment");
80 infraActiveRequests.setRequestorId(UUID.randomUUID().toString());
81 infraActiveRequests.setSource("sourceTest");
82 infraActiveRequests.setOperationalEnvName(UUID.randomUUID().toString());
83 infraActiveRequests.setRequestStatus("IN_PROGRESS");
84 infraActiveRequests.setAction("create");
85 infraActiveRequests.setRequestAction("someaction");
86 requestsDbClient.save(infraActiveRequests);
89 private void verifyOperationStatus(OperationStatus request,OperationStatus response){
90 assertThat(request, sameBeanAs(response).ignoring("operateAt").ignoring("finishedAt"));
93 private void verifyInfraActiveRequests(InfraActiveRequests infraActiveRequestsResponse) {
94 assertThat(infraActiveRequestsResponse, sameBeanAs(infraActiveRequests).ignoring("modifyTime").ignoring("log"));
98 public void getCloudOrchestrationFiltersFromInfraActiveTest() {
99 Map<String, String> requestMap = new HashMap<>();
100 requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
101 requestMap.put("operationalEnvironmentName", infraActiveRequests.getOperationalEnvName());
102 requestMap.put("resourceType", "operationalEnvironment");
104 List<InfraActiveRequests> iarr = requestsDbClient.getCloudOrchestrationFiltersFromInfraActive(requestMap);
106 assertEquals(1, iarr.size());
107 InfraActiveRequests infraActiveRequestsResponse = iarr.get(0);
108 verifyInfraActiveRequests(infraActiveRequestsResponse);
113 public void checkVnfIdStatusTest() {
114 InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkVnfIdStatus(infraActiveRequests.getOperationalEnvId());
115 verifyInfraActiveRequests(infraActiveRequestsResponse);
116 assertNull(requestsDbClient.checkVnfIdStatus(UUID.randomUUID().toString()));
120 public void checkInstanceNameDuplicateTest() {
121 InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkInstanceNameDuplicate(null,infraActiveRequests.getOperationalEnvName(),infraActiveRequests.getRequestScope());
123 verifyInfraActiveRequests(infraActiveRequestsResponse);
127 public void checkInstanceNameDuplicateViaTest() {
128 Map<String, String> requestMap = new HashMap<>();
129 requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
131 InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkInstanceNameDuplicate((HashMap<String, String>)requestMap,null,infraActiveRequests.getRequestScope());
133 verifyInfraActiveRequests(infraActiveRequestsResponse);
137 public void getOrchestrationFiltersFromInfraActiveTest() {
138 Map<String, List<String>> requestMap = new HashMap<>();
139 List<String> values = new ArrayList<>();
140 values.add("EQUALS");
141 values.add(infraActiveRequests.getServiceInstanceId());
142 requestMap.put("serviceInstanceId", values);
144 values = new ArrayList<>();
145 values.add("EQUALS");
146 values.add(infraActiveRequests.getServiceInstanceName());
147 requestMap.put("serviceInstanceName", values);
149 List<InfraActiveRequests> iaar = requestsDbClient.getOrchestrationFiltersFromInfraActive(requestMap);
151 assertEquals(1, iaar.size());
152 InfraActiveRequests infraActiveRequestsResponse = iaar.get(0);
154 verifyInfraActiveRequests(infraActiveRequestsResponse);
155 values = new ArrayList<>();
156 values.add("EQUALS");
157 values.add(UUID.randomUUID().toString());
158 requestMap.put("serviceInstanceName", values);
159 requestsDbClient.getOrchestrationFiltersFromInfraActive(requestMap);
163 public void getInfraActiveRequestbyRequestIdTest(){
164 InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.getInfraActiveRequestbyRequestId(infraActiveRequests.getRequestId());
165 verifyInfraActiveRequests(infraActiveRequestsResponse);
166 infraActiveRequestsResponse = requestsDbClient.getInfraActiveRequestbyRequestId(infraActiveRequests.getRequestId());
168 assertNull(requestsDbClient.getInfraActiveRequestbyRequestId(UUID.randomUUID().toString()));
173 public void getOneByServiceIdAndOperationIdTest(){
174 OperationStatus operationStatus = new OperationStatus();
175 operationStatus.setProgress("IN_PROGRESS");
176 operationStatus.setResult("FAILED");
177 operationStatus.setServiceId(UUID.randomUUID().toString());
178 operationStatus.setOperationContent("operation-content");
179 operationStatus.setOperation("operation");
180 operationStatus.setOperationId(UUID.randomUUID().toString());
181 operationStatus.setReason("reason-test");
182 operationStatus.setUserId(UUID.randomUUID().toString());
183 operationStatus.setServiceName("test-service");
184 requestsDbClient.save(operationStatus);
186 OperationStatus operationStatusResponse = requestsDbClient.getOneByServiceIdAndOperationId(operationStatus.getServiceId(),operationStatus.getOperationId());
188 verifyOperationStatus(operationStatus,operationStatusResponse);
190 assertNull(requestsDbClient.getOneByServiceIdAndOperationId(UUID.randomUUID().toString(),operationStatus.getOperationId()));