diff options
author | Lena Peuker <PeukerL@telekom.de> | 2022-11-29 15:38:00 +0100 |
---|---|---|
committer | Lena Peuker <PeukerL@telekom.de> | 2022-12-12 14:19:08 +0100 |
commit | e7f24d3f2f239e6bdc14a78eb01d07525650a960 (patch) | |
tree | 23fafc2c30f2dc1e862cbf978d4653ab0a48b1fc /cps-service/src/test/groovy/org | |
parent | f20b49940bb4dd381b689dfedbddbe80cb3968f7 (diff) |
Fix DataNodeBuilder for ChoiceNodes
Fix implemented to handle YangChoiceNode in right format
Issue-ID: CPS-1352
Signed-off-by: Lena Peuker <PeukerL@telekom.de>
Change-Id: I48d433bac96cfc647bc31c82817870995bace860
Diffstat (limited to 'cps-service/src/test/groovy/org')
-rw-r--r-- | cps-service/src/test/groovy/org/onap/cps/spi/model/DataNodeBuilderSpec.groovy | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/cps-service/src/test/groovy/org/onap/cps/spi/model/DataNodeBuilderSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/spi/model/DataNodeBuilderSpec.groovy index fcfb4826d9..a58504ff40 100644 --- a/cps-service/src/test/groovy/org/onap/cps/spi/model/DataNodeBuilderSpec.groovy +++ b/cps-service/src/test/groovy/org/onap/cps/spi/model/DataNodeBuilderSpec.groovy @@ -140,6 +140,25 @@ class DataNodeBuilderSpec extends Specification { assert result.leaves['source-tp'] == '1-2-1' } + def 'Converting NormalizedNode (tree) to a DataNode (tree) -- with ChoiceNode.'() { + given: 'a schema context for expected model' + def yangResourceNameToContent = TestUtils.getYangResourcesAsMap('yang-with-choice-node.yang') + def schemaContext = YangTextSchemaSourceSetBuilder.of(yangResourceNameToContent) getSchemaContext() + and: 'the json data fragment parsed into normalized node object' + def jsonData = TestUtils.getResourceFileContent('data-with-choice-node.json') + def normalizedNode = YangUtils.parseJsonData(jsonData, schemaContext) + when: 'the normalized node is converted to a data node' + def result = new DataNodeBuilder().withNormalizedNodeTree(normalizedNode).build() + def mappedResult = TestUtils.getFlattenMapByXpath(result) + then: 'the resulting data node contains only one xpath with 3 leaves' + mappedResult.keySet().containsAll([ + "/container-with-choice-leaves" + ]) + assert result.leaves['leaf-1'] == "test" + assert result.leaves['choice-case1-leaf-a'] == "test" + assert result.leaves['choice-case1-leaf-b'] == "test" + } + def 'Converting NormalizedNode into DataNode collection: #scenario.'() { given: 'a schema context for expected model' def yangResourceNameToContent = TestUtils.getYangResourcesAsMap('test-tree.yang') |