Updating RAN Inventory tests to use the latest model and data 65/118265/1
authorniamhcore <niamh.core@est.tech>
Tue, 23 Feb 2021 15:32:45 +0000 (15:32 +0000)
committerniamhcore <niamh.core@est.tech>
Tue, 23 Feb 2021 15:32:45 +0000 (15:32 +0000)
Issue-ID: CPS-200

Signed-off-by: niamhcore <niamh.core@est.tech>
Change-Id: I22fbfd66a2f355f38dc4502445df8041ed0db7c5

cps-service/src/test/groovy/org/onap/cps/api/impl/E2ENetworkSliceSpec.groovy
cps-service/src/test/resources/e2e/basic/cps-ran-inventory-data.json
cps-service/src/test/resources/e2e/basic/cps-ran-inventory@2021-01-28.yang [moved from cps-service/src/test/resources/e2e/basic/cps-ran-inventory.yang with 61% similarity]

index 75c98a8..a24bd0a 100755 (executable)
@@ -106,7 +106,7 @@ class E2ENetworkSliceSpec extends Specification {
         def dataNodeStored\r
         given: 'valid yang resource as name-to-content map'\r
             def yangResourcesNameToContentMap = TestUtils.getYangResourcesAsMap(\r
-                    'e2e/basic/cps-ran-inventory.yang')\r
+                    'e2e/basic/cps-ran-inventory@2021-01-28.yang')\r
             def schemaContext = YangTextSchemaSourceSetBuilder.of(yangResourcesNameToContentMap).getSchemaContext()\r
         and : 'a valid json is provided for the model'\r
             def jsonData = TestUtils.getResourceFileContent('e2e/basic/cps-ran-inventory-data.json')\r
@@ -122,18 +122,23 @@ class E2ENetworkSliceSpec extends Specification {
                     { args -> dataNodeStored = args[2]}\r
         and: 'the size of the tree is correct'\r
             def cpsRanInventory = TestUtils.getFlattenMapByXpath(dataNodeStored)\r
-            assert  cpsRanInventory.size() == 3\r
+            assert  cpsRanInventory.size() == 4\r
         and: 'ran-inventory contains the correct child node'\r
             def ranInventory = cpsRanInventory.get('/ran-inventory')\r
-            def sliceProfilesList = cpsRanInventory.get('/ran-inventory/sliceProfilesList[@sliceProfileId=\'f33a9dd8-ae51-4acf-8073-c9390c25f6f1\']')\r
-            def pLMNIdList = cpsRanInventory.get('/ran-inventory/sliceProfilesList[@sliceProfileId=\'f33a9dd8-ae51-4acf-8073-c9390c25f6f1\']/pLMNIdList[@mcc=\'310\' and @mnc=\'410\']')\r
+            def ranSlices = cpsRanInventory.get('/ran-inventory/ran-slices[@rannfnssiid=\'14559ead-f4fe-4c1c-a94c-8015fad3ea35\']')\r
+            def sliceProfilesList = cpsRanInventory.get('/ran-inventory/ran-slices[@rannfnssiid=\'14559ead-f4fe-4c1c-a94c-8015fad3ea35\']/sliceProfilesList[@sliceProfileId=\'f33a9dd8-ae51-4acf-8073-c9390c25f6f1\']')\r
+            def pLMNIdList = cpsRanInventory.get('/ran-inventory/ran-slices[@rannfnssiid=\'14559ead-f4fe-4c1c-a94c-8015fad3ea35\']/sliceProfilesList[@sliceProfileId=\'f33a9dd8-ae51-4acf-8073-c9390c25f6f1\']/pLMNIdList[@mcc=\'310\' and @mnc=\'410\']')\r
             ranInventory.getChildDataNodes().size() == 1\r
-            ranInventory.getChildDataNodes().find( {it.xpath == sliceProfilesList.xpath})\r
+            ranInventory.getChildDataNodes().find( {it.xpath == ranSlices.xpath})\r
+        and: 'ranSlices contains the correct child node'\r
+            ranSlices.getChildDataNodes().size() == 1\r
+            ranSlices.getChildDataNodes().find( {it.xpath == sliceProfilesList.xpath})\r
         and: 'sliceProfilesList contains the correct child node'\r
             sliceProfilesList.getChildDataNodes().size() == 1\r
             sliceProfilesList.getChildDataNodes().find( {it.xpath == pLMNIdList.xpath})\r
-        and: 'pLMNIdList contains the no child nodes'\r
+        and: 'pLMNIdList contains no children'\r
             pLMNIdList.getChildDataNodes().size() == 0\r
+\r
     }\r
 \r
     def 'E2E RAN Schema Model.'(){\r
index 1dbdab2..fb2efb1 100644 (file)
@@ -1,31 +1,34 @@
 {
-"ran-inventory":{
-   "rannfnssiid": "14559ead-f4fe-4c1c-a94c-8015fad3ea35",
-   "subnetStatus": "active",
-   "nsstid": "2372a5dc-ee24-4a45-85f5-65103dfdc5b4",
-   "slicetype": "embb",
-   "isshareable": "Shareable",
-   "sliceProfilesList": [
-     {
-       "sliceProfileId": "f33a9dd8-ae51-4acf-8073-c9390c25f6f1",
-       "sNSSAI": "001-11000",
-       "maxNumberofUEs": 300,
-       "latency": 5,
-       "uLThptPerSlice": 40,
-       "dLThptPerSlice": 50,
-       "maxNumberofConns": 500,
-       "uEMobilityLevel": "FULLY MOBILITY",
-       "coverageAreaList": [
-         "Washington"
-       ],
-       "resourceSharingLevel": "Shareable",
-       "pLMNIdList": [
-         {
-           "mcc": "310",
-           "mnc": "410"
-         }
-       ]
-     }
-   ]
+  "cps-ran-inventory:ran-inventory":{
+    "ran-slices":[{
+      "rannfnssiid": "14559ead-f4fe-4c1c-a94c-8015fad3ea35",
+      "subnetStatus": "active",
+      "nsstid": "2372a5dc-ee24-4a45-85f5-65103dfdc5b4",
+      "slicetype": "embb",
+      "isshareable": "Shareable",
+      "sliceProfilesList": [
+        {
+          "sliceProfileId": "f33a9dd8-ae51-4acf-8073-c9390c25f6f1",
+          "sNSSAI": "001-11000",
+          "maxNumberofUEs": 300,
+          "latency": 5,
+          "uLThptPerSlice": 40,
+          "dLThptPerSlice": 50,
+          "maxNumberofConns": 500,
+          "uEMobilityLevel": "FULLY MOBILITY",
+          "coverageAreaList": [
+            "Washington"
+          ],
+          "resourceSharingLevel": "Shareable",
+          "pLMNIdList": [
+            {
+              "mcc": "310",
+              "mnc": "410"
+            }
+          ]
+        }
+      ]
+    }
+    ]
   }
 }
\ No newline at end of file
@@ -57,46 +57,46 @@ module cps-ran-inventory {
   }
 
     grouping SliceProfile{
-               leaf sliceProfileId{
-                       type string;
-                       mandatory true;
-                       description "slice profile id";
-               }
-               leaf sNSSAI{
-                       type string;
-                       mandatory false;
-                       description "The S-NSSAI may include both the SST and SD fields (in which case the S-NSSAI length is 32 bits in total), or the S-NSSAI may just include the SST field (in which case the S-NSSAI length is 8 bits only)";
-               }
-               leaf maxNumberofUEs{
-                       type int64 { range "0..68719476735"; }
-                       mandatory false;
-                       description "maximum number of UEs";
-               }
-               leaf latency{
-                       type int64 { range "0..68719476735"; }
-                       mandatory false;
-                       description "latency of the slice requested by the operator";
-               }
-               leaf uLThptPerSlice{
-                       type int64 { range "0..68719476735"; }
-                       mandatory false;
-                       description "uplink throughput of the slice requested by the operator";
-               }
-               leaf dLThptPerSlice{
-                       type int64 { range "0..68719476735"; }
-                       mandatory false;
-                       description "downlink throughput  of the slice requested by the operator";
-               }
-               leaf maxNumberofConns{
-                       type int64 { range "0..68719476735"; }
-                       mandatory false;
-                       description "maximum number of connections to be served by the slice";
-               }
-               leaf uEMobilityLevel{
-                       type string;
-                       mandatory false;
-                       description "Mobility level of the UE";
-               }
+                leaf sliceProfileId{
+                        type string;
+                        mandatory true;
+                        description "slice profile id";
+                }
+                leaf sNSSAI{
+                        type string;
+                        mandatory false;
+                        description "The S-NSSAI may include both the SST and SD fields (in which case the S-NSSAI length is 32 bits in total), or the S-NSSAI may just include the SST field (in which case the S-NSSAI length is 8 bits only)";
+                }
+                leaf maxNumberofUEs{
+                        type int64 { range "0..68719476735"; }
+                        mandatory false;
+                        description "maximum number of UEs";
+                }
+                leaf latency{
+                        type int64 { range "0..68719476735"; }
+                        mandatory false;
+                        description "latency of the slice requested by the operator";
+                }
+                leaf uLThptPerSlice{
+                        type int64 { range "0..68719476735"; }
+                        mandatory false;
+                        description "uplink throughput of the slice requested by the operator";
+                }
+                leaf dLThptPerSlice{
+                        type int64 { range "0..68719476735"; }
+                        mandatory false;
+                        description "downlink throughput  of the slice requested by the operator";
+                }
+                leaf maxNumberofConns{
+                        type int64 { range "0..68719476735"; }
+                        mandatory false;
+                        description "maximum number of connections to be served by the slice";
+                }
+                leaf uEMobilityLevel{
+                        type string;
+                        mandatory false;
+                        description "Mobility level of the UE";
+                }
     leaf resourceSharingLevel{
       type string;
       description "Resource sharing level";
@@ -117,7 +117,7 @@ module cps-ran-inventory {
       uses PLMNId;
     }
 
-       }
+        }
 
     grouping PLMNId {
     description
@@ -141,17 +141,17 @@ module cps-ran-inventory {
     }
   }
 
-    container ran-inventory{
+    grouping ran-slices{
       leaf rannfnssiid{
       description "NSSI of a RAN network function";
       type string;
     }
 
     list sliceProfilesList{
-               uses SliceProfile;
-               key "sliceProfileId";
-               description "List of slice profiles supported by the ran slice";
-       }
+                uses SliceProfile;
+                key "sliceProfileId";
+                description "List of slice profiles supported by the ran slice";
+        }
 
     leaf subnetStatus{
       description "status of  RAN NF NSSI";
@@ -173,4 +173,11 @@ module cps-ran-inventory {
       type string;
     }
     }
+    container ran-inventory{
+    list ran-slices{
+        uses ran-slices;
+        key "rannfnssiid";
+        description "List of RAN Slices";
+        }
+    }
     }