aboutsummaryrefslogtreecommitdiffstats
path: root/sliapi/springboot/src/test/java/org/onap/ccsdk/sli/core/sliapi/springboot/RestconfApiControllerTest.java
blob: 701cb3eb332ac8261cef678d6d8cf292c51d9436 (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
package org.onap.ccsdk.sli.core.sliapi.springboot;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
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 static org.junit.Assert.assertEquals;

@RunWith(SpringRunner.class)
@WebMvcTest(RestconfApiController.class)
public class RestconfApiControllerTest {

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

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

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