This page describes the etsicatalog functional test cases planned for the Frankfurt 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:202Pass
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:204Pass
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:202Pass
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:204Pass
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:204Pass

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:201Pass
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:202Pass
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:204Pass
T208Subscribe the notification related VNF package 

POST /api/vnfpkgm/v1/subscriptions

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

Response code:201Pass
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:204Pass

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:201Pass
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:204Pass
T306Create a PNF 

POST /api/nsd/v1/pnf_descriptors

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

Response code:201out of the scope of this release
T307Search PNF packagesGET /api/nsd/v1/pnf_descriptors

Response code:200

Body: PNF package list

out of the scope of this release
T308Search a PNF package according to pnfdInfoIdGET /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}}

Response code:200

Body: PNF package

out of the scope of this release
T309Update the content of PNF package for given pnfdInfoIdPUT /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}}/pnfd_contentResponse code:202out of the scope of this release
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

out of the scope of this release
T311Delete PNF packages according to pnfdInfoIdDELETE /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}}Response code:204out of the scope of this release

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:200Pass
T501Check nsd endpointGET /api/nsd/v1/health_checkResponse code:200Pass
T502Check parser endpointGET /api/parser/v1/health_checkResponse code:200Pass
T503Check vnfpkgm endpointGET /api/vnfpkgm/v1/health_checkResponse code:200Pass
  • No labels