Skip to content
Snippets Groups Projects
Commit 3e9eaa62 authored by Najam UI Hassan's avatar Najam UI Hassan
Browse files

deltas for 2.7.1 SOL005 VNF PKGM added

parent e44dd910
No related branches found
No related tags found
3 merge requests!199Merge "3.3.1 dev" into "release 3" master,!193Merge 2.7.1 dev into Master, for TST010ed271 publication,!135SOL005 VNF Package Management - Implementation of deltas between v2.7.1 and v2.6.1
Showing with 866 additions and 230 deletions
*** Settings ***
Library JSONSchemaLibrary schemas/
Resource environment/variables.txt
Resource VNFPackageManagementKeywords.robot
Library JSONLibrary
Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false
*** Test Cases ***
Get Access configuration for external artifacts
[Documentation] Test ID: 5.3.5.10.1
... Test title: Get Access configuration for external artifacts
... Test objective: The objective is to test the GET method reads the access configuration information that is used by the NFVO to get the content of external VNF package artifacts and perform a JSON schema and content validation of the collected data structure
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Get access configuration information for external artifacts
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is ExternalArtifactsAccessConfig
Get Access configuration for external artifacts - Not Found
[Documentation] Test ID: 5.3.5.10.2
... Test title: Get Access configuration for external artifacts - Not Found
... Test objective: The objective is to test that the retrieval of access configuration information that is used by the NFVO to get the content of external VNF package artifacts fails because resource is not present.
... Pre-conditions: none
... Reference: Clause 9.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Get access configuration information for external artifacts
Check HTTP Response Status Code Is 404
Check HTTP Response Body Json Schema Is ProblemDetails
PUT Access configuration for external artifacts
[Documentation] Test ID: 5.3.5.10.3
... Test title: Access configuration for external artifacts
... Test objective: The objective is to test that PUT method provides the access configuration information for the NFVO to download the content of external VNF package artifacts.
... Pre-conditions: the individual VNF package resource shall have been created, and the value of "onboardingState" attribute shall equal to "CREATED" or "ERROR"
... Reference: Clause 9.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Check Postcondition individual VNF Package is created
Send PUT Request to access configuration information for external artifacts
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is ExternalArtifactsAccessConfig
PUT Access configuration for external artifacts - Downloading
[Documentation] Test ID: 5.3.5.10.4
... Test title: Access configuration for external artifacts - Downloading
... Test objective: The objective is to test that VNF package has been uploaded successfully previously, to indicate that the access configuration information has been stored successfully by the NFVO and the NFVO now starts downloading external artifacts.
... Pre-conditions: the individual VNF package resource shall have been created, and the value of "onboardingState" attribute shall equal to "CREATED" or "ERROR"
... Reference: Clause 9.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Check Postcondition individual VNF Package is created
Send PUT Request to access configuration information for external artifacts
Check HTTP Response Status Code Is 202
PUT Access configuration for external artifacts - Conflict
[Documentation] Test ID: 5.3.5.10.5
... Test title: Access configuration for external artifacts
... Test objective: The objective is to test that PUT method provides the access configuration information for the NFVO to download the content of external VNF package artifacts.
... Pre-conditions: the individual VNF package resource shall have been created, and the value of "onboardingState" attribute is neither "CREATED" nor "ERROR"
... Reference: Clause 9.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send PUT Request to access configuration information for external artifacts
Check HTTP Response Status Code Is 409
Check HTTP Response Body Json Schema Is ProblemDetails
POST Access configuration for external artifacts - Method not implemented
[Documentation] Test ID: 5.3.5.10.6
... Test title: POST Access configuration for external artifacts - Method not implemented
... Test objective: The objective is to test that POST method is not allowed to create access configuration for external artifacts
... Pre-conditions: none
... Reference: Clause 9.4.4a.3.1 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send POST Request for access configuration for external artifacts
Check HTTP Response Status Code Is 405
PATCH Access configuration for external artifacts - Method not implemented
[Documentation] Test ID: 5.3.5.10.7
... Test title: PATCH Access configuration for external artifacts - Method not implemented
... Test objective: The objective is to test that PATCH method is not allowed to update access configuration for external artifacts
... Pre-conditions: none
... Reference: Clause 9.4.4a.3.4 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send PATCH Request for access configuration for external artifacts
Check HTTP Response Status Code Is 405
DELETE Access configuration for external artifacts - Method not implemented
[Documentation] Test ID: 5.3.5.10.8
... Test title: DELETE Access configuration for external artifacts - Method not implemented
... Test objective: The objective is to test that DELETE method is not allowed to delete access configuration for external artifacts
... Pre-conditions: none
... Reference: Clause 9.4.4a.3.5 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send DELETE Request for Access configuration for external artifacts
Check HTTP Response Status Code Is 405
\ No newline at end of file
*** Settings ***
Library JSONSchemaLibrary schemas/
Resource environment/variables.txt
Resource VNFPackageManagementKeywords.robot
Library JSONLibrary
Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false
*** Test Cases ***
GET Individual VNF Package Artifact
[Documentation] Test ID: 5.3.5.6.1
... Test title: GET Individual VNF Package Artifact
... Test objective: The objective is to test the retrieval of an individual VNF package artifact
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual VNF Package Artifact
Check HTTP Response Status Code Is 200
GET Individual VNF Package Artifact in octet stream format
[Documentation] Test ID: 5.3.5.6.2
... Test title: GET Individual VNF Package Artifact in octet stream format
... Test objective: The objective is to test the retrieval of an individual VNF package artifact when the NFVO cannot determine the artifact content type. The test performs a validation that the returned artifcat in is octet-stream format
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: The NFVO cannot determine the content type of the artifact
... Post-Conditions: none
GET Individual VNF Package Artifact in octet stream format
Check HTTP Response Status Code Is 200
Check HTTP Response Header Content-Type Is application/octet-stream
GET Individual VNF Package Artifact with Range Request and NFVO supporting Range Requests
[Documentation] Test ID: 5.3.5.6.3
... Test title: GET Individual VNF Package Artifact with Range Request and NFVO supporting Range Requests
... Test objective: The objective is to test the retrieval of an individual VNF package artifact when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact
... Post-Conditions: none
GET Individual VNF Package Artifact with Range Request
Check HTTP Response Status Code Is 206
Check HTTP Response Header Content-Range Is Present and Matches the requested range
Check HTTP Response Header Content-Length Is Present and Matches the requested range length
GET Individual VNF Package Artifact with Range Request and NFVO not supporting Range Requests
[Documentation] Test ID: 5.3.5.6.4
... Test title: GET Individual VNF Package Artifact with Range Request and NFVO not supporting Range Requests
... Test objective: The objective is to test that the retrieval of an individual VNF package artifact, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full VNF Package artifact.
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: The NFVO does not support range requests to return single range of bytes from the VNF package artifact
... Post-Conditions: none
GET Individual VNF Package Artifact with Range Request
Check HTTP Response Status Code Is 200
GET Individual VNF Package Artifact with invalid Range Request
[Documentation] Test ID: 5.3.5.6.5
... Test title: GET Individual VNF Package Artifact with invalid Range Request
... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails when using a range request that does not match any available byte range in the file.
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact
... Post-Conditions: none
GET Individual VNF Package Artifact with invalid Range Request
Check HTTP Response Status Code Is 416
GET Individual VNF Package Artifact with invalid resource identifier
[Documentation] Test ID: 5.3.5.6.6
... Test title: GET Individual VNF Package Artifact with invalid resource identifier
... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails when using an invalid resource identifier
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual VNF Package Artifact with invalid resource identifier
Check HTTP Response Status Code Is 404
GET Individual VNF Package Artifact with conflict due to onboarding state
[Documentation] Test ID: 5.3.5.6.7
... Test title: GET Individual VNF Package Artifact with conflict due to onboarding state
... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response
... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED.
... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Artifact for VNF Package in onboarding state different from ONBOARDED
Check HTTP Response Status Code Is 409
Check HTTP Response Body Json Schema Is ProblemDetails
POST Individual VNF Package Artifact - Method not implemented
[Documentation] Test ID: 5.3.5.6.8
... Test title: POST Individual VNF Package Artifact - Method not implemented
... Test objective: The objective is to test that POST method is not allowed to create new VNF Package artifact
... Pre-conditions: none
... Reference: Clause 9.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send POST Request for individual VNF Package Artifact
Check HTTP Response Status Code Is 405
PUT Individual VNF Package Artifact - Method not implemented
[Documentation] Test ID: 5.3.5.6.9
... Test title: PUT Individual VNF Package Artifact - Method not implemented
... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package artifact
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send PUT Request for individual VNF Package Artifact
Check HTTP Response Status Code Is 405
PATCH Individual VNF Package Artifact - Method not implemented
[Documentation] Test ID: 5.3.5.6.10
... Test title: PATCH Individual VNF Package Artifact - Method not implemented
... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package artifact
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send PATCH Request for individual VNF Package Artifact
Check HTTP Response Status Code Is 405
DELETE Individual VNF Package Artifact - Method not implemented
[Documentation] Test ID: 5.3.5.6.11
... Test title: DELETE Individual VNF Package Artifact - Method not implemented
... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package artifact
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: The VNF Package artifact is not deleted by the failed operation
Send DELETE Request for individual VNF Package Artifact
Check HTTP Response Status Code Is 405
Check Postcondition VNF Package Artifact Exist
\ No newline at end of file
*** Settings ***
Library JSONSchemaLibrary schemas/
Resource environment/variables.txt
Resource VNFPackageManagementKeywords.robot
Library JSONLibrary
Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false
*** Test Cases ***
Get Manifest in Individual VNF Package
[Documentation] Test ID: 5.3.5.11.1
... Test title: Get Manifest in Individual VNF Package
... Test objective: The objective is to test that content of manifest within a NVF Package is read successfully.
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Get Manifest in Individual VNF Package in plainFormat
Check HTTP Response Status Code Is 200
Check HTTP Response Header Content-Type Is text/plain
Get Manifest in Individual VNF Package with security information
[Documentation] Test ID: 5.3.5.11.2
... Test title: Get Manifest in Individual VNF Package with security information
... Test objective: The objective is to test the retrieval of the Manifest in individual VNF package shall include in the ZIP archive the security information when requested with "include_signature" parameter, and perform a validation that returned content is in zip format
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Get Manifest in Individual VNF Package with security information
Check HTTP Response Status Code Is 200
Check HTTP Response Header Content-Type Is application/zip
Get Manifest in Individual VNF Package - Not Acceptable
[Documentation] Test ID: 5.3.5.11.3
... Test title: Get Manifest in Individual VNF Package - Not Acceptable
... Test objective: The objective is to test that the "Accept" header is not compatible with Content type "application/zip" but "incude_signature" is provided.\
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Get Manifest in Individual VNF Package with unacceptable request
Check HTTP Response Status Code Is 406
Check HTTP Response Body Json Schema Is ProblemDetails
Get Manifest in Individual VNF Package - Conflict
[Documentation] Test ID: 5.3.5.11.4
... Test title: Get Manifest in Individual VNF Package - Conflict
... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the resource.
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Get Manifest in Individual VNF Package in plainFormat
Check HTTP Response Status Code Is 409
Check HTTP Response Body Json Schema Is ProblemDetails
POST Manifest in Individual VNF Package - Method not implemented
[Documentation] Test ID: 5.3.5.11.5
... Test title: POST Manifest in Individual VNF Package - Method not implemented
... Test objective: The objective is to test that POST method is not allowed to create new Manifest
... Pre-conditions: none
... Reference: Clause 9.4.4b.3.1 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send POST Request for Manifest in individual VNF Package
Check HTTP Response Status Code Is 405
PUT Manifest in Individual VNF Package - Method not implemented
[Documentation] Test ID: 5.3.5.11.6
... Test title: PUT Manifest in Individual VNF Package - Method not implemented
... Test objective: The objective is to test that PUT method is not allowed to modify a Manifest
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.4b.3.3 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send PUT Request for Manifest in individual VNF Package
Check HTTP Response Status Code Is 405
PATCH Manifest in Individual VNF Package - Method not implemented
[Documentation] Test ID: 5.3.5.11.7
... Test title: PATCH Manifest in Individual VNF Package - Method not implemented
... Test objective: The objective is to test that PATCH method is not allowed to update a Manifest
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.4b.3.4 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send PATCH Request for Manifest in individual VNF Package
Check HTTP Response Status Code Is 405
DELETE Manifest in Individual VNF Package - Method not implemented
[Documentation] Test ID: 5.3.5.11.8
... Test title: DELETE Manifest in Individual VNF Package - Method not implemented
... Test objective: The objective is to test that DELETE method is not allowed to delete a Manifest
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.4b.3.5 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send DELETE Request for Manifest in individual VNF Package
Check HTTP Response Status Code Is 405
\ No newline at end of file
......@@ -6,19 +6,6 @@ Library JSONLibrary
Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false
*** Test Cases ***
Get single file VNFD in Individual VNF Package in Plain Format
[Documentation] Test ID: 5.3.5.3.1
... Test title: Get single file VNFD in Individual VNF Package in Plain Format
... Test objective: The objective is to test the retrieval of the VNFD in plain format for an individual VNF package and perform a validation that returned content is in plain format
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: The VNFD is implemented as a single file
... Post-Conditions: none
Get single file VNFD in Individual VNF Package in Plain Format
Check HTTP Response Status Code Is 200
Check HTTP Response Header Content-Type Is text/plain
Get VNFD in Individual VNF Package in Zip Format
[Documentation] Test ID: 5.3.5.3.2
... Test title: Get VNFD in Individual VNF Package in Zip Format
......@@ -32,45 +19,6 @@ Get VNFD in Individual VNF Package in Zip Format
Check HTTP Response Status Code Is 200
Check HTTP Response Header Content-Type Is application/zip
Get single file VNFD in Individual VNF Package in Plain or Zip Format
[Documentation] Test ID: 5.3.5.3.3
... Test title: Get single file VNFD in Individual VNF Package in Plain or Zip Format
... Test objective: The objective is to test the retrieval of the single file VNFD for an individual VNF package when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Plain or Zip format
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: The VNFD is implemented as a single file
... Post-Conditions: none
Get single file VNFD in Individual VNF Package in Plain or Zip Format
Check HTTP Response Status Code Is 200
Check HTTP Response Header Content-Type Is Any of text/plain application/zip
Get multi file VNFD in Individual VNF Package in Plain or Zip Format
[Documentation] Test ID: 5.3.5.3.4
... Test title: Get multi file VNFD in Individual VNF Package in Plain or Zip Format
... Test objective: The objective is to test the retrieval of the multi file VNFD for an individual VNF package when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Zip format
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: The VNFD is implemented as a multi file
... Post-Conditions: none
Get multi file VNFD in Individual VNF Package in Plain or Zip Format
Check HTTP Response Status Code Is 200
Check HTTP Response Header Content-Type Is application/zip
Get multi file VNFD in Individual VNF Package in Plain Format
[Documentation] Test ID: 5.3.5.3.5
... Test title: Get multi file VNFD in Individual VNF Package in Plain Format
... Test objective: The objective is to test that the retrieval of the multi file VNFD for an individual VNF package fails when requesting it in Plain format, and perform a validation of the JSON schema validation of the failed operation HTTP response
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: The VNFD is implemented as a multi file
... Post-Conditions: none
Get multi file VNFD in Individual VNF Package in Plain Format
Check HTTP Response Status Code Is 406
Check HTTP Response Body Json Schema Is ProblemDetails
Get VNFD in Individual VNF Package with invalid resource identifier
[Documentation] Test ID: 5.3.5.3.6
... Test title: Get VNFD in Individual VNF Package with invalid resource identifier
......@@ -82,6 +30,7 @@ Get VNFD in Individual VNF Package with invalid resource identifier
... Post-Conditions: none
Get VNFD in Individual VNF Package with invalid resource identifier
Check HTTP Response Status Code Is 404
Check HTTP Response Body Json Schema Is ProblemDetails
Get VNFD in Individual VNF Package with conflict due to onboarding state
[Documentation] Test ID: 5.3.5.3.7
......@@ -140,7 +89,19 @@ DELETE VNFD in Individual VNF Package - Method not implemented
... Reference: Clause 9.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: The VNFD is not deleted by the failed operation
... Post-Conditions: none
Send DELETE Request for VNFD in individual VNF Package
Check HTTP Response Status Code Is 405
Check Postcondition VNFD Exist
\ No newline at end of file
Get VNFD in Individual VNF Package with security information
[Documentation] Test ID: 5.3.5.3.12
... Test title: Get VNFD in Individual VNF Package with security information
... Test objective: The objective is to test the retrieval of the VNFD in zip format for an individual VNF package shall include in the ZIP archive the security information when requested with "include_signature" parameter, and perform a validation that returned content is in zip format
... Pre-conditions: One or more VNF packages are onboarded in the NFVO.
... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Get VNFD in Individual VNF Package with security information
Check HTTP Response Status Code Is 200
Check HTTP Response Header Content-Type Is application/zip
\ No newline at end of file
This diff is collapsed.
......@@ -312,14 +312,6 @@ Send DELETE Request for Individual VNF Package used for instantiated VNF instanc
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
DELETE ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${instantiatedVnfPackageId}
${output}= Output response
Set Suite Variable ${response} ${output}
Get single file VNFD in Individual VNF Package in Plain Format
Log Trying to get a VNFD from a given VNF Package present in the NFVO Catalogue
Set Headers {"Accept": "${ACCEPT_PLAIN}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgPlainVNFD}/vnfd
${output}= Output response
Set Suite Variable ${response} ${output}
Get VNFD in Individual VNF Package in Zip Format
......@@ -329,22 +321,12 @@ Get VNFD in Individual VNF Package in Zip Format
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgZipVNFD}/vnfd
${output}= Output response
Set Suite Variable ${response} ${output}
Get single file VNFD in Individual VNF Package in Plain or Zip Format
Log Trying to get a VNFD from a given VNF Package present in the NFVO Catalogue
Set Headers {"Accept": "${ACCEPT_PLAIN}"}
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgPlainVNFD}/vnfd
${output}= Output response
Set Suite Variable ${response} ${output}
Get multi file VNFD in Individual VNF Package in Plain or Zip Format
Get VNFD in Individual VNF Package with security information
Log Trying to get a VNFD from a given VNF Package present in the NFVO Catalogue
Set Headers {"Accept": "${ACCEPT_PLAIN}"}
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgZipVNFD}/vnfd
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgZipVNFD}/vnfd/include_signatures
${output}= Output response
Set Suite Variable ${response} ${output}
......@@ -410,15 +392,6 @@ Send DELETE Request for VNFD in individual VNF Package
${output}= Output response
Set Suite Variable ${response} ${output}
Check Postcondition VNFD Exist
Log Checking that vnf pacakge still exists
Set Headers {"Accept": "${ACCEPT_PLAIN}, ${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgZipVNFD}/vnfd
${output}= Output response
Set Suite Variable ${response} ${output}
Check HTTP Response Status Code Is 200
GET Individual VNF Package Content
Log Trying to get a VNF Package Content
Set Headers {"Accept": "${ACCEPT_ZIP}"}
......@@ -901,7 +874,6 @@ Check HTTP Response Status Code Is
Should Be Equal As Strings ${response['status']} ${expected_status}
Log Status code validated
Check HTTP Response Body Json Schema Is
[Arguments] ${input}
Should Contain ${response['headers']['Content-Type']} application/json
......@@ -909,7 +881,6 @@ Check HTTP Response Body Json Schema Is
Validate Json ${schema} ${response['body']}
Log Json Schema Validation OK
Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter
Log Check Response includes VNF Package Management according to filter
@{words} = Split String ${filter_ok} ,${SEPERATOR}
......@@ -947,3 +918,216 @@ Check HTTP Response Header Contains
Check LINK in Header
${linkURL}= Get Value From Json ${response['headers']} $..Link
Should Not Be Empty ${linkURL}
Get access configuration information for external artifacts
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/ext_artifacts_access
${output}= Output response
Set Suite Variable ${response} ${output}
Send PUT Request to access configuration information for external artifacts
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
${body}= Get File jsons/ExternalArtifactsAccessConfig.json
PUT ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/ext_artifacts_access ${body}
${output}= Output response
Set Suite Variable ${response} ${output}
Check Postcondition individual VNF Package is created
GET Individual VNF Package
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is vnfPkgInfo
Should Be True '${response['body']['id']}' =='CREATED' or '${response['body']['id']}'=='ERROR'
Send POST Request for access configuration for external artifacts
Log Trying to perform a POST. This method should not be implemented
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
POST ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/ext_artifacts_access
${output}= Output response
Set Suite Variable ${response} ${output}
Send PATCH Request for access configuration for external artifacts
Log Trying to perform a PATCH. This method should not be implemented
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
PATCH ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/ext_artifacts_access
${output}= Output response
Set Suite Variable ${response} ${output}
Send DELETE Request for Access configuration for external artifacts
Log Trying to perform a DELETE. This method should not be implemented
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
DELETE ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/ext_artifacts_access
${output}= Output response
Set Suite Variable ${response} ${output}
Get Manifest in Individual VNF Package in plainFormat
Set Headers {"Accept": "${ACCEPT_PLAIN}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/manifest
${output}= Output response
Set Suite Variable ${response} ${output}
Get Manifest in Individual VNF Package with security information
Log Trying to get a manifest from a given VNF Package present in the NFVO Catalogue
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/manifest/include_signatures
${output}= Output response
Set Suite Variable ${response} ${output}
Get Manifest in Individual VNF Package with unacceptable request
Set Headers {"Accept": "${ACCEPT_PLAIN}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/manifest/include_signatures
${output}= Output response
Set Suite Variable ${response} ${output}
Send POST Request for manifest in individual VNF Package
Log Trying to perform a POST. This method should not be implemented
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
POST ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/manifest
${output}= Output response
Set Suite Variable ${response} ${output}
Send PUT Request for manifest in individual VNF Package
Log Trying to perform a PUT. This method should not be implemented
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
PUT ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/manifest
${output}= Output response
Set Suite Variable ${response} ${output}
Send PATCH Request for manifest in individual VNF Package
Log Trying to perform a PATCH. This method should not be implemented
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
PATCH ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/manifest
${output}= Output response
Set Suite Variable ${response} ${output}
Send DELETE Request for manifest in individual VNF Package
Log Trying to perform a DELETE. This method should not be implemented
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
DELETE ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/manifest
${output}= Output response
Set Suite Variable ${response} ${output}
Get Artifact in VNF Package
Log Trying to get Artifact in VNF Package
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts
${output}= Output response
Set Suite Variable ${response} ${output}
Get Artifact in VNF Package with exclude_all_mano_artifacts parameter
Log Trying to get Artifact in VNF Package with exclude_all_mano_artifacts
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts/exclude_all_mano_artifacts
${output}= Output response
Set Suite Variable ${response} ${output}
Get Artifact in VNF Package with exclude_all_non_mano_artifacts parameter
Log Trying to get Artifact in VNF Package with security certificates
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts/exclude_all_non_mano_artifacts
${output}= Output response
Set Suite Variable ${response} ${output}
Get Artifact in VNF Package with select_non_mano_artifact_sets parameter
Log Trying to get Artifact in VNF Package with security certificates
Pass Execution If ${NFVO_non-MANO_OK} == 0 Skipping this test as NFVO is not able to handle partial Requests.
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts/select_non_mano_artifact_sets=${non_mano_artifact_sets}
${output}= Output response
Set Suite Variable ${response} ${output}
Get Artifact in VNF Package with include_signatures parameter
Log Trying to get Artifact in VNF Package with security certificates
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts/include_signatures
${output}= Output response
Set Suite Variable ${response} ${output}
Get Artifact in VNF Package with Range Request
Log Trying to get an Artifact using RANGE Header and using an NFVO that can handle it
Pass Execution If ${NFVO_RANGE_OK} == 0 Skipping this test as NFVO is not able to handle partial Requests.
Set Headers {"Range": "${range}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts
${output}= Output response
Set Suite Variable ${response} ${output}
Get Artifact in VNF Package with exclude_all_non_mano_artifacts and select_non_mano_artifact_sets
Log Trying to get Artifact in VNF Package
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts/exclude_all_non_mano_artifacts&select_non_mano_artifact_sets=${non_mano_artifact_sets}
${output}= Output response
Set Suite Variable ${response} ${output}
Get Artifact in VNF Package with exclude_all_non_mano_artifacts and exclude_all_mano_artifacts
Log Trying to get Artifact in VNF Package
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts/exclude_all_non_mano_artifacts&exclude_all_non_mano_artifacts
${output}= Output response
Set Suite Variable ${response} ${output}
GET Artifact of VNF Package in onboarding state different from ONBOARDED
Log Trying to get a VNF Package artifact present in the NFVO Catalogue, but not in ONBOARDED operationalStatus
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${onboardingStateVnfPkgId}/artifacts
${output}= Output response
Set Suite Variable ${response} ${output}
GET VNF Package Artifact with invalid Range Request
Log Trying to get a range of bytes of the limit of the VNF Package
Pass Execution If ${NFVO_RANGE_OK} == 0 Skipping this test as NFVO is not able to handle partial Requests.
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Set Headers {"Range": "${erroneousRange}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts
${output}= Output response
Set Suite Variable ${response} ${output}
Send POST Request for VNF Package Artifact
Log Trying to perform a POST (method should not be implemented)
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
POST ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts
${output}= Output response
Set Suite Variable ${response} ${output}
Send PUT Request for VNF Package Artifact
Log Trying to perform a PUT (method should not be implemented)
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
PUT ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts
${output}= Output response
Set Suite Variable ${response} ${output}
Send PATCH Request for VNF Package Artifact
Log Trying to perform a PATCH (method should not be implemented)
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
PATCH ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts
${output}= Output response
Set Suite Variable ${response} ${output}
Send DELETE Request for VNF Package Artifact
Log Trying to perform a DELETE (method should not be implemented)
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
DELETE ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts
${output}= Output response
Set Suite Variable ${response} ${output}
\ No newline at end of file
......@@ -9,7 +9,7 @@ ${ACCEPT_JSON} application/json
${apiRoot} /
${AUTH_USAGE} 1
${NEG_AUTHORIZATION} Bearer negativetoken
${apiVersion} v1
${apiVersion} v2
${apiName} vnfpkgm
${FIELD_USAGE} 1
${NFVO_PLAIN} 1
......@@ -80,3 +80,7 @@ ${VAR_SEPERATOR} &
${vnfPkgViaUriId} 788106a2-d692-44f3-a86d-384f0ce35e42
${creatingVnfPkgViaUriId} d246ccdd-71aa-402f-b256-6a80ee54be3d
${vnfPkgUri} http://localhost/content.zip
${NFVO_non-MANO_OK} 1 # If 1 means that non-MANO artifacts are supported by the NFVO
${non_mano_artifact_sets}
\ No newline at end of file
{
"artifact":
{
"artifactUri":"127.0.0.1"
}
}
\ No newline at end of file
{
"description": "This type represents the access configuration information for downloading external VNF package artifacts. The NFVO can obtain the external VNF package artifact file through the information provided in this structure, together with information provided in the manifest / VNFD. The data structure shall comply with the provisions defined in Table 9.5.2.10-1. If the data structure is part of a response body, security-sensitive attributes shall be excluded as specified in Table 9.5.2.10-1.\n",
"type": "object",
"properties": {
"artifact": {
"description": "Access configuration information for an external artefact.\n",
"type": "object",
"required": [
"artifactUri"
],
"properties": {
"artifactUri": {
"description": "String formatted according to IETF RFC 3986.\n",
"type": "string",
"format": "uri"
},
"overrideUri": {
"description": "String formatted according to IETF RFC 3986.\n",
"type": "string",
"format": "uri"
},
"authType": {
"description": "Defines the type of authentication / authorization for downloading the VNF package. Permitted values: - BASIC: Only the \"username\" and \"password\" attributes shall be present. - OAUTH2_CLIENT_CREDENTIAL S: Only the \"paramsOauth2ClientCredentials\" attribute shall be present. This attribute shall not be present if no credentials are provided for the artifact.\n",
"type": "string",
"enum": [
"BASIC",
"OAUTH2_CLIENT_CREDENTIALS"
]
},
"username": {
"description": "User name to be used for authentication.\n",
"type": "string"
},
"password": {
"description": "Password to be used for authentication. Shall not be present in response bodies.\n",
"type": "string"
},
"paramsOauth2ClientCredentials": {
"description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS.\n",
"type": "object",
"required": [
"clientId",
"clientPassword",
"tokenEndpoint"
],
"properties": {
"clientId": {
"description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type.\n",
"type": "string"
},
"clientPassword": {
"description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall not be present in response bodies.\n",
"type": "string"
},
"tokenEndpoint": {
"description": "String formatted according to IETF RFC 3986.\n",
"type": "string",
"format": "uri"
}
}
}
}
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment