701cb3eb332ac8261cef678d6d8cf292c51d9436
[ccsdk/sli.git] /
1 package org.onap.ccsdk.sli.core.sliapi.springboot;
2
3 import com.fasterxml.jackson.core.JsonProcessingException;
4 import com.fasterxml.jackson.databind.ObjectMapper;
5 import org.junit.Test;
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;
17
18 import static org.junit.Assert.assertEquals;
19
20 @RunWith(SpringRunner.class)
21 @WebMvcTest(RestconfApiController.class)
22 public class RestconfApiControllerTest {
23
24     @Autowired
25     private MockMvc mvc;
26
27
28     @Test
29     public void testHealthcheck() throws Exception {
30         String url = "/restconf/operations/SLI-API:healthcheck";
31
32         MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content("")).andReturn();
33
34         assertEquals(200, mvcResult.getResponse().getStatus());
35     }
36
37     @Test
38     public void testVlbcheck() throws Exception {
39         String url = "/restconf/operations/SLI-API:vlbcheck";
40
41         MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content("")).andReturn();
42
43         assertEquals(200, mvcResult.getResponse().getStatus());
44     }
45
46     @Test
47     public void testExecuteHealthcheck() throws Exception {
48         String url = "/restconf/operations/SLI-API:execute-graph";
49
50         ExecuteGraphInput executeGraphInput = new ExecuteGraphInput();
51         ExecutegraphinputInput executeGraphData = new ExecutegraphinputInput();
52
53         executeGraphData.setModuleName("sli");
54         executeGraphData.setRpcName("healthcheck");
55         executeGraphData.setMode("sync");
56         executeGraphInput.setInput(executeGraphData);
57
58         String jsonString = mapToJson(executeGraphInput);
59
60         MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(jsonString)).andReturn();
61
62         assertEquals(200, mvcResult.getResponse().getStatus());
63
64     }
65
66     @Test
67     public void testExecuteMissingDg() throws Exception {
68         String url = "/restconf/operations/SLI-API:execute-graph";
69
70         ExecuteGraphInput executeGraphInput = new ExecuteGraphInput();
71         ExecutegraphinputInput executeGraphData = new ExecutegraphinputInput();
72
73         executeGraphData.setModuleName("sli");
74         executeGraphData.setRpcName("noSuchRPC");
75         executeGraphData.setMode("sync");
76         executeGraphInput.setInput(executeGraphData);
77
78         String jsonString = mapToJson(executeGraphInput);
79
80         MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(jsonString)).andReturn();
81
82         assertEquals(401, mvcResult.getResponse().getStatus());
83
84     }
85
86     private String mapToJson(Object obj) throws JsonProcessingException {
87         ObjectMapper objectMapper = new ObjectMapper();
88         return objectMapper.writeValueAsString(obj);
89     }
90
91     private ResponseFields respFromJson(String jsonString) throws JsonProcessingException {
92         ObjectMapper objectMapper = new ObjectMapper();
93         return(objectMapper.readValue(jsonString, ResponseFields.class));
94     }
95 }