1 package org.onap.ccsdk.sli.core.sliapi.springboot;
3 import static org.junit.Assert.assertEquals;
5 import org.junit.runner.RunWith;
6 import org.onap.ccsdk.sli.core.sliapi.model.ExecuteGraphInput;
7 import org.onap.ccsdk.sli.core.sliapi.model.ExecutegraphinputInput;
8 import org.onap.ccsdk.sli.core.sliapi.model.ResponseFields;
9 import org.slf4j.Logger;
10 import org.slf4j.LoggerFactory;
11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
13 import org.springframework.boot.test.context.SpringBootTest;
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;
19 import com.fasterxml.jackson.core.JsonProcessingException;
20 import com.fasterxml.jackson.databind.ObjectMapper;
22 @RunWith(SpringRunner.class)
25 public class RestconfApiControllerTest {
27 private static final Logger log = LoggerFactory.getLogger(RestconfApiControllerTest.class);
33 public void testHealthcheck() throws Exception {
34 String url = "/restconf/operations/SLI-API:healthcheck";
37 mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(""))
40 assertEquals(200, mvcResult.getResponse().getStatus());
44 public void testVlbcheck() throws Exception {
45 String url = "/restconf/operations/SLI-API:vlbcheck";
48 mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(""))
51 assertEquals(200, mvcResult.getResponse().getStatus());
55 public void testExecuteHealthcheck() throws Exception {
56 String url = "/restconf/operations/SLI-API:execute-graph";
58 ExecuteGraphInput executeGraphInput = new ExecuteGraphInput();
59 ExecutegraphinputInput executeGraphData = new ExecutegraphinputInput();
61 executeGraphData.setModuleName("sli");
62 executeGraphData.setRpcName("healthcheck");
63 executeGraphData.setMode("sync");
64 executeGraphInput.setInput(executeGraphData);
66 String jsonString = mapToJson(executeGraphInput);
67 log.error("jsonString is {}", jsonString);
70 mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(jsonString))
73 assertEquals(200, mvcResult.getResponse().getStatus());
78 public void testExecuteMissingDg() throws Exception {
79 String url = "/restconf/operations/SLI-API:execute-graph";
81 ExecuteGraphInput executeGraphInput = new ExecuteGraphInput();
82 ExecutegraphinputInput executeGraphData = new ExecutegraphinputInput();
84 executeGraphData.setModuleName("sli");
85 executeGraphData.setRpcName("noSuchRPC");
86 executeGraphData.setMode("sync");
87 executeGraphInput.setInput(executeGraphData);
89 String jsonString = mapToJson(executeGraphInput);
91 log.error("jsonString is {}", jsonString);
94 mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(jsonString))
97 assertEquals(401, mvcResult.getResponse().getStatus());
101 private String mapToJson(Object obj) throws JsonProcessingException {
102 ObjectMapper objectMapper = new ObjectMapper();
103 return objectMapper.writeValueAsString(obj);
106 private ResponseFields respFromJson(String jsonString) throws JsonProcessingException {
107 ObjectMapper objectMapper = new ObjectMapper();
108 return (objectMapper.readValue(jsonString, ResponseFields.class));