1 package org.onap.ccsdk.sli.core.sliapi.springboot;
3 import com.fasterxml.jackson.core.JsonProcessingException;
4 import com.fasterxml.jackson.databind.ObjectMapper;
6 import org.junit.runner.RunWith;
7 import org.onap.ccsdk.sli.core.sliapi.model.ExecuteGraphInput;
8 import org.onap.ccsdk.sli.core.sliapi.model.ExecutegraphinputInput;
9 import org.onap.ccsdk.sli.core.sliapi.model.ResponseFields;
10 import org.slf4j.Logger;
11 import org.slf4j.LoggerFactory;
12 import org.springframework.beans.factory.annotation.Autowired;
13 import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
14 import org.springframework.http.MediaType;
15 import org.springframework.test.context.junit4.SpringRunner;
16 import org.springframework.test.web.servlet.MockMvc;
17 import org.springframework.test.web.servlet.MvcResult;
18 import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
20 import static org.junit.Assert.assertEquals;
22 @RunWith(SpringRunner.class)
23 @WebMvcTest(RestconfApiController.class)
24 public class RestconfApiControllerTest {
27 private static final Logger log = LoggerFactory.getLogger(RestconfApiControllerTest.class);
34 public void testHealthcheck() throws Exception {
35 String url = "/restconf/operations/SLI-API:healthcheck";
37 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content("")).andReturn();
39 assertEquals(200, mvcResult.getResponse().getStatus());
43 public void testVlbcheck() throws Exception {
44 String url = "/restconf/operations/SLI-API:vlbcheck";
46 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content("")).andReturn();
48 assertEquals(200, mvcResult.getResponse().getStatus());
52 public void testExecuteHealthcheck() throws Exception {
53 String url = "/restconf/operations/SLI-API:execute-graph";
55 ExecuteGraphInput executeGraphInput = new ExecuteGraphInput();
56 ExecutegraphinputInput executeGraphData = new ExecutegraphinputInput();
58 executeGraphData.setModuleName("sli");
59 executeGraphData.setRpcName("healthcheck");
60 executeGraphData.setMode("sync");
61 executeGraphInput.setInput(executeGraphData);
63 String jsonString = mapToJson(executeGraphInput);
64 log.error("jsonString is {}", jsonString);
66 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(jsonString)).andReturn();
68 assertEquals(200, mvcResult.getResponse().getStatus());
73 public void testExecuteMissingDg() throws Exception {
74 String url = "/restconf/operations/SLI-API:execute-graph";
76 ExecuteGraphInput executeGraphInput = new ExecuteGraphInput();
77 ExecutegraphinputInput executeGraphData = new ExecutegraphinputInput();
79 executeGraphData.setModuleName("sli");
80 executeGraphData.setRpcName("noSuchRPC");
81 executeGraphData.setMode("sync");
82 executeGraphInput.setInput(executeGraphData);
84 String jsonString = mapToJson(executeGraphInput);
86 log.error("jsonString is {}", jsonString);
88 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(jsonString)).andReturn();
90 assertEquals(401, mvcResult.getResponse().getStatus());
94 private String mapToJson(Object obj) throws JsonProcessingException {
95 ObjectMapper objectMapper = new ObjectMapper();
96 return objectMapper.writeValueAsString(obj);
99 private ResponseFields respFromJson(String jsonString) throws JsonProcessingException {
100 ObjectMapper objectMapper = new ObjectMapper();
101 return(objectMapper.readValue(jsonString, ResponseFields.class));