aboutsummaryrefslogtreecommitdiffstats
path: root/sliapi/springboot/src/test/java/org/onap/ccsdk/sli/core/sliapi/springboot/RestconfApiControllerTest.java
blob: e34d1187716f85c8f0e789c09f1033a7b3e9608c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package org.onap.ccsdk.sli.core.sliapi.springboot;

import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.onap.ccsdk.sli.core.sliapi.model.ExecuteGraphInput;
import org.onap.ccsdk.sli.core.sliapi.model.ExecutegraphinputInput;
import org.onap.ccsdk.sli.core.sliapi.model.ResponseFields;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class RestconfApiControllerTest {

  private static final Logger log = LoggerFactory.getLogger(RestconfApiControllerTest.class);

  @Autowired
  private MockMvc mvc;

  @Test
  public void testHealthcheck() throws Exception {
    String url = "/restconf/operations/SLI-API:healthcheck";

    MvcResult mvcResult =
        mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(""))
            .andReturn();

    assertEquals(200, mvcResult.getResponse().getStatus());
  }

  @Test
  public void testVlbcheck() throws Exception {
    String url = "/restconf/operations/SLI-API:vlbcheck";

    MvcResult mvcResult =
        mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(""))
            .andReturn();

    assertEquals(200, mvcResult.getResponse().getStatus());
  }

  @Test
  public void testExecuteHealthcheck() throws Exception {
    String url = "/restconf/operations/SLI-API:execute-graph";

    ExecuteGraphInput executeGraphInput = new ExecuteGraphInput();
    ExecutegraphinputInput executeGraphData = new ExecutegraphinputInput();

    executeGraphData.setModuleName("sli");
    executeGraphData.setRpcName("healthcheck");
    executeGraphData.setMode("sync");
    executeGraphInput.setInput(executeGraphData);

    String jsonString = mapToJson(executeGraphInput);
    log.error("jsonString is {}", jsonString);

    MvcResult mvcResult =
        mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(jsonString))
            .andReturn();

    assertEquals(200, mvcResult.getResponse().getStatus());

  }

  @Test
  public void testExecuteMissingDg() throws Exception {
    String url = "/restconf/operations/SLI-API:execute-graph";

    ExecuteGraphInput executeGraphInput = new ExecuteGraphInput();
    ExecutegraphinputInput executeGraphData = new ExecutegraphinputInput();

    executeGraphData.setModuleName("sli");
    executeGraphData.setRpcName("noSuchRPC");
    executeGraphData.setMode("sync");
    executeGraphInput.setInput(executeGraphData);

    String jsonString = mapToJson(executeGraphInput);

    log.error("jsonString is {}", jsonString);

    MvcResult mvcResult =
        mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).content(jsonString))
            .andReturn();

    assertEquals(401, mvcResult.getResponse().getStatus());

  }

  private String mapToJson(Object obj) throws JsonProcessingException {
    ObjectMapper objectMapper = new ObjectMapper();
    return objectMapper.writeValueAsString(obj);
  }

  private ResponseFields respFromJson(String jsonString) throws JsonProcessingException {
    ObjectMapper objectMapper = new ObjectMapper();
    return (objectMapper.readValue(jsonString, ResponseFields.class));
  }
}