[Documentation]Test Name: Scale VNF The POST method scales a VNF instance..
...Another: The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource.
...Applicability: Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing.
...Post-conditions: The response body shall contain a ProblemDetails structure, in which the detail attribute should convey more information about the error.
...Reference: ETSI GS NFV-SOL 002
LogTrying to scale a vnf Instance
Set Headers{"Accept":"${ACCEPT}"}
Set Headers{"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If${AUTH_USAGE}== 1Set Headers{"Authorization":"${AUTHORIZATION}"}
# TODO: Need to set the pre-condition of the test. VNF instance shall be in NOT-INSTANTIATED state
[Documentation]Prova: Conflict.
...Another: The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource.
...Applicability: Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing.
...The response body shall contain a ProblemDetails structure, in which the detail attribute should convey more information about the error.
[Setup]Check resource not instantiated
LogTrying to Scale a vnf Instance
Set Headers{"Accept":"${ACCEPT}"}
Set Headers{"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If${AUTH_USAGE}== 1Set Headers{"Authorization":"${AUTHORIZATION}"}
Scale a vnfInstance Conflict (parallel LCM operation)
# TODO: Need to set the pre-condition of the test
[Documentation]Example: Conflict
...Maybe: The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource.
...Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing.
...The response body shall contain a ProblemDetails structure, in which the detail attribute should convey more information about the error.
[Setup]Launch another LCM operation
logTrying to Scale a vnf Instance
Set Headers{"Accept":"${ACCEPT}"}
Set Headers{"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If${AUTH_USAGE}== 1Set Headers{"Authorization":"${AUTHORIZATION}"}
[Teardown]#We cannot know if the "scale" operation is finished easily because the 202 indicates only whether the operation has been accepted, not whether the operation has been finished
Scale a vnfInstance Not Found
# TODO: Need to create a vnfInstance which's instantiatedVnfInfo.scaleStatus is absent
[Documentation]Not Found
...Error: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists.
...Specifically in case of this task resource, the response code 404 shall also returned if the task is not supported for the VNF instance represented by the parent resource, which means that the task resource consequently does not exist.
...In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the detail attribute shall convey more information about the error.
[Setup]Check scale not supported
LogTrying to scale a vnf Instance, not exist
Set Headers{"Accept":"${ACCEPT}"}
Set Headers{"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If${AUTH_USAGE}== 1Set Headers{"Authorization":"${AUTHORIZATION}"}
...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: Section 10.4.6.3.2 - ETSI GS NFV-SOL 003 v2.4.1
...Config ID: Config_prod_NFVO
...Applicability: None
...Post-Conditions: None
GET Individual VNF Package Artifact
Check HTTP Response Status Code Is200
GET Individual VNF Package Artifact in octet stream format
[Documentation]Test ID: 7.3.3.5.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: Section 10.4.6.3.2 - ETSI GS NFV-SOL 003 v2.4.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
GET Individual VNF Package Artifact with Range Request and NFVO supporting Range Requests
[Documentation]Test ID: 7.3.3.5.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: Section 10.4.6.3.2 - ETSI GS NFV-SOL 003 v2.4.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 Is206
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: 7.3.3.5.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: Section 10.4.6.3.2 - ETSI GS NFV-SOL 003 v2.4.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 Is200
GET Individual VNF Package Artifact with invalid Range Request
[Documentation]Test ID: 7.3.3.5.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: Section 10.4.6.3.2 - ETSI GS NFV-SOL 003 v2.4.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 Is416
GET Individual VNF Package Artifact with invalid resource identifier
[Documentation]Test ID: 7.3.3.5.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: Section 10.4.6.3.2 - ETSI GS NFV-SOL 003 v2.4.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 Is404
GET Individual VNF Package Artifact with conflict due to onboarding state
[Documentation]Test ID: 7.3.3.5.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: Section 10.4.6.3.2 - ETSI GS NFV-SOL 003 v2.4.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 Is409
Check HTTP Response Body Json Schema IsProblemDetails
POST Individual VNF Package Artifact - Method not implemented
[Documentation]Test ID: 7.3.3.5.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: Section 10.4.6.3.1 - ETSI GS NFV-SOL 003 v2.4.1
...Config ID: Config_prod_NFVO
...Applicability: None
...Post-Conditions: None
Send POST Request for individual VNF Package Artifact
Check HTTP Response Status Code Is405
PUT Individual VNF Package Artifact - Method not implemented
[Documentation]Test ID: 7.3.3.5.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: Section 10.4.6.3.3 - ETSI GS NFV-SOL 003 v2.4.1
...Config ID: Config_prod_NFVO
...Applicability: None
...Post-Conditions: None
Send PUT Request for individual VNF Package Artifact
Check HTTP Response Status Code Is405
PATCH Individual VNF Package Artifact - Method not implemented