Modeling/etsicatalog Jakarta Functional Test Cases

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

 pass

T101

Search NS packages

GET /api/catalog/v1/nspackages

Response code:200

Body: NS package list

 pass

T102

Search a NS package according to csarId

GET /api/catalog/v1/nspackages/{{csarId}}

Response code:200

Body: NS package

 pass

T103

Delete a NS package according to csarId

Delete /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

T105

Search Service packages

GET /api/catalog/v1/service_packages

Response code:200

Body: Service package list

 pass

T106

Search a Service package according to csarId

GET /api/catalog/v1/service_packages/{{csarId}}

Response code:200

Body: Service package

 pass

T107

Delete a Service package according to csarId

Delete /api/catalog/v1/service_packages/{csarId}

Response code:204

 pass

T108

Fetch VNF package from SDC

POST /api/catalog/v1/vnfpackages

{
   "csarId": "String"
}



Response code:202

 pass

T109

Search VNF packages

GET /api/catalog/v1/vnfpackages

Response code:200

Body: VNF package list

 pass

T110

Search a VNF package according to csarId

GET /api/catalog/v1/vnfpackages/{{csarId}}

Response code:200

Body: VNF package

 pass

T111

Delete a VNF package according to csarId

Delete /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 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

 pass

T201

Search VNF packages

GET /api/vnfpkgm/v1/vnf_packages

Response code:200

Body: VNF package list

 pass

T202

Search a VNF package according to vnfPkgId

GET /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}

Response code:200

Body: VNF package

 pass

T203

Update the content of VNF package for given vnfPkgId

PUT /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}/package_content

Response code:202

 pass

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

 pass

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

 pass

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

 pass

T207

Delete VNF packages according to vnfPkgId

DELETE /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}

Response code:204

 pass

T208

Subscribe the notification related VNF package 

POST /api/vnfpkgm/v1/subscriptions

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

Response code:201

 pass

T209

Get the subscriptions of VNF package 

GET /api/vnfpkgm/v1/subscriptions

Response code:200

Body: subscription list

 pass

T210

Get a subscription of VNF package according to subscriptionId

GET /api/vnfpkgm/v1/subscriptions/{{subscriptionId}}

Response code:200

Body: subscription

 pass

T211

Delete a subscription of VNF package according to subscriptionId

DELETE /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 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

 pass

T301

Search NS packages

GET /api/nsd/v1/ns_descriptors

Response code:200

Body: NS package list

 pass

T302

Search a NS package according to nsdInfoId

GET /api/nsd/v1/ns_descriptors/{{nsdInfoId}}

Response code:200

Body: NS package

 pass

T303

Update the content of NS package for given nsdInfoId

PUT /api/nsd/v1/ns_descriptors/{{nsdInfoId}}/nsd_content

Response code:202

pass 

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 

 pass

T305

Delete NS packages according to nsdInfoId

DELETE /api/nsd/v1/ns_descriptors/{{nsdInfoId}}

Response code:204

 pass

T306

Create a PNF 

POST /api/nsd/v1/pnf_descriptors

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

Response code:201

 pass

T307

Search PNF packages

GET /api/nsd/v1/pnf_descriptors

Response code:200

Body: PNF package list

 pass

T308

Search a PNF package according to pnfdInfoId

GET /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}}

Response code:200

Body: PNF package

 pass

T309

Update the content of PNF package for given pnfdInfoId

PUT /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}}/pnfd_content

Response code:202

 pass

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

 pass

T311

Delete PNF packages according to pnfdInfoId

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

 pass

T401

Parse NS package 

POST /api/parser/v1/parsernsd

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

Response code:202

Parser result

{
    "model""String"
}

 pass

T402

Parse VNF package 

POST /api/parser/v1/parservnfd

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

Response code:202

Parser result

{
    "model""String"
}

 pass

T403

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

 pass

T501

Check nsd endpoint

GET /api/nsd/v1/health_check

Response code:200

 pass

T502

Check parser endpoint

GET /api/parser/v1/health_check

Response code:200

 pass

T503

Check vnfpkgm endpoint

GET /api/vnfpkgm/v1/health_check

Response code:200

 pass