1 package org.onap.aai.sparky.viewandinspect;
3 import static org.junit.Assert.assertEquals;
5 import java.io.IOException;
7 import javax.servlet.http.HttpServletRequest;
9 import org.apache.camel.CamelContext;
10 import org.apache.camel.Exchange;
11 import org.apache.camel.Message;
12 import org.apache.camel.impl.DefaultCamelContext;
13 import org.apache.camel.impl.DefaultExchange;
14 import org.junit.Before;
15 import org.junit.Test;
16 import org.mockito.Mockito;
17 import org.onap.aai.sparky.util.HttpServletHelper;
18 import org.onap.aai.sparky.viewandinspect.entity.QueryRequest;
19 import org.onap.aai.sparky.viewandinspect.services.VisualizationService;
20 import org.onap.aai.sparky.viewandinspect.util.SchemaVisualizationTestDataBuilder;
22 import com.fasterxml.jackson.annotation.JsonInclude.Include;
23 import com.fasterxml.jackson.core.JsonParseException;
24 import com.fasterxml.jackson.databind.JsonMappingException;
25 import com.fasterxml.jackson.databind.ObjectMapper;
27 public class SchemaVisualizationProcessorTest {
29 SchemaVisualizationProcessor schemaVisProcessor;
30 VisualizationService mockVisualizationService;
32 private Exchange exchange;
33 private CamelContext camelContext;
34 private Message mockRequestMessage;
37 public void init() throws Exception {
38 schemaVisProcessor = new SchemaVisualizationProcessor();
40 mockVisualizationService = Mockito.mock(VisualizationService.class);
42 camelContext = new DefaultCamelContext();
43 exchange = new DefaultExchange(camelContext);
45 mockRequestMessage = Mockito.mock(Message.class);
47 exchange.setIn(mockRequestMessage);
52 public void testProcessVisualizationRequest() throws JsonParseException, JsonMappingException, IOException {
54 String queryRequest = SchemaVisualizationTestDataBuilder.getQueryRequest();
55 HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
56 HttpServletHelper.setRequestPayload(request, "application/json", queryRequest);
58 Mockito.when(request.getRequestURI()).thenReturn("fakeUri");
59 Mockito.when(request.getLocalPort()).thenReturn(8001);
60 Mockito.when(mockRequestMessage.getBody(Mockito.eq(HttpServletRequest.class))).thenReturn(request);
61 Mockito.when(mockRequestMessage.getBody(Mockito.eq(String.class))).thenReturn(queryRequest);
63 ObjectMapper nonEmptyMapper = new ObjectMapper();
64 nonEmptyMapper.setSerializationInclusion(Include.NON_EMPTY);
65 QueryRequest queryBody = nonEmptyMapper.readValue(queryRequest, QueryRequest.class);
67 Mockito.when(mockVisualizationService.analyzeQueryRequestBody(Mockito.anyString())).thenReturn(queryBody);
68 Mockito.when(mockVisualizationService.buildVisualizationUsingGenericQuery(Mockito.anyObject())).thenReturn(SchemaVisualizationTestDataBuilder.getSchemaVisResult());
70 schemaVisProcessor.setVisualizationService(mockVisualizationService);
71 schemaVisProcessor.processVisualizationRequest(exchange);
73 assertEquals("{}", exchange.getOut().getBody(String.class));
74 assertEquals(200, exchange.getOut().getHeader(Exchange.HTTP_RESPONSE_CODE));