Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

This page describes the functional test cases planned for the Frankfurt release.

Function Test Cases

Catalog Management API

...

Table of Contents

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:

NS package

 subscription list

T102Search a NS package according to csarIdGET

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

Response code:200

Body:

NS packageDelete 

 subscription

T103Delete a NS package according to csarId

T211Delete a subscription of VNF package according to subscriptionIdDELETE /api/
catalog
vnfpkgm/v1/
nspackages
subscriptions/{{
csarId
subscriptionId}}Response code:
204T104Fetch VNF package from SDC
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/

catalog

nsd/v1/

vnfpackagesResponse code:201

VNF Management API

Test caseDescriptionTest scenarioExpected resultStatusT200Create a VNF POST /api/vnfpkgm/v1/vnf_packagesResponse code:201T201Search VNF packages

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/
vnfpkgm
nsd/v1/
vnf_packages
ns_descriptors/{{nsdInfoId}}

Response code:200

Body:

VNF

NS package

listGET 

T202Search a VNF package according to vnfPkgId

T303Update the content of NS package for given nsdInfoIdPUT /api/
vnfpkgm
nsd/v1/
vnf
ns_
packages
descriptors/{{
vnfPkgId
nsdInfoId}}/nsd_contentResponse code:
200

Body: VNF package

T203Update the content of VNF package for given vnfPkgIdPUT 
202
T304Get the content of NS package for given nsdInfoIdGET /api/
vnfpkgm
nsd/v1/
vnf
ns_
packages
descriptors/{{
vnfPkgId
nsdInfoId}}/
package
nsd_content

Response code

:201T204Get the content of VNF package for given vnfPkgIdGET 

:200

Body: content of NS package 


T305Delete NS packages according to nsdInfoIdDELETE /api/
vnfpkgm
nsd/v1/
vnf
ns_
packages
descriptors/{{
vnfPkgId
nsdInfoId}}
/package_content
Response code:
200

Body: content of VNF package

T205Get the vnfd of VNF package for given vnfPkgIdGET 
204
T306Create a PNF 

POST /api/

vnfpkgm

nsd/v1/

vnf_packages/{{vnfPkgId}}1/vnfd

pnf_descriptors

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

Response code:
200

Body:  vnfd of VNF package

T206Get the artifact from VNF package for given vnfPkgId & artifactPath
201
T307Search PNF packagesGET /api/
vnfpkgm/v1/vnf_packages/{{vnfPkgId}}/artifacts/{{artifactPath}}
nsd/v1/pnf_descriptors

Response code:200

Body:

 artifactDELETE 

PNF package list

T207Delete VNF packages according to vnfPkgId

T308Search a PNF package according to pnfdInfoIdGET /api/
vnfpkgm
nsd/v1/
vnf
pnf_
packages
descriptors/{{
vnfPkgId
pnfdInfoId}}

Response code:

204T208Subscribe the notification related VNF package POST /api/vnfpkgm/v1/subscriptionsResponse code:201T209Get 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}}

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:

 subscriptionT211Delete a subscription of VNF package according to subscriptionIdDELETE 

 content of PNF package


T311Delete PNF packages according to pnfdInfoIdDELETE /api/
vnfpkgm
nsd/v1/
subscriptions
pnf_descriptors/{{
subscriptionId
pnfdInfoId}}
Response code:204

NSD Management API 

Response code:204

Parser API

These APIs is used for parsing VNF/PNF/NS/Service package. The result will be formatted as JSON String.

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}
Test caseDescriptionTest scenarioExpected resultStatus
T300Create a NS POST /api/nsd/v1/ns_descriptorsResponse code:201
T400

Parse package 

Package type: VNF, PNF, NS, Service

POST /api/parser/v1/parser

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

Response code:

200

Body: NS package

T303Update the content of NS package for given nsdInfoIdPUT /api/nsd/v1/ns_descriptors/{{nsdInfoId}}/nsd_contentResponse code:201T304Get 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:204T306Create a PNF POST /api/nsd/v1/pnf_descriptorsResponse code:201T307Search 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:201T310Get 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

...

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.

POST 
Test caseDescriptionTest scenarioExpected resultStatus
T400Parse package 
T500Check catalog endpointGET /api/
parser
catalog/v1/
parser
health_checkResponse code:
201POST 
200
T401Parse NS package 

T501Check nsd endpointGET /api/
parser
nsd/v1/
parsernsd
health_checkResponse code:
201
200
T402Parse VNF package POST 

T502Check parser endpointGET /api/parser/v1/
parservnfd
health_checkResponse code:
201
200
T403Parse PNF package POST 

T503Check vnfpkgm endpointGET /api/
parser
vnfpkgm/v1/
parserpnfd
health_checkResponse code:
201
200