From: ToineSiebelink Date: Mon, 8 Sep 2025 10:17:54 +0000 (+0100) Subject: Add test coverage for last missed branch in cps-service X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=b9ae8bc8a6aace34adf0bf1b17d313f4b44757fd;p=cps.git Add test coverage for last missed branch in cps-service - Add test for user-order leaf-list using test-tree model (see https://en.wikipedia.org/wiki/The_Rattlin%27_Bog) Issue-ID: CPS-475 Change-Id: I1adf107289e7fa0a9f832bfdc4267c04615eaa28 Signed-off-by: ToineSiebelink --- diff --git a/cps-service/src/main/java/org/onap/cps/impl/DataNodeBuilder.java b/cps-service/src/main/java/org/onap/cps/impl/DataNodeBuilder.java index e9c11a7676..e738eebb0f 100644 --- a/cps-service/src/main/java/org/onap/cps/impl/DataNodeBuilder.java +++ b/cps-service/src/main/java/org/onap/cps/impl/DataNodeBuilder.java @@ -247,6 +247,8 @@ public class DataNodeBuilder { .collect(Collectors.toList()); if (leafSetNode.ordering() == Ordering.SYSTEM) { leafListValues.sort(null); + } else { + log.trace("Maintaining user order"); } leafListValues = Collections.unmodifiableList(leafListValues); addYangLeaf(currentDataNode, leafListName, (Serializable) leafListValues); diff --git a/cps-service/src/test/groovy/org/onap/cps/impl/DataNodeBuilderSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/impl/DataNodeBuilderSpec.groovy index 5b9a961627..71da0ba246 100644 --- a/cps-service/src/test/groovy/org/onap/cps/impl/DataNodeBuilderSpec.groovy +++ b/cps-service/src/test/groovy/org/onap/cps/impl/DataNodeBuilderSpec.groovy @@ -44,7 +44,7 @@ class DataNodeBuilderSpec extends Specification { '/test-tree/branch[@name=\'Left\']/nest' : [name: 'Small', birds: ['Sparrow', 'Robin', 'Finch']], '/test-tree/branch[@name=\'Right\']' : [name: 'Right'], '/test-tree/branch[@name=\'Right\']/nest' : [name: 'Big', birds: ['Owl', 'Raven', 'Crow']], - '/test-tree/fruit[@color=\'Green\' and @name=\'Apple\']': [color: 'Green', name: 'Apple'] + '/test-tree/fruit[@color=\'Green\' and @name=\'Apple\']': [color: 'Green', name: 'Apple', rattlinBog: ['tick', 'louse', 'hair', 'worm']] ] String[] networkTopologyModelRfc8345 = [ diff --git a/cps-service/src/test/resources/test-tree.json b/cps-service/src/test/resources/test-tree.json index e1789abc1d..2db3f95797 100644 --- a/cps-service/src/test/resources/test-tree.json +++ b/cps-service/src/test/resources/test-tree.json @@ -27,7 +27,13 @@ "fruit": [ { "name": "Apple", - "color": "Green" + "color": "Green", + "rattlinBog": [ + "tick", + "louse", + "hair", + "worm" + ] } ] } diff --git a/cps-service/src/test/resources/test-tree.yang b/cps-service/src/test/resources/test-tree.yang index a9f7e224b7..057b698a61 100644 --- a/cps-service/src/test/resources/test-tree.yang +++ b/cps-service/src/test/resources/test-tree.yang @@ -31,6 +31,11 @@ module test-tree { type string; } + leaf-list rattlinBog { + type string; + ordered-by user; + } + } } leaf topLevelLeafAddedForBranchCoverageInPrefixResolverSpec {