2 * ============LICENSE_START=================================================== SPARKY (AAI UI
3 * service) ============================================================================ Copyright ©
4 * 2017 AT&T Intellectual Property. Copyright © 2017 Amdocs All rights reserved.
5 * ============================================================================ Licensed under the
6 * Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software distributed under the License
12 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 * or implied. See the License for the specific language governing permissions and limitations under
14 * the License. ============LICENSE_END=====================================================
16 * ECOMP and OpenECOMP are trademarks and service marks of AT&T Intellectual Property.
19 package org.onap.aai.sparky.search;
21 * import static org.junit.Assert.assertEquals;
23 * import org.apache.camel.Exchange; import org.apache.camel.Message; import
24 * org.apache.camel.component.restlet.RestletConstants; import org.junit.Before; import
25 * org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mockito; import
26 * org.onap.aai.restclient.client.OperationResult; import
27 * org.onap.aai.sparky.search.EntityCountHistoryProcessor; import
28 * org.onap.aai.sparky.util.RestletUtils; import org.restlet.Request; import org.restlet.Response;
29 * import org.restlet.data.ClientInfo; import org.restlet.data.Reference; import
30 * org.restlet.data.Status;
32 * import com.fasterxml.jackson.databind.ObjectMapper; import
33 * com.fasterxml.jackson.databind.node.ArrayNode; import
34 * com.fasterxml.jackson.databind.node.ObjectNode;
36 * public class EntityCountHistoryProcessorTest { private EntityCountHistoryProcessor
37 * entityCountHistoryProcessor; private Exchange mockExchange; private Message mockRequestMessage;
38 * private Message mockResponseMessage; private Request mockRestletRequest; private Response
39 * mockRestletResponse; private ClientInfo requestClientInfo; private RestletUtils mockRestletUtils;
41 * @Before public void init() throws Exception { mockExchange = Mockito.mock(Exchange.class);
42 * mockRequestMessage = Mockito.mock(Message.class); mockResponseMessage =
43 * Mockito.mock(Message.class); mockRestletRequest = Mockito.mock(Request.class);
44 * mockRestletResponse = Mockito.mock(Response.class); mockRestletUtils =
45 * Mockito.mock(RestletUtils.class);
47 * entityCountHistoryProcessor = new EntityCountHistoryProcessor();
48 * entityCountHistoryProcessor.setRestletUtils(mockRestletUtils);
50 * requestClientInfo = new ClientInfo();
52 * Mockito.when(mockRestletRequest.getClientInfo()).thenReturn(requestClientInfo);
54 * Mockito.when(mockRequestMessage.getHeader(RestletConstants.RESTLET_REQUEST, Request.class))
55 * .thenReturn(mockRestletRequest);
56 * Mockito.when(mockRequestMessage.getHeader(RestletConstants.RESTLET_RESPONSE, Response.class))
57 * .thenReturn(mockRestletResponse);
58 * Mockito.when(mockExchange.getIn()).thenReturn(mockRequestMessage);
59 * Mockito.when(mockExchange.getOut()).thenReturn(mockResponseMessage); }
61 * public String getStubbedData_getEntityCountHistory_success() { ObjectMapper mapper = new
62 * ObjectMapper(); ObjectNode entityCountEntry = mapper.createObjectNode();
64 * entityCountEntry.put("doc_count", 2069); entityCountEntry.put("key", "complex");
66 * ArrayNode arrayNode = mapper.createArrayNode(); arrayNode.add(entityCountEntry);
68 * ObjectNode resultNode = mapper.createObjectNode(); resultNode.set("result", arrayNode);
70 * return resultNode.toString(); }
72 * @Test public void testGetEntityCountHistory_success() { EntityCountHistoryProcessor
73 * spyEntityCountHistoryProcessor = Mockito.spy(entityCountHistoryProcessor); OperationResult
74 * operationResult = new OperationResult();
76 * String result = getStubbedData_getEntityCountHistory_success();
78 * operationResult.setResult(Status.SUCCESS_OK.getCode(), result);
80 * Mockito.when(mockExchange.getIn().getHeader("CamelHttpQuery", String.class)).thenReturn("");
82 * Mockito.doReturn("table").when(spyEntityCountHistoryProcessor).getTypeParameter(Mockito.any());
83 * Mockito.doReturn(operationResult).when(spyEntityCountHistoryProcessor).getResults(Mockito.any(),
86 * spyEntityCountHistoryProcessor.getEntityCountHistory(mockExchange);
88 * ArgumentCaptor<String> entityCaptor = ArgumentCaptor.forClass(String.class);
89 * Mockito.verify(mockRestletResponse, Mockito.atLeast(1)).setEntity(entityCaptor.capture(),
90 * Mockito.any()); assertEquals(operationResult.getResult(), entityCaptor.getValue()); }
92 * @Test public void testGetEntityCountHistory_failure_noTypeParameter() {
93 * Mockito.when(mockRestletRequest.getOriginalRef()).thenReturn(new Reference());
95 * EntityCountHistoryProcessor spyEntityCountHistoryProcessor =
96 * Mockito.spy(entityCountHistoryProcessor); OperationResult operationResult = new
99 * String result = getStubbedData_getEntityCountHistory_success();
101 * operationResult.setResult(Status.SUCCESS_OK.getCode(), result);
103 * Mockito.when(mockExchange.getIn().getHeader("CamelHttpQuery", String.class)).thenReturn("");
105 * Mockito.doReturn("").when(spyEntityCountHistoryProcessor).getTypeParameter(Mockito.any());
106 * Mockito.doReturn(operationResult).when(spyEntityCountHistoryProcessor).getResults(Mockito.any(),
109 * spyEntityCountHistoryProcessor.getEntityCountHistory(mockExchange);
111 * ArgumentCaptor<String> entityCaptor = ArgumentCaptor.forClass(String.class);
112 * Mockito.verify(mockRestletResponse, Mockito.atLeast(1)).setEntity(entityCaptor.capture(),
113 * Mockito.any()); assertEquals("{ \"errorMessage\" : Unsupported request. Resource not found. }",
114 * entityCaptor.getValue());
116 * ArgumentCaptor<Status> responseCodeCaptor = ArgumentCaptor.forClass(Status.class);
117 * Mockito.verify(mockRestletResponse, Mockito.atLeast(1)).setStatus(responseCodeCaptor.capture());
118 * assertEquals(Status.CLIENT_ERROR_NOT_FOUND, responseCodeCaptor.getValue()); } }