summaryrefslogtreecommitdiffstats
path: root/cps-service/src/test/groovy
diff options
context:
space:
mode:
Diffstat (limited to 'cps-service/src/test/groovy')
-rw-r--r--cps-service/src/test/groovy/org/onap/cps/model/DataNodeBuilderSpec.groovy29
-rw-r--r--cps-service/src/test/groovy/org/onap/cps/utils/YangUtilsSpec.groovy21
2 files changed, 29 insertions, 21 deletions
diff --git a/cps-service/src/test/groovy/org/onap/cps/model/DataNodeBuilderSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/model/DataNodeBuilderSpec.groovy
new file mode 100644
index 0000000000..0dbde889a4
--- /dev/null
+++ b/cps-service/src/test/groovy/org/onap/cps/model/DataNodeBuilderSpec.groovy
@@ -0,0 +1,29 @@
+package org.onap.cps.model
+
+import org.onap.cps.TestUtils
+import org.onap.cps.spi.model.DataNodeBuilder
+import org.onap.cps.utils.YangUtils
+import org.onap.cps.yang.YangTextSchemaSourceSetBuilder
+import spock.lang.Specification
+
+class DataNodeBuilderSpec extends Specification {
+
+ def 'Converting Normalized Node (tree) to a DataNode (tree).'() {
+ given: 'a Yang module'
+ def yangResourceNameToContent = TestUtils.getYangResourcesAsMap('bookstore.yang')
+ def schemaContext = YangTextSchemaSourceSetBuilder.of(yangResourceNameToContent)getSchemaContext()
+ and: 'a normalized node for that model'
+ def jsonData = TestUtils.getResourceFileContent('bookstore.json')
+ def normalizedNode = YangUtils.parseJsonData(jsonData, schemaContext)
+ when: 'the normalized node is converted to a DataNode (tree)'
+ def result = new DataNodeBuilder().withNormalizedNodeTree(normalizedNode).build()
+ then: 'the system creates a (root) fragment without a parent and 2 children (categories)'
+ result.childDataNodes.size() == 2
+ and: 'each child (category) has the root fragment (result) as parent and in turn as 1 child (a list of books)'
+ result.childDataNodes.each { it.childDataNodes.size() == 1 }
+ and: 'the fragments have the correct xpaths'
+ assert result.xpath == '/bookstore'
+ assert result.childDataNodes.collect { it.xpath }
+ .containsAll(["/bookstore/categories[@code='01']", "/bookstore/categories[@code='02']"])
+ }
+}
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 9237fa29af..e6e5d6a366 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
@@ -54,25 +54,4 @@ class YangUtilsSpec extends Specification{
'{incomplete json' | 'incomplete json'
'{"test:bookstore": {"address": "Parnell st." }}' | 'json with un-modelled data'
}
-
- def 'Breaking a Json Data Object into fragments.'() {
- given: 'a Yang module'
- def yangResourceNameToContent = TestUtils.getYangResourcesAsMap('bookstore.yang')
- def schemaContext = YangTextSchemaSourceSetBuilder.of(yangResourceNameToContent)getSchemaContext()
- def module = schemaContext.findModule('stores', Revision.of('2020-09-15')).get()
- and: 'a normalized node for that model'
- def jsonData = TestUtils.getResourceFileContent('bookstore.json')
- def normalizedNode = YangUtils.parseJsonData(jsonData, schemaContext)
- when: 'the json data is fragmented'
- def result = YangUtils.fragmentNormalizedNode(normalizedNode, module)
- then: 'the system creates a (root) fragment without a parent and 2 children (categories)'
- result.parentFragment == null
- result.childFragments.size() == 2
- and: 'each child (category) has the root fragment (result) as parent and in turn as 1 child (a list of books)'
- result.childFragments.each { it.parentFragment == result && it.childFragments.size() == 1 }
- and: 'the fragments have the correct xpaths'
- assert result.xpath == '/bookstore'
- assert result.childFragments.collect { it.xpath }
- .containsAll(["/bookstore/categories[@code='01']", "/bookstore/categories[@code='02']"])
- }
}