Adding interfaces in documentation
[aai/sparky-be.git] / sparkybe-onap-service / src / test / java / org / onap / aai / sparky / search / EntityCountHistoryProcessorTest.java
1 /**
2  * ============LICENSE_START===================================================
3  * SPARKY (AAI UI service)
4  * ============================================================================
5  * Copyright © 2017 AT&T Intellectual Property.
6  * Copyright © 2017 Amdocs
7  * All rights reserved.
8  * ============================================================================
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  * ============LICENSE_END=====================================================
21  *
22  * ECOMP and OpenECOMP are trademarks
23  * and service marks of AT&T Intellectual Property.
24  */
25
26 package org.onap.aai.sparky.search;
27 /*
28 import static org.junit.Assert.assertEquals;
29
30 import org.apache.camel.Exchange;
31 import org.apache.camel.Message;
32 import org.apache.camel.component.restlet.RestletConstants;
33 import org.junit.Before;
34 import org.junit.Test;
35 import org.mockito.ArgumentCaptor;
36 import org.mockito.Mockito;
37 import org.onap.aai.restclient.client.OperationResult;
38 import org.onap.aai.sparky.search.EntityCountHistoryProcessor;
39 import org.onap.aai.sparky.util.RestletUtils;
40 import org.restlet.Request;
41 import org.restlet.Response;
42 import org.restlet.data.ClientInfo;
43 import org.restlet.data.Reference;
44 import org.restlet.data.Status;
45
46 import com.fasterxml.jackson.databind.ObjectMapper;
47 import com.fasterxml.jackson.databind.node.ArrayNode;
48 import com.fasterxml.jackson.databind.node.ObjectNode;
49
50 public class EntityCountHistoryProcessorTest {
51   private EntityCountHistoryProcessor entityCountHistoryProcessor;
52   private Exchange mockExchange;
53   private Message mockRequestMessage;
54   private Message mockResponseMessage;
55   private Request mockRestletRequest;
56   private Response mockRestletResponse;
57   private ClientInfo requestClientInfo;
58   private RestletUtils mockRestletUtils;
59
60   @Before
61   public void init() throws Exception {
62     mockExchange = Mockito.mock(Exchange.class);
63     mockRequestMessage = Mockito.mock(Message.class);
64     mockResponseMessage = Mockito.mock(Message.class);
65     mockRestletRequest = Mockito.mock(Request.class);
66     mockRestletResponse = Mockito.mock(Response.class);
67     mockRestletUtils = Mockito.mock(RestletUtils.class);
68
69     entityCountHistoryProcessor = new EntityCountHistoryProcessor();
70     entityCountHistoryProcessor.setRestletUtils(mockRestletUtils);
71
72     requestClientInfo = new ClientInfo();
73
74     Mockito.when(mockRestletRequest.getClientInfo()).thenReturn(requestClientInfo);
75
76     Mockito.when(mockRequestMessage.getHeader(RestletConstants.RESTLET_REQUEST, Request.class))
77         .thenReturn(mockRestletRequest);
78     Mockito.when(mockRequestMessage.getHeader(RestletConstants.RESTLET_RESPONSE, Response.class))
79         .thenReturn(mockRestletResponse);
80     Mockito.when(mockExchange.getIn()).thenReturn(mockRequestMessage);
81     Mockito.when(mockExchange.getOut()).thenReturn(mockResponseMessage);
82   }
83
84   public String getStubbedData_getEntityCountHistory_success() {
85     ObjectMapper mapper = new ObjectMapper();
86     ObjectNode entityCountEntry = mapper.createObjectNode();
87
88     entityCountEntry.put("doc_count", 2069);
89     entityCountEntry.put("key", "complex");
90
91     ArrayNode arrayNode = mapper.createArrayNode();
92     arrayNode.add(entityCountEntry);
93
94     ObjectNode resultNode = mapper.createObjectNode();
95     resultNode.set("result", arrayNode);
96
97     return resultNode.toString();
98   }
99
100   @Test
101   public void testGetEntityCountHistory_success() {
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("table").when(spyEntityCountHistoryProcessor).getTypeParameter(Mockito.any());
113     Mockito.doReturn(operationResult).when(spyEntityCountHistoryProcessor).getResults(Mockito.any(),
114         Mockito.any());
115
116     spyEntityCountHistoryProcessor.getEntityCountHistory(mockExchange);
117
118     ArgumentCaptor<String> entityCaptor = ArgumentCaptor.forClass(String.class);
119     Mockito.verify(mockRestletResponse, Mockito.atLeast(1)).setEntity(entityCaptor.capture(),
120         Mockito.any());
121     assertEquals(operationResult.getResult(), entityCaptor.getValue());
122   }
123
124   @Test
125   public void testGetEntityCountHistory_failure_noTypeParameter() {
126     Mockito.when(mockRestletRequest.getOriginalRef()).thenReturn(new Reference());
127
128     EntityCountHistoryProcessor spyEntityCountHistoryProcessor =
129         Mockito.spy(entityCountHistoryProcessor);
130     OperationResult operationResult = new OperationResult();
131
132     String result = getStubbedData_getEntityCountHistory_success();
133
134     operationResult.setResult(Status.SUCCESS_OK.getCode(), result);
135
136     Mockito.when(mockExchange.getIn().getHeader("CamelHttpQuery", String.class)).thenReturn("");
137
138     Mockito.doReturn("").when(spyEntityCountHistoryProcessor).getTypeParameter(Mockito.any());
139     Mockito.doReturn(operationResult).when(spyEntityCountHistoryProcessor).getResults(Mockito.any(), Mockito.any());
140
141     spyEntityCountHistoryProcessor.getEntityCountHistory(mockExchange);
142
143     ArgumentCaptor<String> entityCaptor = ArgumentCaptor.forClass(String.class);
144     Mockito.verify(mockRestletResponse, Mockito.atLeast(1)).setEntity(entityCaptor.capture(),
145         Mockito.any());
146     assertEquals("{ \"errorMessage\" : Unsupported request. Resource not found. }",
147         entityCaptor.getValue());
148
149     ArgumentCaptor<Status> responseCodeCaptor = ArgumentCaptor.forClass(Status.class);
150     Mockito.verify(mockRestletResponse, Mockito.atLeast(1)).setStatus(responseCodeCaptor.capture());
151     assertEquals(Status.CLIENT_ERROR_NOT_FOUND, responseCodeCaptor.getValue());
152   }
153 }
154 */