diff options
Diffstat (limited to 'cps-nf-proxy-rest/src/test')
5 files changed, 0 insertions, 302 deletions
diff --git a/cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/config/NfProxyConfigSpec.groovy b/cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/config/NfProxyConfigSpec.groovy deleted file mode 100644 index da021218d2..0000000000 --- a/cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/config/NfProxyConfigSpec.groovy +++ /dev/null @@ -1,32 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2021 highstreet technologies GmbH - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.cps.nfproxy.config - -import spock.lang.Specification -import springfox.documentation.spring.web.plugins.Docket - -class NfProxyConfigSpec extends Specification { - def objectUnderTest = new NfProxyConfig() - - def 'NfProxy configuration has a Docket API.'() { - expect: 'the NfProxy configuration has a Docket API' - objectUnderTest.api() instanceof Docket - } -} diff --git a/cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/rest/controller/NfProxyControllerSpec.groovy b/cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/rest/controller/NfProxyControllerSpec.groovy deleted file mode 100644 index a81411caf0..0000000000 --- a/cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/rest/controller/NfProxyControllerSpec.groovy +++ /dev/null @@ -1,138 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2021 Pantheon.tech - * Modification Copyright (C) 2021 highstreet technologies GmbH - * Modification Copyright (C) 2021 Nordix Foundation - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.cps.nfproxy.rest.controller - - -import com.google.gson.Gson -import org.onap.cps.nfproxy.api.NfProxyDataService -import org.onap.cps.spi.model.DataNodeBuilder -import org.spockframework.spring.SpringBean -import org.springframework.beans.factory.annotation.Autowired -import org.springframework.beans.factory.annotation.Value -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.test.web.servlet.MockMvc -import spock.lang.Specification -import spock.lang.Unroll - -import static org.onap.cps.spi.FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS -import static org.onap.cps.spi.FetchDescendantsOption.OMIT_DESCENDANTS -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.* - -@WebMvcTest -class NfProxyControllerSpec extends Specification { - - @Autowired - MockMvc mvc - - @SpringBean - NfProxyDataService mockNfProxyDataService = Mock() - - @Value('${rest.api.xnf-base-path}') - def basePath - - def dataNodeBaseEndpoint - - def setup() { - dataNodeBaseEndpoint = "$basePath/v1" - } - - def cmHandle = 'some handle' - def xpath = 'some xpath' - - @Unroll - def 'Query data node by cps path for the given cm handle with #scenario.'() { - given: 'service method returns a list containing a data node' - def dataNode = new DataNodeBuilder().withXpath('/xpath').build() - def cpsPath = 'some cps-path' - mockNfProxyDataService.queryDataNodes(cmHandle, cpsPath, expectedCpsDataServiceOption) >> [dataNode] - and: 'the query endpoint' - def dataNodeEndpoint = "$dataNodeBaseEndpoint/cm-handles/$cmHandle/nodes/query" - when: 'query data nodes API is invoked' - def response = mvc.perform(get(dataNodeEndpoint) - .param('cps-path', cpsPath) - .param('include-descendants', includeDescendantsOption)) - .andReturn().response - then: 'the response contains the the datanode in json format' - response.status == HttpStatus.OK.value() - def expectedJsonContent = new Gson().toJson(dataNode) - response.getContentAsString().contains(expectedJsonContent) - where: 'the following options for include descendants are provided in the request' - scenario | includeDescendantsOption || expectedCpsDataServiceOption - 'no descendants by default'| '' || OMIT_DESCENDANTS - 'no descendant explicitly' | 'false' || OMIT_DESCENDANTS - 'descendants' | 'true' || INCLUDE_ALL_DESCENDANTS - } - - def 'Update data node leaves.'() { - given: 'json data' - def jsonData = 'json data' - and: 'the query endpoint' - def endpoint = "$dataNodeBaseEndpoint/cm-handles/$cmHandle/nodes" - when: 'patch request is performed' - def response = mvc.perform( - patch(endpoint) - .contentType(MediaType.APPLICATION_JSON) - .content(jsonData) - .param('xpath', xpath) - ).andReturn().response - then: 'the service method is invoked once with expected parameters' - 1 * mockNfProxyDataService.updateNodeLeaves(cmHandle, xpath, jsonData) - and: 'response status indicates success' - response.status == HttpStatus.OK.value() - } - - def 'Replace data node tree.'() { - given: 'json data' - def jsonData = 'json data' - and: 'the query endpoint' - def endpoint = "$dataNodeBaseEndpoint/cm-handles/$cmHandle/nodes" - when: 'put request is performed' - def response = mvc.perform( - put(endpoint) - .contentType(MediaType.APPLICATION_JSON) - .content(jsonData) - .param('xpath', xpath) - ).andReturn().response - then: 'the service method is invoked once with expected parameters' - 1 * mockNfProxyDataService.replaceNodeTree(cmHandle, xpath, jsonData) - and: 'response status indicates success' - response.status == HttpStatus.OK.value() - } - - def 'Get data node.'() { - given: 'the service returns a data node' - def xpath = 'some xpath' - def dataNode = new DataNodeBuilder().withXpath(xpath).withLeaves(["leaf": "value"]).build() - mockNfProxyDataService.getDataNode(cmHandle, xpath, OMIT_DESCENDANTS) >> dataNode - and: 'the query endpoint' - def endpoint = "$dataNodeBaseEndpoint/cm-handles/$cmHandle/node" - when: 'get request is performed through REST API' - def response = mvc.perform(get(endpoint).param('xpath', xpath)).andReturn().response - then: 'a success response is returned' - response.status == HttpStatus.OK.value() - and: 'response contains expected leaf and value' - response.contentAsString.contains('"leaf":"value"') - } -} - diff --git a/cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/rest/exceptions/NfProxyRestExceptionHandlerSpec.groovy b/cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/rest/exceptions/NfProxyRestExceptionHandlerSpec.groovy deleted file mode 100644 index 73b57c5f9b..0000000000 --- a/cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/rest/exceptions/NfProxyRestExceptionHandlerSpec.groovy +++ /dev/null @@ -1,97 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2021 highstreet technologies GmbH - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.cps.nfproxy.rest.exceptions - -import groovy.json.JsonSlurper -import org.onap.cps.nfproxy.api.NfProxyDataService -import org.onap.cps.spi.FetchDescendantsOption -import org.onap.cps.spi.exceptions.CpsException -import org.spockframework.spring.SpringBean -import org.springframework.beans.factory.annotation.Autowired -import org.springframework.beans.factory.annotation.Value -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest -import org.springframework.test.web.servlet.MockMvc -import spock.lang.Shared -import spock.lang.Specification - -import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get - -@WebMvcTest -class NfProxyRestExceptionHandlerSpec extends Specification { - - @Autowired - MockMvc mvc - - @SpringBean - NfProxyDataService mockNfProxyDataService = Mock() - - @Value('${rest.api.xnf-base-path}') - def basePath - - def dataNodeBaseEndpoint - - @Shared - def errorMessage = 'some error message' - @Shared - def errorDetails = 'some error details' - - def cmHandle = 'some handle' - def xpath = 'some xpath' - - def setup() { - dataNodeBaseEndpoint = "$basePath/v1" - } - - def 'Get request with runtime exception returns HTTP Status Internal Server Error.'() { - when: 'runtime exception is thrown by the service' - setupTestException(new IllegalStateException(errorMessage)) - def response = performTestRequest() - then: 'an HTTP Internal Server Error response is returned with correct message and details' - assertTestResponse(response, INTERNAL_SERVER_ERROR, errorMessage, null) - } - - def 'Get request with generic CPS exception returns HTTP Status Internal Server Error.'() { - when: 'generic CPS exception is thrown by the service' - setupTestException(new CpsException(errorMessage, errorDetails)) - def response = performTestRequest() - then: 'an HTTP Internal Server Error response is returned with correct message and details' - assertTestResponse(response, INTERNAL_SERVER_ERROR, errorMessage, errorDetails) - } - - def setupTestException(exception) { - mockNfProxyDataService.getDataNode(cmHandle, xpath, FetchDescendantsOption.OMIT_DESCENDANTS) >> - { throw exception} - } - - def performTestRequest() { - return mvc.perform(get("$dataNodeBaseEndpoint/cm-handles/$cmHandle/node").param('xpath', xpath)) - .andReturn().response - } - - static void assertTestResponse(response, expectedStatus,expectedErrorMessage, - expectedErrorDetails) { - assert response.status == expectedStatus.value() - def content = new JsonSlurper().parseText(response.contentAsString) - assert content['status'] == expectedStatus.toString() - assert content['message'] == expectedErrorMessage - assert expectedErrorDetails == null || content['details'] == expectedErrorDetails - } -} diff --git a/cps-nf-proxy-rest/src/test/java/org/onap/cps/TestApplication.java b/cps-nf-proxy-rest/src/test/java/org/onap/cps/TestApplication.java deleted file mode 100644 index 5e0e3679ee..0000000000 --- a/cps-nf-proxy-rest/src/test/java/org/onap/cps/TestApplication.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2020 Pantheon.tech - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.cps; - -import org.springframework.boot.autoconfigure.SpringBootApplication; - -/** - * The @SpringBootApplication annotated class is required in order to run tests - * marked with @SpringBootTest annotation. - */ -@SpringBootApplication -public class TestApplication { -} diff --git a/cps-nf-proxy-rest/src/test/resources/application.yml b/cps-nf-proxy-rest/src/test/resources/application.yml deleted file mode 100644 index fed1559b8b..0000000000 --- a/cps-nf-proxy-rest/src/test/resources/application.yml +++ /dev/null @@ -1,5 +0,0 @@ - -rest: - api: - xnf-base-path: /xnf-proxy/api -spring: |