aboutsummaryrefslogtreecommitdiffstats
path: root/cps-service/src/test/groovy
diff options
context:
space:
mode:
authordanielhanrahan <daniel.hanrahan@est.tech>2023-07-12 16:11:07 +0100
committerdanielhanrahan <daniel.hanrahan@est.tech>2023-07-13 11:38:53 +0100
commitd45fe759ba6d693fcaa9247f89d28c6a3162b2c0 (patch)
tree89faa0dfaf1719ed754e05a0d0e00273fe3033eb /cps-service/src/test/groovy
parent46d25a52084252a7bb34f084e75bcdd100e7c9ab (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/groovy')
-rw-r--r--cps-service/src/test/groovy/org/onap/cps/utils/DataMapUtilsSpec.groovy8
-rw-r--r--cps-service/src/test/groovy/org/onap/cps/utils/PrefixResolverSpec.groovy5
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 c636f4b5f..29085a9c7 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 4c1b89116..ff6ab346f 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'() {