From 2fb3f66a3da8f7daa8dba9023de56b2227c59e7a Mon Sep 17 00:00:00 2001 From: niamhcore Date: Wed, 29 Sep 2021 15:32:32 +0100 Subject: Changing resource identifier to a query param * Updating yaml * Update jib-maven-plugin version Issue-ID: CPS-679 Signed-off-by: niamhcore Change-Id: Ie2f49bd8e22723ca4dcd2c20ed39722f22c281c1 --- .../dmi/rest/controller/DmiRestController.java | 16 +++++++-------- .../rest/controller/DmiRestControllerSpec.groovy | 23 +++++++++++++++------- 2 files changed, 24 insertions(+), 15 deletions(-) (limited to 'src') 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 ff3cefcd..72e81709 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 @@ -80,14 +80,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 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, @@ -114,8 +114,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 @@ -123,8 +123,8 @@ public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi { * @return {@code ResponseEntity} response entity */ @Override - public ResponseEntity getResourceDataOperationalForCmHandle(final String cmHandle, - final String resourceIdentifier, + public ResponseEntity getResourceDataOperationalForCmHandle(final String resourceIdentifier, + final String cmHandle, final @Valid DataAccessReadRequest dataAccessReadRequest, final String accept, final @Valid String fields, @@ -142,8 +142,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 @@ -151,8 +151,8 @@ public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi { * @return {@code ResponseEntity} response entity */ @Override - public ResponseEntity getResourceDataPassthroughRunningForCmHandle(final String cmHandle, - final String resourceIdentifier, + public ResponseEntity 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 9c27dc1b..c818eccb 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 @@ -187,7 +186,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( @@ -198,7 +197,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, @@ -207,7 +206,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', @@ -228,10 +228,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( @@ -242,10 +242,19 @@ 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' + } } \ No newline at end of file -- cgit 1.2.3-korg