diff options
author | Hanif Kukkalli <lte-ng@outlook.com> | 2021-02-23 12:26:39 +0100 |
---|---|---|
committer | Hanif Kukkalli <lte-ng@outlook.com> | 2021-02-26 11:23:28 +0000 |
commit | 83e318f8c7d3cacb24b2ef9b76162b0af12e817c (patch) | |
tree | 3a38e10ffcb878e6e61bdaeb2440d58b079467c5 /cps-nf-proxy-rest/src/test/groovy/org/onap | |
parent | 85aebca0339f9e619fa3a9fd537dc986fc7aa03a (diff) |
Implement getDataNode(anchorName, xPath) in NF-Proxy
Added spring-boot-starter-validation instead of cps-ri.
Added test 'Data node without leaves and without children.' to MultipartFileUtilSpec groovy test
Created a method getNodeByCmHandleIdAndXpath(cmHandleId, cpsPath)
Added hardcoded value of NFS DataspaceName as: "NFP-Operation".
Issue-ID: CPS-172
Signed-off-by: Hanif Kukkalli <lte-ng@outlook.com>
Change-Id: Ie8086ede01a9c5069b1ee75864b04a0ee5e8a4f6
Diffstat (limited to 'cps-nf-proxy-rest/src/test/groovy/org/onap')
-rw-r--r-- | cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/rest/controller/NfProxyControllerSpec.groovy | 43 |
1 files changed, 30 insertions, 13 deletions
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 index 874a1b004e..3cd6b9a9f0 100644 --- 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 @@ -2,6 +2,8 @@ * ============LICENSE_START======================================================= * Copyright (C) 2021 Pantheon.tech * ================================================================================ + * Modification 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 @@ -19,13 +21,19 @@ package org.onap.cps.nfproxy.rest.controller +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.test.web.servlet.MockMvc -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders import spock.lang.Specification +import spock.lang.Unroll + +import static org.onap.cps.spi.FetchDescendantsOption.OMIT_DESCENDANTS +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get @WebMvcTest class NfProxyControllerSpec extends Specification { @@ -33,22 +41,31 @@ class NfProxyControllerSpec extends Specification { @Autowired MockMvc mvc + @SpringBean + NfProxyDataService mockNfProxyDataService = Mock() + @Value('${rest.api.xnf-base-path}') def basePath - def 'Hello world method invocation.'(){ - when: 'hello-world request performed' - def response = mvc.perform(MockMvcRequestBuilders.get("$basePath/v1/hello-world")).andReturn().response - then: 'success response returned' - response.status == HttpStatus.OK.value() - response.getContentAsString().contains("Hello World!") + def dataNodeBaseEndpoint + + def setup() { + dataNodeBaseEndpoint = "$basePath/v1" } - def 'Example error handling.'(){ - when: 'hello-error request performed' - def response = mvc.perform(MockMvcRequestBuilders.get("$basePath/v1/hello-error")).andReturn().response - then: 'error response returned' - response.status == HttpStatus.INTERNAL_SERVER_ERROR.value() - response.getContentAsString().contains("Example error") + @Unroll + def 'Get data node.'() { + given: 'the service returns a data node' + def xpath = 'some xpath' + def cmHandle = 'some handle' + def dataNode = new DataNodeBuilder().withXpath(xpath).withLeaves(["leaf": "value"]).build() + def endpoint = "$dataNodeBaseEndpoint/cm-handles/$cmHandle/node" + mockNfProxyDataService.getDataNode(cmHandle, xpath, OMIT_DESCENDANTS) >> dataNode + 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"') } } |