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:202
T101Search NS packagesGET /api/catalog/v1/nspackages

Response code:200

Body: NS package list


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

Response code:200

Body: NS package


T103Delete a NS package according to csarIdDelete /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

{
   "csarId": "String"
}

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

Response code:200

Body: Service package list


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

Response code:200

Body: Service package


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

POST /api/catalog/v1/vnfpackages

{
   "csarId": "String"
}


Response code:202

T109Search VNF packagesGET /api/catalog/v1/vnfpackages

Response code:200

Body: VNF package list


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

Response code:200

Body: VNF package


T111Delete a VNF package according to csarIdDelete /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 caseDescriptionTest scenarioExpected resultStatus
T200Create a VNF 

POST /api/vnfpkgm/v1/vnf_packages

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

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

Response code:200

Body: VNF package list


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

Response code:200

Body: VNF package


T203Update the content of VNF package for given vnfPkgIdPUT /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}/package_contentResponse code:202
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


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


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

Response code:200

Body: artifact


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

POST /api/vnfpkgm/v1/subscriptions

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

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

Response code:200

Body: subscription list


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

Response code:200

Body: subscription


T211Delete a subscription of VNF package according to subscriptionIdDELETE /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 caseDescriptionTest scenarioExpected resultStatus
T300Create a NS 

POST /api/nsd/v1/ns_descriptors

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

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

Response code:200

Body: NS package list


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

Response code:200

Body: NS package


T303Update the content of NS package for given nsdInfoIdPUT /api/nsd/v1/ns_descriptors/{{nsdInfoId}}/nsd_contentResponse code:202
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 


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

POST /api/nsd/v1/pnf_descriptors

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

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

Response code:200

Body: PNF package list


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

Response code:200

Body: PNF package


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


T311Delete PNF packages according to pnfdInfoIdDELETE /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 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"
}


T401Parse NS package 

POST /api/parser/v1/parsernsd

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

Response code:202

Parser result

{
    "model""String"
}


T402Parse VNF package 

POST /api/parser/v1/parservnfd

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

Response code:202

Parser result

{
    "model""String"
}


T403Parse PNF package 

POST /api/parser/v1/parserpnfd

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

Response code:202

Parser result

{
    "model""String"
}


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