add test cases to increase coverage
[aai/sparky-be.git] / sparkybe-onap-service / src / test / java / org / onap / aai / sparky / search / EntityCountHistoryProcessorTest.java
1 package org.onap.aai.sparky.search;
2
3 import static org.junit.Assert.assertEquals;
4
5 import org.apache.camel.Exchange;
6 import org.apache.camel.Message;
7 import org.apache.camel.component.restlet.RestletConstants;
8 import org.junit.Before;
9 import org.junit.Test;
10 import org.mockito.ArgumentCaptor;
11 import org.mockito.Mockito;
12 import org.onap.aai.restclient.client.OperationResult;
13 import org.onap.aai.sparky.dal.ElasticSearchAdapter;
14 import org.onap.aai.sparky.search.EntityCountHistoryProcessor;
15 import org.onap.aai.sparky.util.RestletUtils;
16 import org.restlet.Request;
17 import org.restlet.Response;
18 import org.restlet.data.ClientInfo;
19 import org.restlet.data.Reference;
20 import org.restlet.data.Status;
21
22 import com.fasterxml.jackson.databind.ObjectMapper;
23 import com.fasterxml.jackson.databind.node.ArrayNode;
24 import com.fasterxml.jackson.databind.node.ObjectNode;
25
26 public class EntityCountHistoryProcessorTest {
27   private EntityCountHistoryProcessor entityCountHistoryProcessor;
28   private Exchange mockExchange;
29   private Message mockRequestMessage;
30   private Message mockResponseMessage;
31   private Request mockRestletRequest;
32   private Response mockRestletResponse;
33   private ClientInfo requestClientInfo;
34   private RestletUtils mockRestletUtils;
35   private ElasticSearchAdapter mockElasticSearchAdapter;
36
37   @Before
38   public void init() throws Exception {
39     mockExchange = Mockito.mock(Exchange.class);
40     mockRequestMessage = Mockito.mock(Message.class);
41     mockResponseMessage = Mockito.mock(Message.class);
42     mockRestletRequest = Mockito.mock(Request.class);
43     mockRestletResponse = Mockito.mock(Response.class);
44     mockRestletUtils = Mockito.mock(RestletUtils.class);
45     mockElasticSearchAdapter = Mockito.mock(ElasticSearchAdapter.class);
46
47     entityCountHistoryProcessor = new EntityCountHistoryProcessor(mockElasticSearchAdapter,
48         "pserver", "vnf", "entityCount-index");
49     entityCountHistoryProcessor.setRestletUtils(mockRestletUtils);
50
51     requestClientInfo = new ClientInfo();
52
53     Mockito.when(mockRestletRequest.getClientInfo()).thenReturn(requestClientInfo);
54
55     Mockito.when(mockRequestMessage.getHeader(RestletConstants.RESTLET_REQUEST, Request.class))
56         .thenReturn(mockRestletRequest);
57     Mockito.when(mockRequestMessage.getHeader(RestletConstants.RESTLET_RESPONSE, Response.class))
58         .thenReturn(mockRestletResponse);
59     Mockito.when(mockExchange.getIn()).thenReturn(mockRequestMessage);
60     Mockito.when(mockExchange.getOut()).thenReturn(mockResponseMessage);
61   }
62
63   public String getStubbedData_getEntityCountHistory_success() {
64     ObjectMapper mapper = new ObjectMapper();
65     ObjectNode entityCountEntry = mapper.createObjectNode();
66
67     entityCountEntry.put("doc_count", 2069);
68     entityCountEntry.put("key", "complex");
69
70     ArrayNode arrayNode = mapper.createArrayNode();
71     arrayNode.add(entityCountEntry);
72
73     ObjectNode resultNode = mapper.createObjectNode();
74     resultNode.set("result", arrayNode);
75
76     return resultNode.toString();
77   }
78
79   @Test
80   public void testGetEntityCountHistory_success() {
81     EntityCountHistoryProcessor spyEntityCountHistoryProcessor =
82         Mockito.spy(entityCountHistoryProcessor);
83     OperationResult operationResult = new OperationResult();
84
85     String result = getStubbedData_getEntityCountHistory_success();
86
87     operationResult.setResult(Status.SUCCESS_OK.getCode(), result);
88
89     Mockito.when(mockExchange.getIn().getHeader("CamelHttpQuery", String.class)).thenReturn("");
90
91     Mockito.doReturn("table").when(spyEntityCountHistoryProcessor).getTypeParameter(Mockito.any());
92     Mockito.doReturn(operationResult).when(spyEntityCountHistoryProcessor).getResults(Mockito.any(),
93         Mockito.any());
94
95
96   }
97
98   @Test
99   public void testGetEntityCountHistory_failure_noTypeParameter() {
100     Mockito.when(mockRestletRequest.getOriginalRef()).thenReturn(new Reference());
101
102     EntityCountHistoryProcessor spyEntityCountHistoryProcessor =
103         Mockito.spy(entityCountHistoryProcessor);
104     OperationResult operationResult = new OperationResult();
105
106     String result = getStubbedData_getEntityCountHistory_success();
107
108     operationResult.setResult(Status.SUCCESS_OK.getCode(), result);
109
110     Mockito.when(mockExchange.getIn().getHeader("CamelHttpQuery", String.class)).thenReturn("");
111
112     Mockito.doReturn("").when(spyEntityCountHistoryProcessor).getTypeParameter(Mockito.any());
113     Mockito.doReturn(operationResult).when(spyEntityCountHistoryProcessor).getResults(Mockito.any(),
114         Mockito.any());
115
116
117   }
118 }