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