diff options
author | danielhanrahan <daniel.hanrahan@est.tech> | 2023-07-12 16:11:07 +0100 |
---|---|---|
committer | danielhanrahan <daniel.hanrahan@est.tech> | 2023-07-13 11:38:53 +0100 |
commit | d45fe759ba6d693fcaa9247f89d28c6a3162b2c0 (patch) | |
tree | 89faa0dfaf1719ed754e05a0d0e00273fe3033eb /cps-service/src/test | |
parent | 46d25a52084252a7bb34f084e75bcdd100e7c9ab (diff) |
Fix handling of special characters in prefix names
This fixes issues with special characters like square brackets
- Make PrefixResolver use CpsPathParser instead of regex
- Make DataMapUtils use CpsPathParser instead of String parsing
Issue-ID: CPS-1758
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I6dd66eee398a46a69c0229059195f5096ab6fdec
Diffstat (limited to 'cps-service/src/test')
-rw-r--r-- | cps-service/src/test/groovy/org/onap/cps/utils/DataMapUtilsSpec.groovy | 8 | ||||
-rw-r--r-- | cps-service/src/test/groovy/org/onap/cps/utils/PrefixResolverSpec.groovy | 5 |
2 files changed, 7 insertions, 6 deletions
diff --git a/cps-service/src/test/groovy/org/onap/cps/utils/DataMapUtilsSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/utils/DataMapUtilsSpec.groovy index c636f4b5ff..29085a9c7e 100644 --- a/cps-service/src/test/groovy/org/onap/cps/utils/DataMapUtilsSpec.groovy +++ b/cps-service/src/test/groovy/org/onap/cps/utils/DataMapUtilsSpec.groovy @@ -68,8 +68,8 @@ class DataMapUtilsSpec extends Specification { scenario | xPath | expectedNodeIdentifier 'container xpath' | '/bookstore' | 'sampleModuleName:bookstore' 'xpath contains list attribute' | '/bookstore/categories[@code=1]' | 'sampleModuleName:categories' - 'xpath contains list attributes with /' | '/bookstore/categories[@code=1/2]' | 'sampleModuleName:categories' - + 'xpath contains list attributes with /' | '/bookstore/categories[@code="1/2"]' | 'sampleModuleName:categories' + 'xpath contains list attributes with [' | '/bookstore/categories[@code="[1]"]' | 'sampleModuleName:categories' } def 'Data node structure with anchor name conversion to map with root node identifier.'() { @@ -98,7 +98,7 @@ class DataMapUtilsSpec extends Specification { def dataNode = buildDataNode( "/parent",[parentLeaf:'parentLeafValue', parentLeafList:['parentLeafListEntry1','parentLeafListEntry2']],[ - buildDataNode('/parent/child-list[@id=1/2]',[listElementLeaf:'listElement1leafValue'],noChildren), + buildDataNode('/parent/child-list[@id="1/2"]',[listElementLeaf:'listElement1leafValue'],noChildren), buildDataNode('/parent/child-list[@id=2]',[listElementLeaf:'listElement2leafValue'],noChildren), buildDataNode('/parent/child-object',[childLeaf:'childLeafValue'], [buildDataNode('/parent/child-object/grand-child-object',[grandChildLeaf:'grandChildLeafValue'],noChildren)] @@ -107,7 +107,7 @@ class DataMapUtilsSpec extends Specification { def dataNodeWithAnchor = buildDataNodeWithAnchor( "/parent", 'anchor01',[parentLeaf:'parentLeafValue', parentLeafList:['parentLeafListEntry1','parentLeafListEntry2']],[ - buildDataNode('/parent/child-list[@id=1/2]',[listElementLeaf:'listElement1leafValue'],noChildren), + buildDataNode('/parent/child-list[@id="1/2"]',[listElementLeaf:'listElement1leafValue'],noChildren), buildDataNode('/parent/child-list[@id=2]',[listElementLeaf:'listElement2leafValue'],noChildren), buildDataNode('/parent/child-object',[childLeaf:'childLeafValue'], [buildDataNode('/parent/child-object/grand-child-object',[grandChildLeaf:'grandChildLeafValue'],noChildren)] diff --git a/cps-service/src/test/groovy/org/onap/cps/utils/PrefixResolverSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/utils/PrefixResolverSpec.groovy index 4c1b891168..ff6ab346f2 100644 --- a/cps-service/src/test/groovy/org/onap/cps/utils/PrefixResolverSpec.groovy +++ b/cps-service/src/test/groovy/org/onap/cps/utils/PrefixResolverSpec.groovy @@ -1,6 +1,6 @@ /* * ============LICENSE_START======================================================= - * Copyright (C) 2021-2022 Nordix Foundation + * Copyright (C) 2021-2023 Nordix Foundation * Modifications Copyright (C) 2021 Pantheon.tech * Modifications Copyright (C) 2021-2022 Bell Canada. * ================================================================================ @@ -77,8 +77,9 @@ class PrefixResolverSpec extends Specification { '/test-tree/with/descendants' || 'tree' '/test-tree[@id=1]' || 'tree' '/test-tree[@id=1]/child' || 'tree' + '/test-tree[@id="[1]"]/child' || 'tree' + '//test-tree' || '' '/not-defined' || '' - 'invalid-xpath' || '' } def 'get prefix with populated anchor data cache with #scenario cache entry'() { |