Merge "Check for existing VNF in VNFM"
[so.git] / adapters / mso-requests-db-adapter / src / test / java / org / onap / so / adapters / requestsdb / client / RequestsDbClientTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
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
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
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=========================================================
19  */
20
21 package org.onap.so.adapters.requestsdb.client;
22
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.InfraActiveRequests;
29 import org.onap.so.db.request.beans.OperationStatus;
30 import org.onap.so.db.request.beans.OperationalEnvDistributionStatus;
31 import org.onap.so.db.request.beans.OperationalEnvServiceModelStatus;
32 import org.onap.so.db.request.beans.RequestProcessingData;
33 import org.springframework.beans.factory.annotation.Autowired;
34 import org.springframework.boot.web.server.LocalServerPort;
35 import org.springframework.boot.test.context.SpringBootTest;
36 import org.springframework.test.context.ActiveProfiles;
37 import org.springframework.test.context.junit4.SpringRunner;
38 import java.util.List;
39 import java.util.UUID;
40 import java.util.Map;
41 import java.util.HashMap;
42 import java.util.ArrayList;
43
44 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
45 import static org.junit.Assert.assertEquals;
46 import static org.junit.Assert.assertNull;
47 import static org.junit.Assert.assertThat;
48 import static org.junit.Assert.assertNotNull;
49 import static org.junit.Assert.assertFalse;
50
51 public class RequestsDbClientTest extends RequestsAdapterBase {
52
53     @Autowired
54     private RequestDbClientPortChanger requestsDbClient;
55
56     private InfraActiveRequests infraActiveRequests;
57
58     @LocalServerPort
59     private int port;
60
61     @Before
62     public void setup() {
63         requestsDbClient.setPort(port);
64
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");
89         infraActiveRequests.setRequestUrl("http://localhost:8080/onap/so/infra/serviceInstantiation/v7/serviceInstances");        
90         requestsDbClient.save(infraActiveRequests);
91     }
92
93     private void verifyOperationStatus(OperationStatus request,OperationStatus response){
94         assertThat(request, sameBeanAs(response).ignoring("operateAt").ignoring("finishedAt"));
95    }
96
97
98     private void verifyInfraActiveRequests(InfraActiveRequests infraActiveRequestsResponse) {
99         assertThat(infraActiveRequestsResponse, sameBeanAs(infraActiveRequests).ignoring("modifyTime").ignoring("log"));
100     }
101
102     @Test
103     public void getCloudOrchestrationFiltersFromInfraActiveTest() {
104         Map<String, String> requestMap = new HashMap<>();
105         requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
106         requestMap.put("operationalEnvironmentName", infraActiveRequests.getOperationalEnvName());
107         requestMap.put("resourceType", "operationalEnvironment");
108
109         List<InfraActiveRequests> iarr = requestsDbClient.getCloudOrchestrationFiltersFromInfraActive(requestMap);
110
111         assertEquals(1, iarr.size());
112         InfraActiveRequests infraActiveRequestsResponse = iarr.get(0);
113         verifyInfraActiveRequests(infraActiveRequestsResponse);
114     }
115
116
117     @Test
118     public void checkVnfIdStatusTest() {
119         InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkVnfIdStatus(infraActiveRequests.getOperationalEnvId());
120         verifyInfraActiveRequests(infraActiveRequestsResponse);
121         assertNull(requestsDbClient.checkVnfIdStatus(UUID.randomUUID().toString()));
122     }
123
124     @Test
125     public void checkInstanceNameDuplicateTest() {
126         InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkInstanceNameDuplicate(null,infraActiveRequests.getOperationalEnvName(),infraActiveRequests.getRequestScope());
127
128         verifyInfraActiveRequests(infraActiveRequestsResponse);
129     }
130
131     @Test
132     public void checkInstanceNameDuplicateViaTest() {
133         Map<String, String> requestMap = new HashMap<>();
134         requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
135
136         InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkInstanceNameDuplicate((HashMap<String, String>)requestMap,null,infraActiveRequests.getRequestScope());
137
138         verifyInfraActiveRequests(infraActiveRequestsResponse);
139     }
140
141     @Test
142     public void getOrchestrationFiltersFromInfraActiveTest() {
143         Map<String, List<String>> requestMap = new HashMap<>();
144         List<String> values = new ArrayList<>();
145         values.add("EQUALS");
146         values.add(infraActiveRequests.getServiceInstanceId());
147         requestMap.put("serviceInstanceId", values);
148
149         values = new ArrayList<>();
150         values.add("EQUALS");
151         values.add(infraActiveRequests.getServiceInstanceName());
152         requestMap.put("serviceInstanceName", values);
153
154         List<InfraActiveRequests> iaar = requestsDbClient.getOrchestrationFiltersFromInfraActive(requestMap);
155
156         assertEquals(1, iaar.size());
157         InfraActiveRequests infraActiveRequestsResponse = iaar.get(0);
158
159         verifyInfraActiveRequests(infraActiveRequestsResponse);
160         values = new ArrayList<>();
161         values.add("EQUALS");
162         values.add(UUID.randomUUID().toString());
163         requestMap.put("serviceInstanceName", values);
164         requestsDbClient.getOrchestrationFiltersFromInfraActive(requestMap);
165     }
166
167     @Test
168     public void getInfraActiveRequestbyRequestIdTest(){
169         InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.getInfraActiveRequestbyRequestId(infraActiveRequests.getRequestId());
170         verifyInfraActiveRequests(infraActiveRequestsResponse);       
171         infraActiveRequestsResponse = requestsDbClient.getInfraActiveRequestbyRequestId(infraActiveRequests.getRequestId());
172         
173         assertNull(requestsDbClient.getInfraActiveRequestbyRequestId(UUID.randomUUID().toString()));
174     }
175     
176     @Test
177     public void getInfraActiveRequestbyRequestIdWhereRequestUrlNullTest(){
178         // requestUrl setup to null and save
179         infraActiveRequests.setRequestUrl(null);        
180         requestsDbClient.save(infraActiveRequests);
181         InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.getInfraActiveRequestbyRequestId(infraActiveRequests.getRequestId());
182         verifyInfraActiveRequests(infraActiveRequestsResponse);
183
184         assertNull(infraActiveRequestsResponse.getRequestUrl());
185     }
186     
187     @Test
188     public void getOneByServiceIdAndOperationIdTest(){
189         OperationStatus operationStatus = new OperationStatus();
190         operationStatus.setProgress("IN_PROGRESS");
191         operationStatus.setResult("FAILED");
192         operationStatus.setServiceId(UUID.randomUUID().toString());
193         operationStatus.setOperationContent("operation-content");
194         operationStatus.setOperation("operation");
195         operationStatus.setOperationId(UUID.randomUUID().toString());
196         operationStatus.setReason("reason-test");
197         operationStatus.setUserId(UUID.randomUUID().toString());
198         operationStatus.setServiceName("test-service");
199         requestsDbClient.save(operationStatus);
200
201         OperationStatus operationStatusResponse = requestsDbClient.getOneByServiceIdAndOperationId(operationStatus.getServiceId(),operationStatus.getOperationId());
202
203         verifyOperationStatus(operationStatus,operationStatusResponse);
204
205         assertNull(requestsDbClient.getOneByServiceIdAndOperationId(UUID.randomUUID().toString(),operationStatus.getOperationId()));
206     }
207
208
209     @Test
210     public void getRequestProcessingDataBySoRequestIdTest(){
211         List<RequestProcessingData> requestProcessingDataList = requestsDbClient
212                 .getRequestProcessingDataBySoRequestId("00032ab7-na18-42e5-965d-8ea592502018");
213         assertNotNull(requestProcessingDataList);
214         assertFalse(requestProcessingDataList.isEmpty());
215         assertEquals(2,requestProcessingDataList.size());
216     }
217
218     @Test
219     public void findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestIdTest(){
220         OperationalEnvServiceModelStatus operationalEnvServiceModelStatus =requestsDbClient.findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId("1234","TEST1234", "00032ab7-3fb3-42e5-965d-8ea592502017");
221         assertNotNull(operationalEnvServiceModelStatus);
222         assertEquals("1234",operationalEnvServiceModelStatus.getOperationalEnvId());
223         assertEquals("TEST1234",operationalEnvServiceModelStatus.getServiceModelVersionId());
224         
225         OperationalEnvServiceModelStatus operationalEnvServiceModelStatus1 =requestsDbClient.findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId("1234","TEST1235", "00032ab7-3fb3-42e5-965d-8ea592502018");
226         assertNotNull(operationalEnvServiceModelStatus1);
227         assertEquals("00032ab7-3fb3-42e5-965d-8ea592502018",operationalEnvServiceModelStatus1.getRequestId());
228         assertEquals("1234",operationalEnvServiceModelStatus1.getOperationalEnvId());
229         assertEquals("TEST1235",operationalEnvServiceModelStatus1.getServiceModelVersionId());        
230     }
231
232     @Test
233     public void getAllByOperationalEnvIdAndRequestId(){
234         List<OperationalEnvServiceModelStatus> operationalEnvServiceModelStatuses =requestsDbClient.getAllByOperationalEnvIdAndRequestId("1234","00032ab7-3fb3-42e5-965d-8ea592502017");
235         assertNotNull(operationalEnvServiceModelStatuses);
236         assertFalse(operationalEnvServiceModelStatuses.isEmpty());
237         assertEquals(2,operationalEnvServiceModelStatuses.size());
238     }
239
240     @Test
241     public void getDistributionStatusByIdTest(){
242         OperationalEnvDistributionStatus operationalEnvDistributionStatus =requestsDbClient.getDistributionStatusById("111");
243         assertNotNull(operationalEnvDistributionStatus);
244         assertEquals("111",operationalEnvDistributionStatus.getDistributionId());
245         assertEquals("ERROR",operationalEnvDistributionStatus.getDistributionIdErrorReason());
246         assertEquals("00032ab7-3fb3-42e5-965d-8ea592502017",operationalEnvDistributionStatus.getRequestId());        
247     }
248 }