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