Modeling/etsicatalog Kohn Functional Test Cases

This page describes the etsicatalog functional test cases planned for the Kohn 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