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.util.SchemaVisualizationTestDataBuilder;
21 import com.fasterxml.jackson.annotation.JsonInclude.Include;
22 import com.fasterxml.jackson.core.JsonParseException;
23 import com.fasterxml.jackson.databind.JsonMappingException;
24 import com.fasterxml.jackson.databind.ObjectMapper;
26 public class SchemaVisualizationProcessorTest {
28 SchemaVisualizationProcessor schemaVisProcessor;
29 VisualizationService mockVisualizationService;
31 private Exchange exchange;
32 private CamelContext camelContext;
33 private Message mockRequestMessage;
36 public void init() throws Exception {
37 schemaVisProcessor = new SchemaVisualizationProcessor();
39 mockVisualizationService = Mockito.mock(VisualizationService.class);
41 camelContext = new DefaultCamelContext();
42 exchange = new DefaultExchange(camelContext);
44 mockRequestMessage = Mockito.mock(Message.class);
46 exchange.setIn(mockRequestMessage);
51 public void testProcessVisualizationRequest() throws JsonParseException, JsonMappingException, IOException {
53 String queryRequest = SchemaVisualizationTestDataBuilder.getQueryRequest();
54 HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
55 HttpServletHelper.setRequestPayload(request, "application/json", queryRequest);
57 Mockito.when(request.getRequestURI()).thenReturn("fakeUri");
58 Mockito.when(request.getLocalPort()).thenReturn(8001);
59 Mockito.when(mockRequestMessage.getBody(Mockito.eq(HttpServletRequest.class))).thenReturn(request);
60 Mockito.when(mockRequestMessage.getBody(Mockito.eq(String.class))).thenReturn(queryRequest);
62 ObjectMapper nonEmptyMapper = new ObjectMapper();
63 nonEmptyMapper.setSerializationInclusion(Include.NON_EMPTY);
64 QueryRequest queryBody = nonEmptyMapper.readValue(queryRequest, QueryRequest.class);
66 Mockito.when(mockVisualizationService.analyzeQueryRequestBody(Mockito.anyString())).thenReturn(queryBody);
67 Mockito.when(mockVisualizationService.buildVisualization(Mockito.anyObject())).thenReturn(SchemaVisualizationTestDataBuilder.getSchemaVisResult());
69 schemaVisProcessor.setVisualizationService(mockVisualizationService);
70 schemaVisProcessor.processVisualizationRequest(exchange);
72 assertEquals("{}", exchange.getOut().getBody(String.class));
73 assertEquals(200, exchange.getOut().getHeader(Exchange.HTTP_RESPONSE_CODE));