Merge "Improve test coverage for requestdbclient"
[so.git] / adapters / mso-requests-db-adapter / src / test / java / org / onap / so / adapters / requestsdb / client / RequestsDbClientTest.java
1 package org.onap.so.adapters.requestsdb.client;
2
3 import org.junit.Before;
4 import org.junit.Test;
5 import org.junit.runner.RunWith;
6 import org.onap.so.adapters.requestsdb.application.MSORequestDBApplication;
7 import org.onap.so.db.request.beans.InfraActiveRequests;
8 import org.onap.so.db.request.beans.OperationStatus;
9 import org.springframework.beans.factory.annotation.Autowired;
10 import org.springframework.boot.context.embedded.LocalServerPort;
11 import org.springframework.boot.test.context.SpringBootTest;
12 import org.springframework.test.context.ActiveProfiles;
13 import org.springframework.test.context.junit4.SpringRunner;
14 import java.util.List;
15 import java.util.UUID;
16 import java.util.Map;
17 import java.util.HashMap;
18 import java.util.ArrayList;
19
20 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
21 import static org.junit.Assert.assertEquals;
22 import static org.junit.Assert.assertNull;
23 import static org.junit.Assert.assertThat;
24
25 @RunWith(SpringRunner.class)
26 @SpringBootTest(classes = MSORequestDBApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
27 @ActiveProfiles("test")
28 public class RequestsDbClientTest {
29
30     @Autowired
31     private RequestDbClientPortChanger requestsDbClient;
32
33     private InfraActiveRequests infraActiveRequests;
34
35     @LocalServerPort
36     private int port;
37
38     @Before
39     public void setup() {
40         requestsDbClient.setPort(port);
41
42         infraActiveRequests = new InfraActiveRequests();
43         infraActiveRequests.setRequestId(UUID.randomUUID().toString());
44         infraActiveRequests.setOperationalEnvId(UUID.randomUUID().toString());
45         infraActiveRequests.setServiceInstanceId(UUID.randomUUID().toString());
46         infraActiveRequests.setServiceInstanceName("serviceInstanceNameTest");
47         infraActiveRequests.setVnfId(UUID.randomUUID().toString());
48         infraActiveRequests.setVnfName("vnfInstanceNameTest");
49         infraActiveRequests.setVfModuleId(UUID.randomUUID().toString());
50         infraActiveRequests.setVfModuleName("vfModuleInstanceNameTest");
51         infraActiveRequests.setVolumeGroupId(UUID.randomUUID().toString());
52         infraActiveRequests.setVolumeGroupName("volumeGroupInstanceNameTest");
53         infraActiveRequests.setNetworkId(UUID.randomUUID().toString());
54         infraActiveRequests.setNetworkName("networkInstanceNameTest");
55         infraActiveRequests.setConfigurationId(UUID.randomUUID().toString());
56         infraActiveRequests.setConfigurationName("configurationInstanceNameTest");
57         infraActiveRequests.setAicCloudRegion("1");
58         infraActiveRequests.setTenantId(UUID.randomUUID().toString());
59         infraActiveRequests.setRequestScope("operationalEnvironment");
60         infraActiveRequests.setRequestorId(UUID.randomUUID().toString());
61         infraActiveRequests.setSource("sourceTest");
62         infraActiveRequests.setOperationalEnvName(UUID.randomUUID().toString());
63         infraActiveRequests.setRequestStatus("IN_PROGRESS");
64         infraActiveRequests.setAction("create");
65         infraActiveRequests.setRequestAction("someaction");
66         requestsDbClient.save(infraActiveRequests);
67     }
68
69     private void verifyOperationStatus(OperationStatus request,OperationStatus response){
70         assertThat(request, sameBeanAs(response).ignoring("operateAt").ignoring("finishedAt"));
71    }
72
73     private void verifyInfraActiveRequests(InfraActiveRequests infraActiveRequestsResponse) {
74         assertThat(infraActiveRequestsResponse, sameBeanAs(infraActiveRequests).ignoring("modifyTime").ignoring("log"));
75     }
76
77     @Test
78     public void getCloudOrchestrationFiltersFromInfraActiveTest() {
79         Map<String, String> requestMap = new HashMap<>();
80         requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
81         requestMap.put("operationalEnvironmentName", infraActiveRequests.getOperationalEnvName());
82         requestMap.put("resourceType", "operationalEnvironment");
83
84         List<InfraActiveRequests> iarr = requestsDbClient.getCloudOrchestrationFiltersFromInfraActive(requestMap);
85
86         assertEquals(1, iarr.size());
87         InfraActiveRequests infraActiveRequestsResponse = iarr.get(0);
88         verifyInfraActiveRequests(infraActiveRequestsResponse);
89     }
90
91
92     @Test
93     public void checkVnfIdStatusTest() {
94         InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkVnfIdStatus(infraActiveRequests.getOperationalEnvId());
95         verifyInfraActiveRequests(infraActiveRequestsResponse);
96         assertNull(requestsDbClient.checkVnfIdStatus(UUID.randomUUID().toString()));
97     }
98
99     @Test
100     public void checkInstanceNameDuplicateTest() {
101         InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkInstanceNameDuplicate(null,infraActiveRequests.getOperationalEnvName(),infraActiveRequests.getRequestScope());
102
103         verifyInfraActiveRequests(infraActiveRequestsResponse);
104     }
105
106     @Test
107     public void checkInstanceNameDuplicateViaTest() {
108         Map<String, String> requestMap = new HashMap<>();
109         requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
110
111         InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.checkInstanceNameDuplicate((HashMap<String, String>)requestMap,null,infraActiveRequests.getRequestScope());
112
113         verifyInfraActiveRequests(infraActiveRequestsResponse);
114     }
115
116     @Test
117     public void getOrchestrationFiltersFromInfraActiveTest() {
118         Map<String, List<String>> requestMap = new HashMap<>();
119         List<String> values = new ArrayList<>();
120         values.add("EQUALS");
121         values.add(infraActiveRequests.getServiceInstanceId());
122         requestMap.put("serviceInstanceId", values);
123
124         values = new ArrayList<>();
125         values.add("EQUALS");
126         values.add(infraActiveRequests.getServiceInstanceName());
127         requestMap.put("serviceInstanceName", values);
128
129         List<InfraActiveRequests> iaar = requestsDbClient.getOrchestrationFiltersFromInfraActive(requestMap);
130
131         assertEquals(1, iaar.size());
132         InfraActiveRequests infraActiveRequestsResponse = iaar.get(0);
133
134         verifyInfraActiveRequests(infraActiveRequestsResponse);
135         values = new ArrayList<>();
136         values.add("EQUALS");
137         values.add(UUID.randomUUID().toString());
138         requestMap.put("serviceInstanceName", values);
139         requestsDbClient.getOrchestrationFiltersFromInfraActive(requestMap);
140     }
141
142     @Test
143     public void getInfraActiveRequestbyRequestIdTest(){
144         InfraActiveRequests infraActiveRequestsResponse = requestsDbClient.getInfraActiveRequestbyRequestId(infraActiveRequests.getRequestId());
145         verifyInfraActiveRequests(infraActiveRequestsResponse);
146         assertNull(requestsDbClient.getInfraActiveRequestbyRequestId(UUID.randomUUID().toString()));
147     }
148
149     @Test
150     public void getOneByServiceIdAndOperationIdTest(){
151         OperationStatus operationStatus = new OperationStatus();
152         operationStatus.setProgress("IN_PROGRESS");
153         operationStatus.setResult("FAILED");
154         operationStatus.setServiceId(UUID.randomUUID().toString());
155         operationStatus.setOperationContent("operation-content");
156         operationStatus.setOperation("operation");
157         operationStatus.setOperationId(UUID.randomUUID().toString());
158         operationStatus.setReason("reason-test");
159         operationStatus.setUserId(UUID.randomUUID().toString());
160         operationStatus.setServiceName("test-service");
161         requestsDbClient.save(operationStatus);
162
163         OperationStatus operationStatusResponse = requestsDbClient.getOneByServiceIdAndOperationId(operationStatus.getServiceId(),operationStatus.getOperationId());
164
165         verifyOperationStatus(operationStatus,operationStatusResponse);
166
167         assertNull(requestsDbClient.getOneByServiceIdAndOperationId(UUID.randomUUID().toString(),operationStatus.getOperationId()));
168     }
169 }