Functional Test Cases (Frankfurt )

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 ID

Description

Test scenario

Expected result

Status

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

{
   "csarId": "String"
}

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

{
   "csarId": "String"
}

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

{
   "csarId": "String"
}



Response code:202



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

Test case

Description

Test scenario

Expected result

Status

T200

Create a VNF 

POST /api/vnfpkgm/v1/vnf_packages

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

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

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

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

Test case

Description

Test scenario

Expected result

Status

T300

Create a NS 

POST /api/nsd/v1/ns_descriptors

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

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

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

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

Test case

Description

Test scenario

Expected result

Status

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"
}



T401

Parse NS package 

POST /api/parser/v1/parsernsd

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

Response code:202

Parser result

{
    "model""String"
}



T402

Parse VNF package 

POST /api/parser/v1/parservnfd

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

Response code:202

Parser result

{
    "model""String"
}



T403

Parse 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 case

Description

Test scenario

Expected result

Status

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