This page describes the etsicatalog functional test cases planned for the Jakarta 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 IDDescriptionTest scenarioExpected resultStatus
T100

Fetch NS package which is distributed from SDC

NS package should exists in SDC catalog and is distributed.

POST /api/catalog/v1/nspackages

{
   "csarId": "String"
}

Response code:202 pass
T101Search NS packagesGET /api/catalog/v1/nspackages

Response code:200

Body: NS package list

 pass
T102Search a NS package according to csarIdGET /api/catalog/v1/nspackages/{{csarId}}

Response code:200

Body: NS package

 pass
T103Delete a NS package according to csarIdDelete /api/catalog/v1/nspackages/{csarId}Response code:204 pass
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

{
   "csarId": "String"
}

Response code:202 pass
T105Search Service packagesGET /api/catalog/v1/service_packages

Response code:200

Body: Service package list

 pass
T106Search a Service package according to csarIdGET /api/catalog/v1/service_packages/{{csarId}}

Response code:200

Body: Service package

 pass
T107Delete a Service package according to csarIdDelete /api/catalog/v1/service_packages/{csarId}Response code:204 pass
T108Fetch VNF package from SDC

POST /api/catalog/v1/vnfpackages

{
   "csarId": "String"
}


Response code:202
 pass
T109Search VNF packagesGET /api/catalog/v1/vnfpackages

Response code:200

Body: VNF package list

 pass
T110Search a VNF package according to csarIdGET /api/catalog/v1/vnfpackages/{{csarId}}

Response code:200

Body: VNF package

 pass
T111Delete a VNF package according to csarIdDelete /api/catalog/v1/vnfpackages/{csarId}Response code:204 pass

VNF Package Management API - SOL003

These APIs are used to manage VNF package and align with ETSI SOL003 V2.5.1.

Test caseDescriptionTest scenarioExpected resultStatus
T200Create a VNF 

POST /api/vnfpkgm/v1/vnf_packages

{
    "userDefinedData": {
        "key1": "value1"
    }
}

Response code:201 pass
T201Search VNF packagesGET /api/vnfpkgm/v1/vnf_packages

Response code:200

Body: VNF package list

 pass
T202Search a VNF package according to vnfPkgIdGET /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}

Response code:200

Body: VNF package

 pass
T203Update the content of VNF package for given vnfPkgIdPUT /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}/package_contentResponse code:202 pass
T204Get the content of VNF package for given vnfPkgIdGET /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}/package_content

Response code:200

Body: content of VNF package

 pass
T205Get the vnfd of VNF package for given vnfPkgIdGET /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}1/vnfd

Response code:200

Body:  vnfd of VNF package

 pass
T206Get the artifact from VNF package for given vnfPkgId & artifactPathGET /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}/artifacts/{{artifactPath}}

Response code:200

Body: artifact

 pass
T207Delete VNF packages according to vnfPkgIdDELETE /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}Response code:204 pass
T208Subscribe the notification related VNF package 

POST /api/vnfpkgm/v1/subscriptions

{
   "filters": {
      "notificationTypes": [
          "VnfPackageChangeNotification"
       ],
       "vnfPkgId": [
           "String"
       ]
     },
  "callbackUri": "String",
}

Response code:201 pass
T209Get the subscriptions of VNF package GET /api/vnfpkgm/v1/subscriptions

Response code:200

Body: subscription list

 pass
T210Get a subscription of VNF package according to subscriptionIdGET /api/vnfpkgm/v1/subscriptions/{{subscriptionId}}

Response code:200

Body: subscription

 pass
T211Delete a subscription of VNF package according to subscriptionIdDELETE /api/vnfpkgm/v1/subscriptions/{{subscriptionId}}Response code:204 pass

NSD Package Management API - SOL005

These APIs are used to manage PNF/NS package and align with ETSI SOL003 V2.5.1.

Test caseDescriptionTest scenarioExpected resultStatus
T300Create a NS 

POST /api/nsd/v1/ns_descriptors

{
    "userDefinedData": {
        "key1": "value1"
    }
}

Response code:201 pass
T301Search NS packagesGET /api/nsd/v1/ns_descriptors

Response code:200

Body: NS package list

 pass
T302Search a NS package according to nsdInfoIdGET /api/nsd/v1/ns_descriptors/{{nsdInfoId}}

Response code:200

Body: NS package

 pass
T303Update the content of NS package for given nsdInfoIdPUT /api/nsd/v1/ns_descriptors/{{nsdInfoId}}/nsd_contentResponse code:202pass 
T304Get the content of NS package for given nsdInfoIdGET /api/nsd/v1/ns_descriptors/{{nsdInfoId}}/nsd_content

Response code:200

Body: content of NS package 

 pass
T305Delete NS packages according to nsdInfoIdDELETE /api/nsd/v1/ns_descriptors/{{nsdInfoId}}Response code:204 pass
T306Create a PNF 

POST /api/nsd/v1/pnf_descriptors

{
    "userDefinedData": {
        "key1": "value1"
    }
}

Response code:201 pass
T307Search PNF packagesGET /api/nsd/v1/pnf_descriptors

Response code:200

Body: PNF package list

 pass
T308Search a PNF package according to pnfdInfoIdGET /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}}

Response code:200

Body: PNF package

 pass
T309Update the content of PNF package for given pnfdInfoIdPUT /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}}/pnfd_contentResponse code:202 pass
T310Get the content of PNF package for given pnfdInfoIdGET /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}}/pnfd_content

Response code:200

Body: content of PNF package

 pass
T311Delete PNF packages according to pnfdInfoIdDELETE /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}}Response code:204 pass

Parser API

These APIs is used for parsing VNF/PNF/NS/Service package. The result will be formatted as JSON String.

Test caseDescriptionTest scenarioExpected resultStatus
T400

Parse package 

Package type: VNF, PNF, NS, Service

POST /api/parser/v1/parser

{
  "csarId": "String",
  "packageType": "String",
  "inputs": "[]"
}

Response code:202

Parser result

{
    "model""String"
}

 pass
T401Parse NS package 

POST /api/parser/v1/parsernsd

{
  "csarId": "String",
  "packageType": "NS",
  "inputs": "[]"
}

Response code:202

Parser result

{
    "model""String"
}

 pass
T402Parse VNF package 

POST /api/parser/v1/parservnfd

{
  "csarId": "String",
  "packageType": "VNF",
  "inputs": "[]"
}

Response code:202

Parser result

{
    "model""String"
}

 pass
T403Parse PNF package 

POST /api/parser/v1/parserpnfd

{
  "csarId": "String",
  "packageType": "PNF",
  "inputs": "[]"
}

Response code:202

Parser result

{
    "model""String"
}

 pass

Health Check API

The aim of these APIs is for health-check.

Test caseDescriptionTest scenarioExpected resultStatus
T500Check catalog endpointGET /api/catalog/v1/health_checkResponse code:200 pass
T501Check nsd endpointGET /api/nsd/v1/health_checkResponse code:200 pass
T502Check parser endpointGET /api/parser/v1/health_checkResponse code:200 pass
T503Check vnfpkgm endpointGET /api/vnfpkgm/v1/health_checkResponse code:200 pass
  • No labels