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.springframework.beans.factory.annotation.Autowired;
11 import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
12 import org.springframework.http.MediaType;
13 import org.springframework.test.context.junit4.SpringRunner;
14 import org.springframework.test.web.servlet.MockMvc;
15 import org.springframework.test.web.servlet.MvcResult;
16 import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
18 import static org.junit.Assert.assertEquals;
20 @RunWith(SpringRunner.class)
21 @WebMvcTest(RestconfApiController.class)
22 public class RestconfApiControllerTest {
29 public void testHealthcheck() throws Exception {
30 String url = "/restconf/operations/SLI-API:healthcheck";
32 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content("")).andReturn();
34 assertEquals(200, mvcResult.getResponse().getStatus());
38 public void testVlbcheck() throws Exception {
39 String url = "/restconf/operations/SLI-API:vlbcheck";
41 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content("")).andReturn();
43 assertEquals(200, mvcResult.getResponse().getStatus());
47 public void testExecuteHealthcheck() throws Exception {
48 String url = "/restconf/operations/SLI-API:execute-graph";
50 ExecuteGraphInput executeGraphInput = new ExecuteGraphInput();
51 ExecutegraphinputInput executeGraphData = new ExecutegraphinputInput();
53 executeGraphData.setModuleName("sli");
54 executeGraphData.setRpcName("healthcheck");
55 executeGraphData.setMode("sync");
56 executeGraphInput.setInput(executeGraphData);
58 String jsonString = mapToJson(executeGraphInput);
60 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(jsonString)).andReturn();
62 assertEquals(200, mvcResult.getResponse().getStatus());
67 public void testExecuteMissingDg() throws Exception {
68 String url = "/restconf/operations/SLI-API:execute-graph";
70 ExecuteGraphInput executeGraphInput = new ExecuteGraphInput();
71 ExecutegraphinputInput executeGraphData = new ExecutegraphinputInput();
73 executeGraphData.setModuleName("sli");
74 executeGraphData.setRpcName("noSuchRPC");
75 executeGraphData.setMode("sync");
76 executeGraphInput.setInput(executeGraphData);
78 String jsonString = mapToJson(executeGraphInput);
80 MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(jsonString)).andReturn();
82 assertEquals(401, mvcResult.getResponse().getStatus());
86 private String mapToJson(Object obj) throws JsonProcessingException {
87 ObjectMapper objectMapper = new ObjectMapper();
88 return objectMapper.writeValueAsString(obj);
91 private ResponseFields respFromJson(String jsonString) throws JsonProcessingException {
92 ObjectMapper objectMapper = new ObjectMapper();
93 return(objectMapper.readValue(jsonString, ResponseFields.class));