Merge "Removed printstacktrace from exception block"
[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.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;
36 import java.util.Map;
37 import java.util.HashMap;
38 import java.util.ArrayList;
39
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;
44
45 @RunWith(SpringRunner.class)
46 @SpringBootTest(classes = MSORequestDBApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
47 @ActiveProfiles("test")
48 public class RequestsDbClientTest {
49
50     @Autowired
51     private RequestDbClientPortChanger requestsDbClient;
52
53     private InfraActiveRequests infraActiveRequests;
54
55     @LocalServerPort
56     private int port;
57
58     @Before
59     public void setup() {
60         requestsDbClient.setPort(port);
61
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);
87     }
88
89     private void verifyOperationStatus(OperationStatus request,OperationStatus response){
90         assertThat(request, sameBeanAs(response).ignoring("operateAt").ignoring("finishedAt"));
91    }
92
93     private void verifyInfraActiveRequests(InfraActiveRequests infraActiveRequestsResponse) {
94         assertThat(infraActiveRequestsResponse, sameBeanAs(infraActiveRequests).ignoring("modifyTime").ignoring("log"));
95     }
96
97     @Test
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");
103
104         List<InfraActiveRequests> iarr = requestsDbClient.getCloudOrchestrationFiltersFromInfraActive(requestMap);
105
106         assertEquals(1, iarr.size());
107         InfraActiveRequests infraActiveRequestsResponse = iarr.get(0);
108         verifyInfraActiveRequests(infraActiveRequestsResponse);
109     }
110
111
112     @Test
113     public void checkVnfIdStatusTest() {
114         InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkVnfIdStatus(infraActiveRequests.getOperationalEnvId());
115         verifyInfraActiveRequests(infraActiveRequestsResponse);
116         assertNull(requestsDbClient.checkVnfIdStatus(UUID.randomUUID().toString()));
117     }
118
119     @Test
120     public void checkInstanceNameDuplicateTest() {
121         InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkInstanceNameDuplicate(null,infraActiveRequests.getOperationalEnvName(),infraActiveRequests.getRequestScope());
122
123         verifyInfraActiveRequests(infraActiveRequestsResponse);
124     }
125
126     @Test
127     public void checkInstanceNameDuplicateViaTest() {
128         Map<String, String> requestMap = new HashMap<>();
129         requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
130
131         InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkInstanceNameDuplicate((HashMap<String, String>)requestMap,null,infraActiveRequests.getRequestScope());
132
133         verifyInfraActiveRequests(infraActiveRequestsResponse);
134     }
135
136     @Test
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);
143
144         values = new ArrayList<>();
145         values.add("EQUALS");
146         values.add(infraActiveRequests.getServiceInstanceName());
147         requestMap.put("serviceInstanceName", values);
148
149         List<InfraActiveRequests> iaar = requestsDbClient.getOrchestrationFiltersFromInfraActive(requestMap);
150
151         assertEquals(1, iaar.size());
152         InfraActiveRequests infraActiveRequestsResponse = iaar.get(0);
153
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);
160     }
161
162     @Test
163     public void getInfraActiveRequestbyRequestIdTest(){
164         InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.getInfraActiveRequestbyRequestId(infraActiveRequests.getRequestId());
165         verifyInfraActiveRequests(infraActiveRequestsResponse);       
166         infraActiveRequestsResponse = requestsDbClient.getInfraActiveRequestbyRequestId(infraActiveRequests.getRequestId());
167         
168         assertNull(requestsDbClient.getInfraActiveRequestbyRequestId(UUID.randomUUID().toString()));
169     }
170     
171
172     @Test
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);
185
186         OperationStatus operationStatusResponse = requestsDbClient.getOneByServiceIdAndOperationId(operationStatus.getServiceId(),operationStatus.getOperationId());
187
188         verifyOperationStatus(operationStatus,operationStatusResponse);
189
190         assertNull(requestsDbClient.getOneByServiceIdAndOperationId(UUID.randomUUID().toString(),operationStatus.getOperationId()));
191     }
192 }