diff options
author | Rudrangi Anupriya <ra00745022@techmahindra.com> | 2023-07-28 14:28:54 +0530 |
---|---|---|
committer | Rudrangi Anupriya <ra00745022@techmahindra.com> | 2023-07-28 14:29:10 +0530 |
commit | 8126f03d255341973112daaec2efaf90e3a40832 (patch) | |
tree | 4f903b2a8495186d6a48c02e277a40bd26f44148 /cps-rest | |
parent | 16e9ea97a6a46f3e59cf600a528953c9c0e8e48c (diff) |
Add 'direct' keyword to descendants option to query direct children (ep1)
-added 'direct' keyword also to Fetch Descendants Option along with 'all' and 'none' to Query direct child.
-added unit tests to test direct keyword
Issue-ID:CPS-1784
Change-Id: Iab7f59fbeebb03703626132c6d5c2afde0e5ab4d
Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
Diffstat (limited to 'cps-rest')
-rw-r--r-- | cps-rest/docs/openapi/components.yml | 2 | ||||
-rw-r--r-- | cps-rest/src/test/groovy/org/onap/cps/rest/controller/QueryRestControllerSpec.groovy | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/cps-rest/docs/openapi/components.yml b/cps-rest/docs/openapi/components.yml index a7c13002bd..a72130562e 100644 --- a/cps-rest/docs/openapi/components.yml +++ b/cps-rest/docs/openapi/components.yml @@ -263,7 +263,7 @@ components: descendantsInQuery: name: descendants in: query - description: Number of descendants to query. Allowed values are 'none', 'all', -1 (for all), 0 (for none) and any positive number. + description: Number of descendants to query. Allowed values are 'none', 'all', 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive number. required: false schema: type: string diff --git a/cps-rest/src/test/groovy/org/onap/cps/rest/controller/QueryRestControllerSpec.groovy b/cps-rest/src/test/groovy/org/onap/cps/rest/controller/QueryRestControllerSpec.groovy index c4bb23ce4e..09e9ff5c4a 100644 --- a/cps-rest/src/test/groovy/org/onap/cps/rest/controller/QueryRestControllerSpec.groovy +++ b/cps-rest/src/test/groovy/org/onap/cps/rest/controller/QueryRestControllerSpec.groovy @@ -25,6 +25,7 @@ package org.onap.cps.rest.controller import org.onap.cps.utils.PrefixResolver +import static org.onap.cps.spi.FetchDescendantsOption.DIRECT_CHILD_ONLY import static org.onap.cps.spi.FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS import static org.onap.cps.spi.FetchDescendantsOption.OMIT_DESCENDANTS import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get @@ -97,17 +98,21 @@ class QueryRestControllerSpec extends Specification { def dataNode1 = new DataNodeBuilder().withXpath('/xpath') .withLeaves([leaf: 'value', leafList: ['leaveListElement1', 'leaveListElement2']]).build() mockCpsQueryService.queryDataNodes(dataspaceName, anchorName, cpsPath, { descendantsOption -> { - assert descendantsOption.depth == 2}}) >> [dataNode1, dataNode1] + assert descendantsOption.depth == expectedDepth}}) >> [dataNode1, dataNode1] when: 'query data nodes API is invoked' def response = mvc.perform( get(dataNodeEndpointV2) .param('cps-path', cpsPath) - .param('descendants', '2')) + .param('descendants', includeDescendantsOptionString)) .andReturn().response then: 'the response contains the the datanode in json format' assert response.status == HttpStatus.OK.value() assert response.getContentAsString().contains('{"xpath":{"leaf":"value","leafList":["leaveListElement1","leaveListElement2"]}}') + where: 'the following options for include descendants are provided in the request' + scenario | includeDescendantsOptionString || expectedDepth + 'direct children' | 'direct' || 1 + 'descendants' | '2' || 2 } def 'Query data node by cps path for the given dataspace across all anchors with #scenario.'() { @@ -139,5 +144,6 @@ class QueryRestControllerSpec extends Specification { 'no descendants by default' | '' || OMIT_DESCENDANTS 'no descendant explicitly' | 'none' || OMIT_DESCENDANTS 'descendants' | 'all' || INCLUDE_ALL_DESCENDANTS + 'direct children' | 'direct' || DIRECT_CHILD_ONLY } } |