diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/org/onap/cps/ncmp/dmi/rest/controller/DmiRestController.java | 16 | ||||
-rw-r--r-- | src/test/groovy/org/onap/cps/ncmp/dmi/rest/controller/DmiRestControllerSpec.groovy | 23 |
2 files changed, 24 insertions, 15 deletions
diff --git a/src/main/java/org/onap/cps/ncmp/dmi/rest/controller/DmiRestController.java b/src/main/java/org/onap/cps/ncmp/dmi/rest/controller/DmiRestController.java index 0afefeb0..2c2536ff 100644 --- a/src/main/java/org/onap/cps/ncmp/dmi/rest/controller/DmiRestController.java +++ b/src/main/java/org/onap/cps/ncmp/dmi/rest/controller/DmiRestController.java @@ -82,14 +82,14 @@ public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi { * Write data using passthrough for the given cmHandle. * * @param dataAccessWriteRequest pass through request - * @param cmHandle cmHandle * @param resourceIdentifier resource identifier + * @param cmHandle cmHandle * @return (@ code ResponseEntity) response entity */ @Override public ResponseEntity<String> writeDataByPassthroughRunningForCmHandle( final DataAccessWriteRequest dataAccessWriteRequest, - final String cmHandle, final String resourceIdentifier) { + final String resourceIdentifier, final String cmHandle) { final String response = dmiService.writeResourceDataPassthroughForCmHandle(cmHandle, resourceIdentifier, MediaType.APPLICATION_JSON_VALUE, @@ -116,8 +116,8 @@ public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi { * This method fetches the resource for given cm handle using pass through operational. It filters the response on * the basis of depth and field query parameters and returns response. * - * @param cmHandle cm handle identifier * @param resourceIdentifier resource identifier to fetch data + * @param cmHandle cm handle identifier * @param dataAccessReadRequest data Access Read Request * @param accept accept header parameter * @param fields fields to filter the response data @@ -125,8 +125,8 @@ public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi { * @return {@code ResponseEntity} response entity */ @Override - public ResponseEntity<Object> getResourceDataOperationalForCmHandle(final String cmHandle, - final String resourceIdentifier, + public ResponseEntity<Object> getResourceDataOperationalForCmHandle(final String resourceIdentifier, + final String cmHandle, final @Valid DataAccessReadRequest dataAccessReadRequest, final String accept, final @Valid String fields, @@ -144,8 +144,8 @@ public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi { * This method fetches the resource for given cm handle using pass through running. It filters the response on the * basis of depth and field query parameters and returns response. * - * @param cmHandle cm handle identifier * @param resourceIdentifier resource identifier to fetch data + * @param cmHandle cm handle identifier * @param dataAccessReadRequest data Access Read Request * @param accept accept header parameter * @param fields fields to filter the response data @@ -153,8 +153,8 @@ public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi { * @return {@code ResponseEntity} response entity */ @Override - public ResponseEntity<Object> getResourceDataPassthroughRunningForCmHandle(final String cmHandle, - final String resourceIdentifier, + public ResponseEntity<Object> getResourceDataPassthroughRunningForCmHandle(final String resourceIdentifier, + final String cmHandle, final @Valid DataAccessReadRequest dataAccessReadRequest, final String accept, final @Valid String fields, diff --git a/src/test/groovy/org/onap/cps/ncmp/dmi/rest/controller/DmiRestControllerSpec.groovy b/src/test/groovy/org/onap/cps/ncmp/dmi/rest/controller/DmiRestControllerSpec.groovy index 8aebbca2..256db4e9 100644 --- a/src/test/groovy/org/onap/cps/ncmp/dmi/rest/controller/DmiRestControllerSpec.groovy +++ b/src/test/groovy/org/onap/cps/ncmp/dmi/rest/controller/DmiRestControllerSpec.groovy @@ -20,7 +20,6 @@ package org.onap.cps.ncmp.dmi.rest.controller - import com.fasterxml.jackson.databind.ObjectMapper import org.onap.cps.ncmp.dmi.TestUtils import org.onap.cps.ncmp.dmi.exception.DmiException @@ -199,7 +198,7 @@ class DmiRestControllerSpec extends Specification { def 'Get resource data for pass-through operational from cm handle.'() { given: 'Get resource data url' def getResourceDataForCmHandleUrl = "${basePathV1}/ch/some-cmHandle/data/ds/ncmp-datastore:passthrough-operational" + - "/resourceIdentifier?fields=myfields&depth=5" + "?resourceIdentifier=abc/xyz&fields=myfields&depth=5" def json = '{"cmHandleProperties" : { "prop1" : "value1", "prop2" : "value2"}}' when: 'get resource data PUT api is invoked' def response = mvc.perform( @@ -210,7 +209,7 @@ class DmiRestControllerSpec extends Specification { response.status == HttpStatus.OK.value() and: 'dmi service called with get resource data for cm handle' 1 * mockDmiService.getResourceDataOperationalForCmHandle('some-cmHandle', - 'resourceIdentifier', + 'abc/xyz', 'application/json', 'myfields', 5, @@ -219,7 +218,8 @@ class DmiRestControllerSpec extends Specification { def 'Write data using passthrough running for a cm handle using #scenario.'() { given: 'write data for cmHandle url and jsonData' - def writeDataforCmHandlePassthroughRunning = "${basePathV1}/ch/some-cmHandle/data/ds/ncmp-datastore:passthrough-running/some-resourceIdentifier" + def writeDataforCmHandlePassthroughRunning = "${basePathV1}/ch/some-cmHandle/data/ds/ncmp-datastore:passthrough-running" + + "?resourceIdentifier=some-resourceIdentifier" def jsonData = TestUtils.getResourceFileContent(requestBodyFile) and: 'dmi service is called' mockDmiService.writeResourceDataPassthroughForCmHandle('some-cmHandle', @@ -240,10 +240,10 @@ class DmiRestControllerSpec extends Specification { 'data with special chars' | 'dataWithSpecialChar.json'|| 'data with quote \" and new line \n' } - def 'Get resource data for pass-through running from cm handle.'() { + def 'Get resource data for pass-through running from cm handle with #scenario value in resource identifier param.'() { given: 'Get resource data url' def getResourceDataForCmHandleUrl = "${basePathV1}/ch/some-cmHandle/data/ds/ncmp-datastore:passthrough-running" + - "/testResourceIdentifier?fields=testFields&depth=5" + "?resourceIdentifier="+resourceIdentifier+"&fields=testFields&depth=5" def json = '{"cmHandleProperties" : { "prop1" : "value1", "prop2" : "value2"}}' when: 'get resource data PUT api is invoked' def response = mvc.perform( @@ -254,11 +254,20 @@ class DmiRestControllerSpec extends Specification { response.status == HttpStatus.OK.value() and: 'dmi service called with get resource data for cm handle' 1 * mockDmiService.getResourceDataPassThroughRunningForCmHandle('some-cmHandle', - 'testResourceIdentifier', + resourceIdentifier, 'application/json', 'testFields', 5, ['prop1':'value1', 'prop2':'value2']) + where: 'tokens are used in the resource identifier parameter' + scenario | resourceIdentifier + '/' | 'id/with/slashes' + '?' | 'idWith?' + ',' | 'idWith,' + '=' | 'idWith=' + '[]' | 'idWith[]' + '? needs to be encoded as %3F' | 'idWith%3F' + } def getJsonDataForGetModules(operation) { |