1 package org.onap.so.db.request.client;
3 import static org.junit.Assert.assertTrue;
4 import static org.mockito.ArgumentMatchers.eq;
5 import static org.mockito.ArgumentMatchers.isA;
6 import static org.mockito.Mockito.times;
7 import static org.mockito.Mockito.when;
9 import java.util.ArrayList;
10 import java.util.List;
11 import javax.ws.rs.core.UriBuilder;
12 import org.junit.Test;
13 import org.junit.runner.RunWith;
14 import org.mockito.InjectMocks;
15 import org.mockito.Mock;
16 import org.mockito.Mockito;
17 import org.mockito.Spy;
18 import org.mockito.junit.MockitoJUnitRunner;
19 import org.onap.so.db.request.beans.InfraActiveRequests;
20 import org.onap.so.db.request.beans.RequestProcessingData;
21 import org.springframework.core.ParameterizedTypeReference;
22 import org.springframework.http.HttpEntity;
23 import org.springframework.http.HttpMethod;
24 import org.springframework.http.HttpStatus;
25 import org.springframework.http.ResponseEntity;
26 import org.springframework.web.client.RestTemplate;
29 @RunWith(MockitoJUnitRunner.class)
30 public class RequestDbClientTest {
33 protected RequestsDbClient requestsDbClient;
36 protected RestTemplate restTemplate;
39 public void updateRequestProcessingDataTest() {
40 RequestProcessingData requestProcessingData = new RequestProcessingData();
41 requestProcessingData.setId(1);
42 URI uri = URI.create("/requestProcessingData/1");
43 requestsDbClient.updateRequestProcessingData(requestProcessingData);
44 Mockito.verify(restTemplate, times(1)).put(eq(uri), isA(HttpEntity.class));
48 public void updateInfraActiveRequestsTest() {
49 InfraActiveRequests request = new InfraActiveRequests();
50 request.setRequestId("1");
51 URI uri = URI.create("/infraActiveRequests/1");
52 requestsDbClient.patchInfraActiveRequests(request);
53 Mockito.verify(restTemplate, times(1)).exchange(eq(uri), eq(HttpMethod.PATCH), isA(HttpEntity.class),
58 public void testGetRequestProcessingDataBySoRequestIdAndIsInternalData() {
59 Mockito.doReturn("host").when(requestsDbClient).getEndpoint();
60 URI uri = URI.create(UriBuilder
61 .fromUri("host/requestProcessingData/search/findBySoRequestIdAndIsDataInternalOrderByGroupingIdDesc")
62 .queryParam("SO_REQUEST_ID", "12345").queryParam("IS_INTERNAL_DATA", false).build().toString());
63 when(restTemplate.exchange(eq(uri), eq(HttpMethod.GET), isA(HttpEntity.class),
64 isA(ParameterizedTypeReference.class))).thenReturn(
65 new ResponseEntity<List<RequestProcessingData>>(new ArrayList<RequestProcessingData>(),
66 HttpStatus.NOT_FOUND));
67 assertTrue(requestsDbClient.getExternalRequestProcessingDataBySoRequestId("12345").isEmpty());