X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-ncmp-rest%2Fsrc%2Ftest%2Fgroovy%2Forg%2Fonap%2Fcps%2Fncmp%2Frest%2Fcontroller%2FNetworkCmProxyControllerSpec.groovy;h=73ccd6e3c2b759feac22fa294d6807723a4a9c4e;hb=1ce718a31547f9345286154170f230b9e89e5ee3;hp=a7fa30901387b520dc34a4f36244570aad34624e;hpb=5aba6667d330835fa3661ffba0d88f88029da446;p=cps.git 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 a7fa30901..73ccd6e3c 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 @@ -3,6 +3,7 @@ * Copyright (C) 2021 Pantheon.tech * Modification Copyright (C) 2021 highstreet technologies GmbH * Modification Copyright (C) 2021 Nordix Foundation + * Modification Copyright (C) 2021 Bell Canada. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -42,7 +43,7 @@ import org.springframework.http.MediaType import org.springframework.test.web.servlet.MockMvc import spock.lang.Specification -@WebMvcTest +@WebMvcTest(NetworkCmProxyController) class NetworkCmProxyControllerSpec extends Specification { @Autowired @@ -54,17 +55,8 @@ class NetworkCmProxyControllerSpec extends Specification { @SpringBean ObjectMapper objectMapper = new ObjectMapper() - @Value('${rest.api.ncmp-base-path}') - def basePath - - def deprecatedDataNodeBaseEndPoint - - def ncmpDmiEndpoint - - def setup() { - deprecatedDataNodeBaseEndPoint = "$basePath/v1" - ncmpDmiEndpoint = "$basePath/ncmp-dmi/v1" - } + @Value('${rest.api.ncmp-base-path}/v1') + def ncmpBasePathV1 def cmHandle = 'some handle' def xpath = 'some xpath' @@ -75,7 +67,7 @@ class NetworkCmProxyControllerSpec extends Specification { def cpsPath = 'some cps-path' mockNetworkCmProxyDataService.queryDataNodes(cmHandle, cpsPath, expectedCpsDataServiceOption) >> [dataNode] and: 'the query endpoint' - def dataNodeEndpoint = "$deprecatedDataNodeBaseEndPoint/cm-handles/$cmHandle/nodes/query" + def dataNodeEndpoint = "$ncmpBasePathV1/cm-handles/$cmHandle/nodes/query" when: 'query data nodes API is invoked' def response = mvc.perform(get(dataNodeEndpoint) .param('cps-path', cpsPath) @@ -97,7 +89,7 @@ class NetworkCmProxyControllerSpec extends Specification { def jsonData = 'json data' when: 'post request is performed' def response = mvc.perform( - post("$deprecatedDataNodeBaseEndPoint/cm-handles/$cmHandle/nodes") + post("$ncmpBasePathV1/cm-handles/$cmHandle/nodes") .contentType(MediaType.APPLICATION_JSON) .content(jsonData) .param('xpath', reqXpath) @@ -119,7 +111,7 @@ class NetworkCmProxyControllerSpec extends Specification { def parentNodeXpath = 'parent node xpath' when: 'post request is performed' def response = mvc.perform( - post("$deprecatedDataNodeBaseEndPoint/cm-handles/$cmHandle/list-node") + post("$ncmpBasePathV1/cm-handles/$cmHandle/list-node") .contentType(MediaType.APPLICATION_JSON) .content(jsonData) .param('xpath', parentNodeXpath) @@ -134,7 +126,7 @@ class NetworkCmProxyControllerSpec extends Specification { given: 'json data' def jsonData = 'json data' and: 'the query endpoint' - def endpoint = "$deprecatedDataNodeBaseEndPoint/cm-handles/$cmHandle/nodes" + def endpoint = "$ncmpBasePathV1/cm-handles/$cmHandle/nodes" when: 'patch request is performed' def response = mvc.perform( patch(endpoint) @@ -152,7 +144,7 @@ class NetworkCmProxyControllerSpec extends Specification { given: 'json data' def jsonData = 'json data' and: 'the query endpoint' - def endpoint = "$deprecatedDataNodeBaseEndPoint/cm-handles/$cmHandle/nodes" + def endpoint = "$ncmpBasePathV1/cm-handles/$cmHandle/nodes" when: 'put request is performed' def response = mvc.perform( put(endpoint) @@ -172,7 +164,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 = "$deprecatedDataNodeBaseEndPoint/cm-handles/$cmHandle/node" + def endpoint = "$ncmpBasePathV1/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' @@ -186,19 +178,19 @@ class NetworkCmProxyControllerSpec extends Specification { def jsonData = TestUtils.getResourceFileContent('dmi-registration.json') when: 'post request is performed' def response = mvc.perform( - post("$ncmpDmiEndpoint/ch") + post("$ncmpBasePathV1/ch") .contentType(MediaType.APPLICATION_JSON) .content(jsonData) ).andReturn().response then: 'the cm handles are registered with the service' - 1 * mockNetworkCmProxyDataService.updateDmiPluginRegistration(_) + 1 * mockNetworkCmProxyDataService.updateDmiRegistrationAndSyncModule(_) and: 'response status is created' response.status == HttpStatus.CREATED.value() } def 'Get Resource Data from pass-through operational.' () { given: 'resource data url' - def getUrl = "$basePath/v1/ch/testCmHandle/data/ds/ncmp-datastore:passthrough-operational" + + def getUrl = "$ncmpBasePathV1/ch/testCmHandle/data/ds/ncmp-datastore:passthrough-operational" + "/testResourceIdentifier?fields=testFields&depth=5" when: 'get data resource request is performed' def response = mvc.perform( @@ -218,7 +210,7 @@ class NetworkCmProxyControllerSpec extends Specification { def 'Get Resource Data from pass-through running.' () { given: 'resource data url' - def getUrl = "$basePath/v1/ch/testCmHandle/data/ds/ncmp-datastore:passthrough-running" + + def getUrl = "$ncmpBasePathV1/ch/testCmHandle/data/ds/ncmp-datastore:passthrough-running" + "/testResourceIdentifier?fields=testFields&depth=5" and: 'ncmp service returns json object' mockNetworkCmProxyDataService.getResourceDataPassThroughRunningForCmHandle('testCmHandle', @@ -237,5 +229,22 @@ class NetworkCmProxyControllerSpec extends Specification { and: 'response contains valid object body' response.getContentAsString() == '{valid-json}' } + + def 'Create Resource Data from pass-through running using POST.' () { + given: 'resource data url' + def getUrl = "$ncmpBasePathV1/ch/testCmHandle/data/ds/ncmp-datastore:passthrough-running" + + "/testResourceIdentifier" + when: 'get data resource request is performed' + def response = mvc.perform( + post(getUrl) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .accept(MediaType.APPLICATION_JSON_VALUE).content('{"some-json":"value"}') + ).andReturn().response + then: 'ncmp service method to create resource called' + 1 * mockNetworkCmProxyDataService.createResourceDataPassThroughRunningForCmHandle('testCmHandle', + 'testResourceIdentifier', ['some-json':'value'], 'application/json;charset=UTF-8') + and: 'resource is created' + response.status == HttpStatus.CREATED.value() + } }