aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruno Sakoto <bruno.sakoto@bell.ca>2021-02-23 17:13:12 +0000
committerGerrit Code Review <gerrit@onap.org>2021-02-23 17:13:12 +0000
commit277382c32a419a77976dbc04c64ef73d99e0f24b (patch)
treef913089a0bbd7d54ca2f0eada973b0d3009d8ed0
parent76903e5becf6db73aa5de208007231f1e87acee7 (diff)
parent1c840a4e3bc9dc9fe389d460e1bb1c0666614955 (diff)
Merge "Updating RAN Inventory tests to use the latest model and data"
-rwxr-xr-xcps-service/src/test/groovy/org/onap/cps/api/impl/E2ENetworkSliceSpec.groovy17
-rw-r--r--cps-service/src/test/resources/e2e/basic/cps-ran-inventory-data.json59
-rw-r--r--cps-service/src/test/resources/e2e/basic/cps-ran-inventory@2021-01-28.yang (renamed from cps-service/src/test/resources/e2e/basic/cps-ran-inventory.yang)99
3 files changed, 95 insertions, 80 deletions
diff --git a/cps-service/src/test/groovy/org/onap/cps/api/impl/E2ENetworkSliceSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/api/impl/E2ENetworkSliceSpec.groovy
index 75c98a82d..a24bd0af5 100755
--- a/cps-service/src/test/groovy/org/onap/cps/api/impl/E2ENetworkSliceSpec.groovy
+++ b/cps-service/src/test/groovy/org/onap/cps/api/impl/E2ENetworkSliceSpec.groovy
@@ -106,7 +106,7 @@ class E2ENetworkSliceSpec extends Specification {
def dataNodeStored
given: 'valid yang resource as name-to-content map'
def yangResourcesNameToContentMap = TestUtils.getYangResourcesAsMap(
- 'e2e/basic/cps-ran-inventory.yang')
+ 'e2e/basic/cps-ran-inventory@2021-01-28.yang')
def schemaContext = YangTextSchemaSourceSetBuilder.of(yangResourcesNameToContentMap).getSchemaContext()
and : 'a valid json is provided for the model'
def jsonData = TestUtils.getResourceFileContent('e2e/basic/cps-ran-inventory-data.json')
@@ -122,18 +122,23 @@ class E2ENetworkSliceSpec extends Specification {
{ args -> dataNodeStored = args[2]}
and: 'the size of the tree is correct'
def cpsRanInventory = TestUtils.getFlattenMapByXpath(dataNodeStored)
- assert cpsRanInventory.size() == 3
+ assert cpsRanInventory.size() == 4
and: 'ran-inventory contains the correct child node'
def ranInventory = cpsRanInventory.get('/ran-inventory')
- def sliceProfilesList = cpsRanInventory.get('/ran-inventory/sliceProfilesList[@sliceProfileId=\'f33a9dd8-ae51-4acf-8073-c9390c25f6f1\']')
- def pLMNIdList = cpsRanInventory.get('/ran-inventory/sliceProfilesList[@sliceProfileId=\'f33a9dd8-ae51-4acf-8073-c9390c25f6f1\']/pLMNIdList[@mcc=\'310\' and @mnc=\'410\']')
+ def ranSlices = cpsRanInventory.get('/ran-inventory/ran-slices[@rannfnssiid=\'14559ead-f4fe-4c1c-a94c-8015fad3ea35\']')
+ def sliceProfilesList = cpsRanInventory.get('/ran-inventory/ran-slices[@rannfnssiid=\'14559ead-f4fe-4c1c-a94c-8015fad3ea35\']/sliceProfilesList[@sliceProfileId=\'f33a9dd8-ae51-4acf-8073-c9390c25f6f1\']')
+ 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\']')
ranInventory.getChildDataNodes().size() == 1
- ranInventory.getChildDataNodes().find( {it.xpath == sliceProfilesList.xpath})
+ ranInventory.getChildDataNodes().find( {it.xpath == ranSlices.xpath})
+ and: 'ranSlices contains the correct child node'
+ ranSlices.getChildDataNodes().size() == 1
+ ranSlices.getChildDataNodes().find( {it.xpath == sliceProfilesList.xpath})
and: 'sliceProfilesList contains the correct child node'
sliceProfilesList.getChildDataNodes().size() == 1
sliceProfilesList.getChildDataNodes().find( {it.xpath == pLMNIdList.xpath})
- and: 'pLMNIdList contains the no child nodes'
+ and: 'pLMNIdList contains no children'
pLMNIdList.getChildDataNodes().size() == 0
+
}
def 'E2E RAN Schema Model.'(){
diff --git a/cps-service/src/test/resources/e2e/basic/cps-ran-inventory-data.json b/cps-service/src/test/resources/e2e/basic/cps-ran-inventory-data.json
index 1dbdab2ca..fb2efb1c9 100644
--- a/cps-service/src/test/resources/e2e/basic/cps-ran-inventory-data.json
+++ b/cps-service/src/test/resources/e2e/basic/cps-ran-inventory-data.json
@@ -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
diff --git a/cps-service/src/test/resources/e2e/basic/cps-ran-inventory.yang b/cps-service/src/test/resources/e2e/basic/cps-ran-inventory@2021-01-28.yang
index 0e504cafa..c16a68251 100644
--- a/cps-service/src/test/resources/e2e/basic/cps-ran-inventory.yang
+++ b/cps-service/src/test/resources/e2e/basic/cps-ran-inventory@2021-01-28.yang
@@ -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";
+ }
+ }
}