summaryrefslogtreecommitdiffstats
path: root/cps-service/src
diff options
context:
space:
mode:
authorToine Siebelink <toine.siebelink@est.tech>2022-01-07 14:34:35 +0000
committerGerrit Code Review <gerrit@onap.org>2022-01-07 14:34:35 +0000
commit15fffd19b49827184096ae1444b8ca2ed86a5201 (patch)
tree14e64f4c94fc12277949a9d5e5ffe7a0ce041a27 /cps-service/src
parentbdec7cfeb13886e5636d0a5159f83334197906bb (diff)
parent6f494f46266e8709d6b61530aa48fe76adacf965 (diff)
Merge "CPS-Core: Unable to parse JSON input with space for POST endpoint"
Diffstat (limited to 'cps-service/src')
-rw-r--r--cps-service/src/test/groovy/org/onap/cps/utils/YangUtilsSpec.groovy27
1 files changed, 27 insertions, 0 deletions
diff --git a/cps-service/src/test/groovy/org/onap/cps/utils/YangUtilsSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/utils/YangUtilsSpec.groovy
index cca2ac6217..25b90d702f 100644
--- a/cps-service/src/test/groovy/org/onap/cps/utils/YangUtilsSpec.groovy
+++ b/cps-service/src/test/groovy/org/onap/cps/utils/YangUtilsSpec.groovy
@@ -88,4 +88,31 @@ class YangUtilsSpec extends Specification {
'another invalid parent path' | '/test-tree/branch[@name=\'Branch\']/nest/name/last-name'
'fragment does not belong to parent' | '/test-tree/'
}
+
+ def 'Parsing json data with invalid json string: #description.'() {
+ given: 'schema context'
+ def yangResourcesMap = TestUtils.getYangResourcesAsMap('bookstore.yang')
+ def schemaContext = YangTextSchemaSourceSetBuilder.of(yangResourcesMap).getSchemaContext()
+ when: 'malformed json string is parsed'
+ YangUtils.parseJsonData(invalidJson, schemaContext)
+ then: 'an exception is thrown'
+ thrown(DataValidationException)
+ where: 'the following malformed json is provided'
+ description | invalidJson
+ 'malformed json string with unterminated array data' | '{bookstore={categories=[{books=[{authors=[Iain M. Banks]}]}]}}'
+ 'incorrect json' | '{" }'
+ }
+
+ def 'Parsing json data with space.'() {
+ given: 'schema context'
+ def yangResourcesMap = TestUtils.getYangResourcesAsMap('bookstore.yang')
+ def schemaContext = YangTextSchemaSourceSetBuilder.of(yangResourcesMap).getSchemaContext()
+ and: 'some json data with space in the array elements'
+ def jsonDataWithSpacesInArrayElement = TestUtils.getResourceFileContent('bookstore.json')
+ when: 'that json data is parsed'
+ YangUtils.parseJsonData(jsonDataWithSpacesInArrayElement, schemaContext)
+ then: 'no exception thrown'
+ noExceptionThrown()
+ }
+
}