This page describes the etsicatalog functional test cases planned for the Istanbul release.
Precondition
1. Populate SDC with test data
To test catalog API, SDC should have the followed data:
- Distributed NS package
- Distributed Service package
- Certified VNF package
2. Mock SO SOL003/SOL005 Adapter Notification callback API
To test subscription/notification API, The Mock should provide the followed mock APIs:
- GET notification_callback_uri Response:204
- POST notification_callback_uri Response:204
Function Test Cases
Catalog Management API
These APIs can be used to fetch VNF/PNF/NS/Service package from SDC catalog and related CRUD operation.
Test case ID | Description | Test scenario | Expected result | Status |
---|---|---|---|---|
T100 | Fetch NS package which is distributed from SDC NS package should exists in SDC catalog and is distributed. | POST /api/catalog/v1/nspackages { | Response code:202 | |
T101 | Search NS packages | GET /api/catalog/v1/nspackages | Response code:200 Body: NS package list | |
T102 | Search a NS package according to csarId | GET /api/catalog/v1/nspackages/{{csarId}} | Response code:200 Body: NS package | |
T103 | Delete a NS package according to csarId | Delete /api/catalog/v1/nspackages/{csarId} | Response code:204 | |
T104 | Fetch Service package which is distributed from SDC Service package should exists in SDC catalog and is distributed. | POST /api/catalog/v1/service_packages { | Response code:202 | |
T105 | Search Service packages | GET /api/catalog/v1/service_packages | Response code:200 Body: Service package list | |
T106 | Search a Service package according to csarId | GET /api/catalog/v1/service_packages/{{csarId}} | Response code:200 Body: Service package | |
T107 | Delete a Service package according to csarId | Delete /api/catalog/v1/service_packages/{csarId} | Response code:204 | |
T108 | Fetch VNF package from SDC | POST /api/catalog/v1/vnfpackages { | ||
T109 | Search VNF packages | GET /api/catalog/v1/vnfpackages | Response code:200 Body: VNF package list | |
T110 | Search a VNF package according to csarId | GET /api/catalog/v1/vnfpackages/{{csarId}} | Response code:200 Body: VNF package | |
T111 | Delete a VNF package according to csarId | Delete /api/catalog/v1/vnfpackages/{csarId} | Response code:204 |
VNF Package Management API - SOL003
These APIs are used to manage VNF package and align with ETSI SOL003 V2.5.1.
Test case | Description | Test scenario | Expected result | Status |
---|---|---|---|---|
T200 | Create a VNF | POST /api/vnfpkgm/v1/vnf_packages { | Response code:201 | |
T201 | Search VNF packages | GET /api/vnfpkgm/v1/vnf_packages | Response code:200 Body: VNF package list | |
T202 | Search a VNF package according to vnfPkgId | GET /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}} | Response code:200 Body: VNF package | |
T203 | Update the content of VNF package for given vnfPkgId | PUT /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}/package_content | Response code:202 | |
T204 | Get the content of VNF package for given vnfPkgId | GET /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}/package_content | Response code:200 Body: content of VNF package | |
T205 | Get the vnfd of VNF package for given vnfPkgId | GET /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}1/vnfd | Response code:200 Body: vnfd of VNF package | |
T206 | Get the artifact from VNF package for given vnfPkgId & artifactPath | GET /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}/artifacts/{{artifactPath}} | Response code:200 Body: artifact | |
T207 | Delete VNF packages according to vnfPkgId | DELETE /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}} | Response code:204 | |
T208 | Subscribe the notification related VNF package | POST /api/vnfpkgm/v1/subscriptions { | Response code:201 | |
T209 | Get the subscriptions of VNF package | GET /api/vnfpkgm/v1/subscriptions | Response code:200 Body: subscription list | |
T210 | Get a subscription of VNF package according to subscriptionId | GET /api/vnfpkgm/v1/subscriptions/{{subscriptionId}} | Response code:200 Body: subscription | |
T211 | Delete a subscription of VNF package according to subscriptionId | DELETE /api/vnfpkgm/v1/subscriptions/{{subscriptionId}} | Response code:204 |
NSD Package Management API - SOL005
These APIs are used to manage PNF/NS package and align with ETSI SOL003 V2.5.1.
Test case | Description | Test scenario | Expected result | Status |
---|---|---|---|---|
T300 | Create a NS | POST /api/nsd/v1/ns_descriptors { | Response code:201 | |
T301 | Search NS packages | GET /api/nsd/v1/ns_descriptors | Response code:200 Body: NS package list | |
T302 | Search a NS package according to nsdInfoId | GET /api/nsd/v1/ns_descriptors/{{nsdInfoId}} | Response code:200 Body: NS package | |
T303 | Update the content of NS package for given nsdInfoId | PUT /api/nsd/v1/ns_descriptors/{{nsdInfoId}}/nsd_content | Response code:202 | |
T304 | Get the content of NS package for given nsdInfoId | GET /api/nsd/v1/ns_descriptors/{{nsdInfoId}}/nsd_content | Response code:200 Body: content of NS package | |
T305 | Delete NS packages according to nsdInfoId | DELETE /api/nsd/v1/ns_descriptors/{{nsdInfoId}} | Response code:204 | |
T306 | Create a PNF | POST /api/nsd/v1/pnf_descriptors { | Response code:201 | |
T307 | Search PNF packages | GET /api/nsd/v1/pnf_descriptors | Response code:200 Body: PNF package list | |
T308 | Search a PNF package according to pnfdInfoId | GET /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}} | Response code:200 Body: PNF package | |
T309 | Update the content of PNF package for given pnfdInfoId | PUT /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}}/pnfd_content | Response code:202 | |
T310 | Get the content of PNF package for given pnfdInfoId | GET /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}}/pnfd_content | Response code:200 Body: content of PNF package | |
T311 | Delete PNF packages according to pnfdInfoId | DELETE /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}} | Response code:204 |
Parser API
These APIs is used for parsing VNF/PNF/NS/Service package. The result will be formatted as JSON String.
Test case | Description | Test scenario | Expected result | Status |
---|---|---|---|---|
T400 | Parse package Package type: VNF, PNF, NS, Service | POST /api/parser/v1/parser { | Response code:202 Parser result { | |
T401 | Parse NS package | POST /api/parser/v1/parsernsd { | Response code:202 Parser result { | |
T402 | Parse VNF package | POST /api/parser/v1/parservnfd { | Response code:202 Parser result { | |
T403 | Parse PNF package | POST /api/parser/v1/parserpnfd { | Response code:202 Parser result { |
Health Check API
The aim of these APIs is for health-check.
Test case | Description | Test scenario | Expected result | Status |
---|---|---|---|---|
T500 | Check catalog endpoint | GET /api/catalog/v1/health_check | Response code:200 | |
T501 | Check nsd endpoint | GET /api/nsd/v1/health_check | Response code:200 | |
T502 | Check parser endpoint | GET /api/parser/v1/health_check | Response code:200 | |
T503 | Check vnfpkgm endpoint | GET /api/vnfpkgm/v1/health_check | Response code:200 |