fix fields and depth to option query 00/124700/2
authortragait <rahul.tyagi@est.tech>
Wed, 6 Oct 2021 10:04:18 +0000 (11:04 +0100)
committertragait <rahul.tyagi@est.tech>
Thu, 7 Oct 2021 08:58:01 +0000 (09:58 +0100)
Issue-ID: CPS-678
Signed-off-by: tragait <rahul.tyagi@est.tech>
Change-Id: I8934bd7708ae51dce77b8684081a71ca57bfa3a4

cps-ncmp-rest/docs/openapi/components.yaml
cps-ncmp-rest/docs/openapi/ncmproxy.yml
cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java
cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operation/DmiOperations.java
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImplSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/operation/DmiOperationsSpec.groovy

index 560c945..d35919d 100644 (file)
@@ -133,21 +133,24 @@ components:
       schema:
         type: string
         enum: [ application/json, application/yang-data+json ]
-    fieldsParamInQuery:
-      name: fields
+    optionsParamInQuery:
+      name: options
       in: query
-      description: Fields parameter to filter resource
+      description: options parameter in query, it is mandatory to wrap key(s)=value(s) in parenthesis'()'.
       required: false
       schema:
         type: string
-    depthParamInQuery:
-      name: depth
-      in: query
-      description: Depth parameter for response
-      required: false
-      schema:
-        type: integer
-        minimum: 1
+      allowReserved: true
+      examples:
+        sample1:
+          value:
+            options: (key1=value1,key2=value2)
+        sample2:
+          value:
+            options: (key1=value1,key2=value1/value2)
+        sample3:
+          value:
+            options: (key1=10,key2=value2,key3=[val31;val32])
     contentParamInHeader:
       name: Content-Type
       in: header
index 263c76c..5a45a5c 100755 (executable)
@@ -213,8 +213,7 @@ getResourceDataForPassthroughOperational:
       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
       - $ref: 'components.yaml#/components/parameters/acceptParamInHeader'
-      - $ref: 'components.yaml#/components/parameters/fieldsParamInQuery'
-      - $ref: 'components.yaml#/components/parameters/depthParamInQuery'
+      - $ref: 'components.yaml#/components/parameters/optionsParamInQuery'
     responses:
       200:
         $ref: 'components.yaml#/components/responses/Ok'
@@ -238,8 +237,7 @@ resourceDataForPassthroughRunning:
       - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
       - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
       - $ref: 'components.yaml#/components/parameters/acceptParamInHeader'
-      - $ref: 'components.yaml#/components/parameters/fieldsParamInQuery'
-      - $ref: 'components.yaml#/components/parameters/depthParamInQuery'
+      - $ref: 'components.yaml#/components/parameters/optionsParamInQuery'
     responses:
       200:
         $ref: 'components.yaml#/components/responses/Ok'
index 0a1a641..4a9527a 100755 (executable)
@@ -157,22 +157,19 @@ public class NetworkCmProxyController implements NetworkCmProxyApi {
      *
      * @param cmHandle cm handle identifier
      * @param resourceIdentifier resource identifier
-     * @param accept accept header parameter
-     * @param fields fields query parameter
-     * @param depth depth query parameter
+     * @param acceptParamInHeader accept header parameter
+     * @param optionsParamInQuery options query parameter
      * @return {@code ResponseEntity} response from dmi plugin
      */
     @Override
     public ResponseEntity<Object> getResourceDataOperationalForCmHandle(final String cmHandle,
-                                                                        final String resourceIdentifier,
-                                                                        final String accept,
-                                                                        final String fields,
-                                                                        final Integer depth) {
+                                                                        final @NotNull @Valid String resourceIdentifier,
+                                                                        final String acceptParamInHeader,
+                                                                        final @Valid String optionsParamInQuery) {
         final Object responseObject = networkCmProxyDataService.getResourceDataOperationalForCmHandle(cmHandle,
                 resourceIdentifier,
-                accept,
-                fields,
-                depth);
+                acceptParamInHeader,
+                optionsParamInQuery);
         return ResponseEntity.ok(responseObject);
     }
 
@@ -181,22 +178,19 @@ public class NetworkCmProxyController implements NetworkCmProxyApi {
      *
      * @param cmHandle cm handle identifier
      * @param resourceIdentifier resource identifier
-     * @param accept accept header parameter
-     * @param fields fields query parameter
-     * @param depth depth query parameter
+     * @param acceptParamInHeader accept header parameter
+     * @param optionsParamInQuery options query parameter
      * @return {@code ResponseEntity} response from dmi plugin
      */
     @Override
     public ResponseEntity<Object> getResourceDataRunningForCmHandle(final String cmHandle,
-                                                                    final String resourceIdentifier,
-                                                                    final String accept,
-                                                                    final String fields,
-                                                                    final Integer depth) {
+                                                                    final @NotNull @Valid String resourceIdentifier,
+                                                                    final String acceptParamInHeader,
+                                                                    final @Valid String optionsParamInQuery) {
         final Object responseObject = networkCmProxyDataService.getResourceDataPassThroughRunningForCmHandle(cmHandle,
                 resourceIdentifier,
-                accept,
-                fields,
-                depth);
+                acceptParamInHeader,
+                optionsParamInQuery);
         return ResponseEntity.ok(responseObject);
     }
 
index d62ae93..b8c68d9 100644 (file)
@@ -193,7 +193,7 @@ class NetworkCmProxyControllerSpec extends Specification {
     def 'Get Resource Data from pass-through operational.' () {
         given: 'resource data url'
             def getUrl = "$ncmpBasePathV1/ch/testCmHandle/data/ds/ncmp-datastore:passthrough-operational" +
-                    "?resourceIdentifier=parent/child&fields=testFields&depth=5"
+                    "?resourceIdentifier=parent/child&options=(a=1,b=2)"
         when: 'get data resource request is performed'
             def response = mvc.perform(
                     get(getUrl)
@@ -204,8 +204,7 @@ class NetworkCmProxyControllerSpec extends Specification {
             1 * mockNetworkCmProxyDataService.getResourceDataOperationalForCmHandle('testCmHandle',
                     'parent/child',
                     'application/json',
-                    'testFields',
-                    5)
+                    '(a=1,b=2)')
         and: 'response status is Ok'
             response.status == HttpStatus.OK.value()
     }
@@ -213,13 +212,12 @@ class NetworkCmProxyControllerSpec extends Specification {
     def 'Get Resource Data from pass-through running with #scenario value in resource identifier param.' () {
         given: 'resource data url'
             def getUrl = "$ncmpBasePathV1/ch/testCmHandle/data/ds/ncmp-datastore:passthrough-running" +
-                    "?resourceIdentifier=" + resourceIdentifier + "&fields=testFields&depth=5"
+                    "?resourceIdentifier=" + resourceIdentifier + "&options=(a=1,b=2)"
         and: 'ncmp service returns json object'
             mockNetworkCmProxyDataService.getResourceDataPassThroughRunningForCmHandle('testCmHandle',
                     resourceIdentifier,
                     'application/json',
-                    'testFields',
-                    5) >> '{valid-json}'
+                    '(a=1,b=2)') >> '{valid-json}'
         when: 'get data resource request is performed'
             def response = mvc.perform(
                     get(getUrl)
index 2f91ed3..cb2f782 100644 (file)
@@ -114,16 +114,14 @@ public interface NetworkCmProxyDataService {
      *
      * @param cmHandle cm handle
      * @param resourceIdentifier resource identifier
-     * @param accept accept param
-     * @param fields fields query
-     * @param depth depth query
+     * @param acceptParamInHeader accept param
+     * @param optionsParamInQuery options query
      * @return {@code Object} resource data
      */
     Object getResourceDataOperationalForCmHandle(@NotNull String cmHandle,
                                                  @NotNull String resourceIdentifier,
-                                                 String accept,
-                                                 String fields,
-                                                 Integer depth);
+                                                 String acceptParamInHeader,
+                                                 String optionsParamInQuery);
 
     /**
      * Get resource data for data store pass-through running
@@ -131,16 +129,14 @@ public interface NetworkCmProxyDataService {
      *
      * @param cmHandle cm handle
      * @param resourceIdentifier resource identifier
-     * @param acceptParam accept param
-     * @param fields fields query
-     * @param depth depth query
+     * @param acceptParamInHeader accept param
+     * @param optionsParamInQuery options query
      * @return {@code Object} resource data
      */
     Object getResourceDataPassThroughRunningForCmHandle(@NotNull String cmHandle,
                                                         @NotNull String resourceIdentifier,
-                                                        String acceptParam,
-                                                        String fields,
-                                                        Integer depth);
+                                                        String acceptParamInHeader,
+                                                        String optionsParamInQuery);
 
     /**
      * Create resource data for data store pass-through running
index 291b0bf..889d38e 100755 (executable)
@@ -169,9 +169,8 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService
     @Override
     public Object getResourceDataOperationalForCmHandle(final @NotNull String cmHandle,
                                                         final @NotNull String resourceIdentifier,
-                                                        final String acceptParam,
-                                                        final String fieldsQueryParam,
-                                                        final Integer depthQueryParam) {
+                                                        final String acceptParamInHeader,
+                                                        final String optionsParamInQuery) {
 
         final DataNode cmHandleDataNode = fetchDataNodeFromDmiRegistryForCmHandle(cmHandle);
         final String dmiServiceName = String.valueOf(cmHandleDataNode.getLeaves().get(NCMP_DMI_SERVICE_NAME));
@@ -179,9 +178,8 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService
         final ResponseEntity<Object> response = dmiOperations.getResourceDataOperationalFromDmi(dmiServiceName,
                 cmHandle,
                 resourceIdentifier,
-                fieldsQueryParam,
-                depthQueryParam,
-                acceptParam,
+                optionsParamInQuery,
+                acceptParamInHeader,
                 dmiRequestBody);
         return handleResponse(response);
     }
@@ -189,18 +187,16 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService
     @Override
     public Object getResourceDataPassThroughRunningForCmHandle(final @NotNull String cmHandle,
                                                                final @NotNull String resourceIdentifier,
-                                                               final String acceptParam,
-                                                               final String fields,
-                                                               final Integer depth) {
+                                                               final String acceptParamInHeader,
+                                                               final String optionsParamInQuery) {
         final DataNode cmHandleDataNode = fetchDataNodeFromDmiRegistryForCmHandle(cmHandle);
         final String dmiServiceName = String.valueOf(cmHandleDataNode.getLeaves().get(NCMP_DMI_SERVICE_NAME));
         final String dmiRequestBody = getGenericRequestBody(cmHandleDataNode);
         final ResponseEntity<Object> response = dmiOperations.getResourceDataPassThroughRunningFromDmi(dmiServiceName,
                 cmHandle,
                 resourceIdentifier,
-                fields,
-                depth,
-                acceptParam,
+                optionsParamInQuery,
+                acceptParamInHeader,
                 dmiRequestBody);
         return handleResponse(response);
     }
index c295e03..363b0ef 100644 (file)
@@ -53,6 +53,7 @@ public class DmiOperations {
     private static final String DMI_CM_HANDLE_DATASTORE_PATH = DMI_CM_HANDLE_PATH + "/data/ds";
     private static final String URL_SEPARATOR = "/";
     private static final String RESOURCE_IDENTIFIER = "resourceIdentifier";
+    private static final String OPTIONS_QUERY_KEY = "options";
 
 
     /**
@@ -104,22 +105,20 @@ public class DmiOperations {
      * @param dmiServiceName dmi service name
      * @param cmHandle    network resource identifier
      * @param resourceId  resource identifier
-     * @param fieldsQuery fields query
-     * @param depthQuery  depth query
-     * @param acceptParam accept parameter
+     * @param optionsParamInQuery options query
+     * @param acceptParamInHeader accept parameter
      * @param jsonBody    json body for put operation
      * @return {@code ResponseEntity} response entity
      */
     public ResponseEntity<Object> getResourceDataOperationalFromDmi(final String dmiServiceName,
                                                                     final String cmHandle,
                                                                     final String resourceId,
-                                                                    final String fieldsQuery,
-                                                                    final Integer depthQuery,
-                                                                    final String acceptParam,
+                                                                    final String optionsParamInQuery,
+                                                                    final String acceptParamInHeader,
                                                                     final String jsonBody) {
         final var dmiResourceDataUrl = getDmiDatastoreUrl(dmiServiceName, cmHandle, resourceId,
-            fieldsQuery, depthQuery, DataStoreEnum.PASSTHROUGH_OPERATIONAL);
-        final var httpHeaders = prepareHeader(acceptParam);
+            optionsParamInQuery, DataStoreEnum.PASSTHROUGH_OPERATIONAL);
+        final var httpHeaders = prepareHeader(acceptParamInHeader);
         return dmiRestClient.putOperationWithJsonData(dmiResourceDataUrl, jsonBody, httpHeaders);
     }
 
@@ -130,22 +129,20 @@ public class DmiOperations {
      * @param dmiServiceName dmi service name
      * @param cmHandle    network resource identifier
      * @param resourceId  resource identifier
-     * @param fieldsQuery fields query
-     * @param depthQuery  depth query
-     * @param acceptParam accept parameter
+     * @param optionsParamInQuery fields query
+     * @param acceptParamInHeader accept parameter
      * @param jsonBody    json body for put operation
      * @return {@code ResponseEntity} response entity
      */
     public ResponseEntity<Object> getResourceDataPassThroughRunningFromDmi(final String dmiServiceName,
                                                                            final String cmHandle,
                                                                            final String resourceId,
-                                                                           final String fieldsQuery,
-                                                                           final Integer depthQuery,
-                                                                           final String acceptParam,
+                                                                           final String optionsParamInQuery,
+                                                                           final String acceptParamInHeader,
                                                                            final String jsonBody) {
         final var dmiResourceDataUrl = getDmiDatastoreUrl(dmiServiceName, cmHandle, resourceId,
-            fieldsQuery, depthQuery, DataStoreEnum.PASSTHROUGH_RUNNING);
-        final var httpHeaders = prepareHeader(acceptParam);
+            optionsParamInQuery, DataStoreEnum.PASSTHROUGH_RUNNING);
+        final var httpHeaders = prepareHeader(acceptParamInHeader);
         return dmiRestClient.putOperationWithJsonData(dmiResourceDataUrl, jsonBody, httpHeaders);
     }
 
@@ -163,7 +160,7 @@ public class DmiOperations {
                                                                             final String cmHandle,
                                                                             final String resourceId,
                                                                             final String jsonBody) {
-        final var stringBuilder = getStringBuilderForPassThroughRunningUrl(dmiServiceName,
+        final var stringBuilder = getStringBuilderForPassThroughUrl(dmiServiceName,
             cmHandle, resourceId, DataStoreEnum.PASSTHROUGH_RUNNING);
         return dmiRestClient.postOperationWithJsonData(stringBuilder.toString(), jsonBody, new HttpHeaders());
     }
@@ -183,20 +180,19 @@ public class DmiOperations {
     private String getDmiDatastoreUrl(final String dmiServiceName,
                                       final String cmHandle,
                                       final String resourceId,
-                                      final String fieldsQuery,
-                                      final Integer depthQuery,
+                                      final String optionsParamInQuery,
                                       final DataStoreEnum dataStoreEnum) {
-        final var stringBuilder = getStringBuilderForPassThroughRunningUrl(dmiServiceName,
+        final var stringBuilder = getStringBuilderForPassThroughUrl(dmiServiceName,
             cmHandle, resourceId, dataStoreEnum);
-        appendFieldsAndDepth(stringBuilder, fieldsQuery, depthQuery);
+        appendOptionsQuery(stringBuilder, optionsParamInQuery);
         return stringBuilder.toString();
     }
 
     @NotNull
-    private StringBuilder getStringBuilderForPassThroughRunningUrl(final String dmiServiceName,
-                                                                   final String cmHandle,
-                                                                   final String resourceId,
-                                                                   final DataStoreEnum dataStoreEnum) {
+    private StringBuilder getStringBuilderForPassThroughUrl(final String dmiServiceName,
+                                                            final String cmHandle,
+                                                            final String resourceId,
+                                                            final DataStoreEnum dataStoreEnum) {
         final var stringBuilder = new StringBuilder(dmiServiceName);
         stringBuilder.append(DMI_API_PATH);
         stringBuilder.append(DMI_CM_HANDLE_DATASTORE_PATH.replace("{cmHandle}", cmHandle));
@@ -205,23 +201,14 @@ public class DmiOperations {
         return stringBuilder;
     }
 
-    private void appendFieldsAndDepth(final StringBuilder stringBuilder,
-                                      final String fieldsQuery,
-                                      final Integer depthQuery) {
-        final var doesFieldExists = (fieldsQuery != null && !fieldsQuery.isEmpty());
-        if (doesFieldExists) {
-            stringBuilder.append("&").append("fields=").append(fieldsQuery);
-        }
-        if (depthQuery != null) {
-            stringBuilder.append("&").append("depth=").append(depthQuery);
-        }
+    private void appendOptionsQuery(final StringBuilder stringBuilder,
+                                    final String optionsParamInQuery) {
+        stringBuilder.append("&").append(OPTIONS_QUERY_KEY).append("=").append(optionsParamInQuery);
     }
 
     private HttpHeaders prepareHeader(final String acceptParam) {
         final var httpHeaders = new HttpHeaders();
-        if (acceptParam != null && !acceptParam.isEmpty()) {
-            httpHeaders.set(HttpHeaders.ACCEPT, acceptParam);
-        }
+        httpHeaders.set(HttpHeaders.ACCEPT, acceptParam);
         return httpHeaders;
     }
 }
index 2b376e9..5132501 100644 (file)
@@ -231,16 +231,14 @@ class NetworkCmProxyDataServiceImplSpec extends Specification {
             mockDmiOperations.getResourceDataOperationalFromDmi('testDmiService',
                 'testCmHandle',
                 'testResourceId',
-                'testFieldQuery',
-                5,
+                '(a=1,b=2)',
                 'testAcceptParam',
                 '{"operation":"read","cmHandleProperties":{"testName":"testValue"}}') >> new ResponseEntity<>('result-json', HttpStatus.OK)
         when: 'get resource data is called'
             def response = objectUnderTest.getResourceDataOperationalForCmHandle('testCmHandle',
             'testResourceId',
             'testAcceptParam',
-            'testFieldQuery',
-            5)
+            '(a=1,b=2)')
         then: 'dmi returns ok response'
             response == 'result-json'
     }
@@ -259,8 +257,7 @@ class NetworkCmProxyDataServiceImplSpec extends Specification {
             def response = objectUnderTest.getResourceDataOperationalForCmHandle('testCmHandle',
                     'testResourceId',
                     'testAcceptParam',
-                    'testFieldQuery',
-                    5)
+                    '(a=1,b=2)')
         then: 'exception is thrown with the expected details'
             def exceptionThrown = thrown(NcmpException.class)
             exceptionThrown.details == 'testException'
@@ -276,8 +273,7 @@ class NetworkCmProxyDataServiceImplSpec extends Specification {
             mockDmiOperations.getResourceDataOperationalFromDmi('testDmiService',
                     'testCmHandle',
                     'testResourceId',
-                    'testFieldQuery',
-                    5,
+                    '(a=1,b=2)',
                     'testAcceptParam',
                     '{"operation":"read","cmHandleProperties":{"testName":"testValue"}}')
                     >> new ResponseEntity<>('NOK-json', HttpStatus.NOT_FOUND)
@@ -285,8 +281,7 @@ class NetworkCmProxyDataServiceImplSpec extends Specification {
             def response = objectUnderTest.getResourceDataOperationalForCmHandle('testCmHandle',
                     'testResourceId',
                     'testAcceptParam',
-                    'testFieldQuery',
-                    5)
+                    '(a=1,b=2)')
         then: 'exception is thrown'
             def exceptionThrown = thrown(NcmpException.class)
         and: 'details contains the original response'
@@ -303,16 +298,14 @@ class NetworkCmProxyDataServiceImplSpec extends Specification {
             mockDmiOperations.getResourceDataPassThroughRunningFromDmi('testDmiService',
                     'testCmHandle',
                     'testResourceId',
-                    'testFieldQuery',
-                    5,
+                    '(a=1,b=2)',
                     'testAcceptParam',
                     '{"operation":"read","cmHandleProperties":{"testName":"testValue"}}') >> new ResponseEntity<>('{result-json}', HttpStatus.OK)
         when: 'get resource data is called'
             def response = objectUnderTest.getResourceDataPassThroughRunningForCmHandle('testCmHandle',
                     'testResourceId',
                     'testAcceptParam',
-                    'testFieldQuery',
-                    5)
+                    '(a=1,b=2)')
         then: 'get resource data returns expected response'
             response == '{result-json}'
     }
@@ -331,8 +324,7 @@ class NetworkCmProxyDataServiceImplSpec extends Specification {
             def response = objectUnderTest.getResourceDataPassThroughRunningForCmHandle('testCmHandle',
                     'testResourceId',
                     'testAcceptParam',
-                    'testFieldQuery',
-                    5)
+                    '(a=1,b=2)')
         then: 'exception is thrown with the expected details'
             def exceptionThrown = thrown(NcmpException.class)
             exceptionThrown.details == 'testException'
@@ -348,8 +340,7 @@ class NetworkCmProxyDataServiceImplSpec extends Specification {
             mockDmiOperations.getResourceDataPassThroughRunningFromDmi('testDmiService',
                     'testCmHandle',
                     'testResourceId',
-                    'testFieldQuery',
-                    5,
+                    '(a=1,b=2)',
                     'testAcceptParam',
                     '{"operation":"read","cmHandleProperties":{"testName":"testValue"}}')
                     >> new ResponseEntity<>('NOK-json', HttpStatus.NOT_FOUND)
@@ -357,8 +348,7 @@ class NetworkCmProxyDataServiceImplSpec extends Specification {
             def response = objectUnderTest.getResourceDataPassThroughRunningForCmHandle('testCmHandle',
                     'testResourceId',
                     'testAcceptParam',
-                    'testFieldQuery',
-                    5)
+                    '(a=1,b=2)')
         then: 'exception is thrown'
             def exceptionThrown = thrown(NcmpException.class)
         and: 'details contains the original response'
index 8af7781..8e0fb76 100644 (file)
@@ -42,13 +42,12 @@ class DmiOperationsSpec extends Specification {
     def 'call get resource data for pass-through:operational datastore from DMI.'() {
         given: 'expected url'
         def expectedUrl = 'testDmiBasePath/dmi/v1/ch/testCmhandle/data/ds' +
-                '/ncmp-datastore:passthrough-operational?resourceIdentifier=parent/child&fields=testFieldsQuery&depth=10'
+                '/ncmp-datastore:passthrough-operational?resourceIdentifier=parent/child&options=(a=1,b=2)'
         when: 'get resource data is called to DMI'
         objectUnderTest.getResourceDataOperationalFromDmi('testDmiBasePath',
                 'testCmhandle',
                 'parent/child',
-                'testFieldsQuery',
-                10,
+                '(a=1,b=2)',
                 'testAcceptJson',
                 'testJsonbody')
         then: 'the put operation is executed with the correct URL'
@@ -57,13 +56,12 @@ class DmiOperationsSpec extends Specification {
     def 'call get resource data for pass-through:running datastore from DMI.'() {
         given: 'expected url'
         def expectedUrl = 'testDmiBasePath/dmi/v1/ch/testCmhandle/data/ds' +
-                '/ncmp-datastore:passthrough-running?resourceIdentifier=parent/child&fields=testFieldsQuery&depth=10'
+                '/ncmp-datastore:passthrough-running?resourceIdentifier=parent/child&options=(a=1,b=2)'
         when: 'get resource data is called to DMI'
         objectUnderTest.getResourceDataPassThroughRunningFromDmi('testDmiBasePath',
                 'testCmhandle',
                 'parent/child',
-                'testFieldsQuery',
-                10,
+                '(a=1,b=2)',
                 'testAcceptJson',
                 'testJsonbody')
         then: 'the put operation is executed with the correct URL'