summaryrefslogtreecommitdiffstats
path: root/cps-ncmp-rest/src/test/groovy
diff options
context:
space:
mode:
authorDylanB95EST <dylan.byrne@est.tech>2021-07-02 13:30:42 +0100
committerDylanB95EST <dylan.byrne@est.tech>2021-08-03 16:47:24 +0100
commit4f4178c7af4ca5571a0813a5c79f35b11c825d35 (patch)
tree0167aaaf7f51498499acb572c8e7995474b9ac9f /cps-ncmp-rest/src/test/groovy
parent15b93e7ad7db7372d51c4c1ad45f95d463aaaffc (diff)
Implement DMI Registration (NCMP-Side)
Implementing registration of CM-Handles to NCMP from DMI CM Handles are Written to fragment tables Moved NetworkCmProxyDataServiceImplSpec.groovy as it was not in the same package as the class it was testing. Meaning it didn't cover this when it came to code coverage Have included Json structure validation also within open api Deprecating old API's along with old API Methods Issue-ID: CPS-442 Change-Id: I819b9bf65280b1d968d3b75ca5ef2f9eb5617579 Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
Diffstat (limited to 'cps-ncmp-rest/src/test/groovy')
-rw-r--r--cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy40
1 files changed, 32 insertions, 8 deletions
diff --git a/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy b/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy
index 45e8f11948..f537980ac8 100644
--- a/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy
+++ b/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy
@@ -28,7 +28,9 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put
+import com.fasterxml.jackson.databind.ObjectMapper
import com.google.gson.Gson
+import org.onap.cps.TestUtils
import org.onap.cps.ncmp.api.NetworkCmProxyDataService
import org.onap.cps.spi.model.DataNodeBuilder
import org.spockframework.spring.SpringBean
@@ -49,13 +51,19 @@ class NetworkCmProxyControllerSpec extends Specification {
@SpringBean
NetworkCmProxyDataService mockNetworkCmProxyDataService = Mock()
+ @SpringBean
+ ObjectMapper objectMapper = new ObjectMapper()
+
@Value('${rest.api.ncmp-base-path}')
def basePath
- def dataNodeBaseEndpoint
+ def deprecatedDataNodeBaseEndPoint
+
+ def ncmpDmiEndpoint
def setup() {
- dataNodeBaseEndpoint = "$basePath/v1"
+ deprecatedDataNodeBaseEndPoint = "$basePath/v1"
+ ncmpDmiEndpoint = "$basePath/ncmp-dmi/v1"
}
def cmHandle = 'some handle'
@@ -67,7 +75,7 @@ class NetworkCmProxyControllerSpec extends Specification {
def cpsPath = 'some cps-path'
mockNetworkCmProxyDataService.queryDataNodes(cmHandle, cpsPath, expectedCpsDataServiceOption) >> [dataNode]
and: 'the query endpoint'
- def dataNodeEndpoint = "$dataNodeBaseEndpoint/cm-handles/$cmHandle/nodes/query"
+ def dataNodeEndpoint = "$deprecatedDataNodeBaseEndPoint/cm-handles/$cmHandle/nodes/query"
when: 'query data nodes API is invoked'
def response = mvc.perform(get(dataNodeEndpoint)
.param('cps-path', cpsPath)
@@ -89,7 +97,7 @@ class NetworkCmProxyControllerSpec extends Specification {
def jsonData = 'json data'
when: 'post request is performed'
def response = mvc.perform(
- post("$dataNodeBaseEndpoint/cm-handles/$cmHandle/nodes")
+ post("$deprecatedDataNodeBaseEndPoint/cm-handles/$cmHandle/nodes")
.contentType(MediaType.APPLICATION_JSON)
.content(jsonData)
.param('xpath', reqXpath)
@@ -111,7 +119,7 @@ class NetworkCmProxyControllerSpec extends Specification {
def parentNodeXpath = 'parent node xpath'
when: 'post request is performed'
def response = mvc.perform(
- post("$dataNodeBaseEndpoint/cm-handles/$cmHandle/list-node")
+ post("$deprecatedDataNodeBaseEndPoint/cm-handles/$cmHandle/list-node")
.contentType(MediaType.APPLICATION_JSON)
.content(jsonData)
.param('xpath', parentNodeXpath)
@@ -126,7 +134,7 @@ class NetworkCmProxyControllerSpec extends Specification {
given: 'json data'
def jsonData = 'json data'
and: 'the query endpoint'
- def endpoint = "$dataNodeBaseEndpoint/cm-handles/$cmHandle/nodes"
+ def endpoint = "$deprecatedDataNodeBaseEndPoint/cm-handles/$cmHandle/nodes"
when: 'patch request is performed'
def response = mvc.perform(
patch(endpoint)
@@ -144,7 +152,7 @@ class NetworkCmProxyControllerSpec extends Specification {
given: 'json data'
def jsonData = 'json data'
and: 'the query endpoint'
- def endpoint = "$dataNodeBaseEndpoint/cm-handles/$cmHandle/nodes"
+ def endpoint = "$deprecatedDataNodeBaseEndPoint/cm-handles/$cmHandle/nodes"
when: 'put request is performed'
def response = mvc.perform(
put(endpoint)
@@ -164,7 +172,7 @@ class NetworkCmProxyControllerSpec extends Specification {
def dataNode = new DataNodeBuilder().withXpath(xpath).withLeaves(["leaf": "value"]).build()
mockNetworkCmProxyDataService.getDataNode(cmHandle, xpath, OMIT_DESCENDANTS) >> dataNode
and: 'the query endpoint'
- def endpoint = "$dataNodeBaseEndpoint/cm-handles/$cmHandle/node"
+ def endpoint = "$deprecatedDataNodeBaseEndPoint/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'
@@ -172,5 +180,21 @@ class NetworkCmProxyControllerSpec extends Specification {
and: 'response contains expected leaf and value'
response.contentAsString.contains('"leaf":"value"')
}
+
+ def 'Register CM Handle Event' () {
+ given: 'jsonData'
+ def jsonData = TestUtils.getResourceFileContent('dmi-registration.json')
+ when: 'post request is performed'
+ def response = mvc.perform(
+ post("$ncmpDmiEndpoint/ch")
+ .contentType(MediaType.APPLICATION_JSON)
+ .content(jsonData)
+ ).andReturn().response
+ then: 'the cm handles are registered with the service'
+ 1 * mockNetworkCmProxyDataService.updateDmiPluginRegistration(_)
+ and: 'response status is created'
+ response.status == HttpStatus.CREATED.value()
+ }
+
}