Convert Sparky to Spring-Boot
[aai/sparky-be.git] / sparkybe-onap-service / src / test / java / org / onap / aai / sparky / viewandinspect / SchemaVisualizationProcessorTest.java
1 package org.onap.aai.sparky.viewandinspect;
2
3 import static org.junit.Assert.assertEquals;
4
5 import java.io.IOException;
6
7 import javax.servlet.http.HttpServletRequest;
8
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;
21
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;
26
27 public class SchemaVisualizationProcessorTest {
28
29   SchemaVisualizationProcessor schemaVisProcessor;
30   VisualizationService mockVisualizationService;
31   
32   private Exchange exchange;
33   private CamelContext camelContext;
34   private Message  mockRequestMessage;
35   
36   @Before
37   public void init() throws Exception {
38       schemaVisProcessor = new SchemaVisualizationProcessor();
39      
40       mockVisualizationService = Mockito.mock(VisualizationService.class);
41
42       camelContext = new DefaultCamelContext();
43       exchange = new DefaultExchange(camelContext);
44     
45       mockRequestMessage = Mockito.mock(Message.class);
46       
47       exchange.setIn(mockRequestMessage);
48       
49   }
50   
51   @Test
52   public void testProcessVisualizationRequest() throws JsonParseException, JsonMappingException, IOException {
53     
54     String queryRequest = SchemaVisualizationTestDataBuilder.getQueryRequest();
55     HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
56     HttpServletHelper.setRequestPayload(request, "application/json", queryRequest);
57     
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);
62     
63     ObjectMapper nonEmptyMapper = new ObjectMapper();
64     nonEmptyMapper.setSerializationInclusion(Include.NON_EMPTY);
65     QueryRequest queryBody = nonEmptyMapper.readValue(queryRequest, QueryRequest.class);
66     
67     Mockito.when(mockVisualizationService.analyzeQueryRequestBody(Mockito.anyString())).thenReturn(queryBody);
68     Mockito.when(mockVisualizationService.buildVisualizationUsingGenericQuery(Mockito.anyObject())).thenReturn(SchemaVisualizationTestDataBuilder.getSchemaVisResult());
69
70     schemaVisProcessor.setVisualizationService(mockVisualizationService);
71     schemaVisProcessor.processVisualizationRequest(exchange);
72     
73     assertEquals("{}", exchange.getOut().getBody(String.class));
74     assertEquals(200, exchange.getOut().getHeader(Exchange.HTTP_RESPONSE_CODE));
75
76   }
77   
78 }