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));