CPS-2339 Make Test & Documentation (examples) More Realistic
References
CPS-2339: EST-ETH Retro action: Make test, documentation (examples) more realisticClosed
Introduction
ESH have expressed they would prefer to see more realistic data examples i.e. radio node based examples in CPS/NCMP test ware and documentation.
This page is to get an overview of what type of examples are used where and then to agree with ESH which to target and replace with or add radio node based examples.
Issues & Decisions
Issue | Notes | Decision | |
---|---|---|---|
1 | Agree scope with @Csaba Kocsis | Details in tables below | Nov 5, 2024 @Csaba Kocsis & @Toine Siebelink docs #3 & #4: NCMP Open API & DMI Open API |
2 | Preferred Example Models |
| #2 #6 |
Scope Analsysis
Test-ware
Test-ware | Current | Notes | Decision | |
---|---|---|---|---|
1 | CPS Unit Test |
| CPS is deliberately designed as a generic yang data persistence service | No change needed |
2 | NCMP Unit Test |
|
| No change needed |
3 | CPS Service (semi integration) Test |
|
| No change needed |
4 | NCMP Service (semi integration) Test |
|
| No change needed |
5 | K6 System Test |
| @Csaba Kocsis ‘more realistic examples when it comes to troubleshooting'
| |
6 | CSIT |
| we are considering ‘retiring’ CSIT now we have Groovy System test and K6 Integration test suite. | No change needed |
Documentation
Documentation | Current | Notes |
| |
---|---|---|---|---|
1 | JavaDoc | no examples used in JavaDoc |
| No changes needed |
2 | CPS Open API (swagger) |
| Not used by ESH | No changes needed |
3 | NCMP Open API |
| Use 5G 3gpp modelled objects and properties
| |
4 | DMI Open API |
| See NCMP Open API Exception: Private properties, they can be abstract | |
5 | CPS Read-the-Docs |
| CPS is designed and ‘sold’ as a storage for ANY data so deliberately NOT using telecoms examples | No changes needed |
6 | NCMP Read-the-docs |
| NCMP RTS is embedded in /part of CPS RTD. | No changes needed (for now) |
Proposed Solution
Scope: K6 System Test, NCMP Open API, DMI Open API
The following models could be used for giving more realistic examples. These are defined in 3GPP standards. They are defined in YANG. And they represent 5G functionality which is data that we use.
https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-19/yang-models/_3gpp-common-managed-element.yang
https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-19/yang-models/_3gpp-nr-nrm-gnbdufunction.yang
https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-19/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang
https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-19/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang
https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-19/yang-models/_3gpp-nr-nrm-nrcellcu.yang
https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-19/yang-models/_3gpp-nr-nrm-nrcelldu.yang
https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-19/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang
Suggested Models : #2 (parent), #6 (child)
Good and Bad Examples
Example Type | Bad (old) | Good (new) | Notes | |
---|---|---|---|---|
1 | Resource Identifier |
|
|
|
2 | Cm Handle (public) Properties |
|
|
|
3 | JSON Payload (write use-cases) |
|
|
|
4 | Request Options |
|
|
|
5 | Alternate ID |
|
|
|