diff options
author | Dan Timoney <dtimoney@att.com> | 2020-06-05 15:46:39 -0400 |
---|---|---|
committer | KAPIL SINGAL <ks220y@att.com> | 2020-06-09 14:24:12 +0000 |
commit | 31172d602ff8bce4b4680c3a2da58b6db2e8d9f0 (patch) | |
tree | bf66bc083d8f1a46c17132c990c7e725e828514d /ms/sliboot/src/test/java | |
parent | c2fac23347ee5dd3f8b6e3180a0206eb979b965e (diff) |
Refactor sliapi springboot
Moved sli-api springboot microservice from ccsdk/sli/core to ccsdk/apps
Change-Id: Ibecae568cf90b71575403052111e7be9ff543376
Issue-ID: CCSDK-2096
Signed-off-by: Dan Timoney <dtimoney@att.com>
Diffstat (limited to 'ms/sliboot/src/test/java')
-rw-r--r-- | ms/sliboot/src/test/java/org/onap/ccsdk/apps/ms/sliboot/AppTest.java | 39 | ||||
-rw-r--r-- | ms/sliboot/src/test/java/org/onap/ccsdk/apps/ms/sliboot/RestconfApiControllerTest.java | 172 |
2 files changed, 211 insertions, 0 deletions
diff --git a/ms/sliboot/src/test/java/org/onap/ccsdk/apps/ms/sliboot/AppTest.java b/ms/sliboot/src/test/java/org/onap/ccsdk/apps/ms/sliboot/AppTest.java new file mode 100644 index 00000000..abca6d94 --- /dev/null +++ b/ms/sliboot/src/test/java/org/onap/ccsdk/apps/ms/sliboot/AppTest.java @@ -0,0 +1,39 @@ +package org.onap.ccsdk.apps.ms.sliboot; + +import org.apache.shiro.realm.Realm; +import org.apache.shiro.realm.text.PropertiesRealm; +import org.apache.shiro.spring.web.config.ShiroFilterChainDefinition; +import org.junit.Before; +import org.junit.Test; + +import java.util.Map; + +import static org.junit.Assert.*; + +public class AppTest { + + App app; + + @Before + public void setUp() throws Exception { + app = new App(); + System.setProperty("serviceLogicProperties", "src/test/resources/svclogic.properties"); + } + + @Test + public void realm() { + Realm realm = app.realm(); + assertTrue(realm instanceof PropertiesRealm); + + + } + + @Test + public void shiroFilterChainDefinition() { + ShiroFilterChainDefinition chainDefinition = app.shiroFilterChainDefinition(); + Map<String, String> chainMap = chainDefinition.getFilterChainMap(); + assertEquals("anon", chainMap.get("/**")); + + + } +}
\ No newline at end of file diff --git a/ms/sliboot/src/test/java/org/onap/ccsdk/apps/ms/sliboot/RestconfApiControllerTest.java b/ms/sliboot/src/test/java/org/onap/ccsdk/apps/ms/sliboot/RestconfApiControllerTest.java new file mode 100644 index 00000000..4a7a7ec8 --- /dev/null +++ b/ms/sliboot/src/test/java/org/onap/ccsdk/apps/ms/sliboot/RestconfApiControllerTest.java @@ -0,0 +1,172 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - CCSDK + * ================================================================================ + * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.ccsdk.apps.ms.sliboot; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.onap.ccsdk.apps.ms.sliboot.swagger.model.*; +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; + +import java.util.List; + +import static org.junit.Assert.*; + +@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 = "/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 = "/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 = "/operations/SLI-API:execute-graph/"; + + SliApiExecutegraphInput executeGraphData = new SliApiExecutegraphInput(); + SliApiExecutegraphInputBodyparam executeGraphInput = new SliApiExecutegraphInputBodyparam(); + + executeGraphData.setModuleName("sli"); + executeGraphData.setRpcName("healthcheck"); + executeGraphData.setMode(SliApiModeEnumeration.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 = "/operations/SLI-API:execute-graph/"; + + SliApiExecutegraphInputBodyparam executeGraphInput = new SliApiExecutegraphInputBodyparam(); + SliApiExecutegraphInput executeGraphData = new SliApiExecutegraphInput(); + + executeGraphData.setModuleName("sli"); + executeGraphData.setRpcName("noSuchRPC"); + executeGraphData.setMode(SliApiModeEnumeration.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()); + + } + + @Test + public void testTestResultAdd() throws Exception { + String url = "/config/SLI-API:test-results/"; + + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(url).contentType(MediaType.APPLICATION_JSON_VALUE)).andReturn(); + + assertEquals(200, mvcResult.getResponse().getStatus()); + + // Delete any existing content before testing insert + mvcResult = mvc.perform(MockMvcRequestBuilders.delete(url).contentType(MediaType.APPLICATION_JSON)).andReturn(); + assertEquals(200, mvcResult.getResponse().getStatus()); + + String jsonString = "{\n" + + " \"test-result\" : [\n" + + " {\n" + + " \"test-identifier\" : \"test-1\",\n" + + " \"results\" : [\"test result 1\"]\n" + + " }\n" + + " ]\n" + + "}"; + mvcResult = mvc.perform(MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON_VALUE).accept(MediaType.APPLICATION_JSON_VALUE).content(jsonString)) + .andReturn(); + assertEquals(200, mvcResult.getResponse().getStatus()); + + mvcResult = mvc.perform(MockMvcRequestBuilders.get(url).contentType(MediaType.APPLICATION_JSON)).andReturn(); + assertEquals(200, mvcResult.getResponse().getStatus()); + + ObjectMapper objectMapper = new ObjectMapper(); + SliApiTestResults testResults = objectMapper.readValue(mvcResult.getResponse().getContentAsString(), SliApiTestResults.class); + assertNotNull(testResults); + List<SliApiTestresultsTestResult> testResult = testResults.getTestResult(); + assertNotNull(testResult); + assertFalse(testResult.isEmpty()); + assertEquals(1, testResult.size()); + SliApiTestresultsTestResult theResult = testResult.get(0); + assertEquals("test-1", theResult.getTestIdentifier()); + assertEquals("test result 1", theResult.getResults().get(0)); + + } + + private String mapToJson(Object obj) throws JsonProcessingException { + ObjectMapper objectMapper = new ObjectMapper(); + return objectMapper.writeValueAsString(obj); + } + + private SliApiResponseFields respFromJson(String jsonString) throws JsonProcessingException { + ObjectMapper objectMapper = new ObjectMapper(); + return (objectMapper.readValue(jsonString, SliApiResponseFields.class)); + } + +} |