summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/onap/cps/ncmp/dmi/rest/controller/DmiRestController.java16
-rw-r--r--src/test/groovy/org/onap/cps/ncmp/dmi/rest/controller/DmiRestControllerSpec.groovy23
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) {