Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • nfv/api-tests
  • reinaortega/api-tests
2 results
Show changes
Showing
with 2338 additions and 21 deletions
*** Settings ***
Resource NFVICapacityInformationKeywords.robot
*** Test Cases ***
POST API Version - Method not implemented
[Documentation] Test ID: 5.3.6.1.1
... Test title: POST API version - Method not implemented
... Test objective: The objective is to test that POST method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
POST API Version
Check HTTP Response Status Code Is 405
GET API Version
[Documentation] Test ID: 5.3.6.1.2
... Test title: GET API Version
... Test objective: The objective is to test that GET method successfully return ApiVersionInformation
... Pre-conditions: none
... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET API Version
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is ApiVersionInformation
PUT API Version - Method not implemented
[Documentation] Test ID: 5.3.6.1.3
... Test title: PUT API Version - Method not implemented
... Test objective: The objective is to test that PUT method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
PUT API Version
Check HTTP Response Status Code Is 405
PATCH API Version - Method not implemented
[Documentation] Test ID: 5.3.6.1.4
... Test title: PATCH API Version - Method not implemented
... Test objective: The objective is to test that PATCH method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
PATCH API Version
Check HTTP Response Status Code Is 405
DELETE API Version - Method not implemented
[Documentation] Test ID: 5.3.6.1.5
... Test title: DELETE API Version - Method not implemented
... Test objective: The objective is to test that DELETE method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
DELETE API Version
Check HTTP Response Status Code Is 405
POST API Version with apiMajorVerion - Method not implemented
[Documentation] Test ID: 5.3.6.1.6
... Test title: POST API version with apiMajorVerion - Method not implemented
... Test objective: The objective is to test that POST method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
POST API Version
Check HTTP Response Status Code Is 405
GET API Version with apiMajorVerion
[Documentation] Test ID: 5.3.6.1.7
... Test title: GET API Version with apiMajorVerion
... Test objective: The objective is to test that GET method successfully return ApiVersionInformation
... Pre-conditions: none
... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET API Version
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is ApiVersionInformation
PUT API Version with apiMajorVerion - Method not implemented
[Documentation] Test ID: 5.3.6.1.8
... Test title: PUT API Version with apiMajorVerion - Method not implemented
... Test objective: The objective is to test that PUT method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
PUT API Version
Check HTTP Response Status Code Is 405
PATCH API Version with apiMajorVerion - Method not implemented
[Documentation] Test ID: 5.3.6.1.9
... Test title: PATCH API Version with apiMajorVerion - Method not implemented
... Test objective: The objective is to test that PATCH method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
PATCH API Version
Check HTTP Response Status Code Is 405
DELETE API Version with apiMajorVerion - Method not implemented
[Documentation] Test ID: 5.3.6.1.10
... Test title: DELETE API Version with apiMajorVerion - Method not implemented
... Test objective: The objective is to test that DELETE method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
DELETE API Version
Check HTTP Response Status Code Is 405
\ No newline at end of file
*** Settings ***
Resource NFVICapacityInformationKeywords.robot
*** Test Cases ***
POST Create Capacity Threshold
[Documentation] Test ID: 5.3.6.3.1
... Test title: POST Create Capacity Threshold
... Test objective: The objective is to test that POST method creates a Capacity Threshold
... Pre-conditions: none
... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
POST Create a Capacity Threshold
Check HTTP Response Status Code Is 201
Check HTTP Response Body Json Schema Is CapacityThreshold
Check HTTP Response Contains Resource URI
POST Create Capacity Threshold - Unprocessible Entity
[Documentation] Test ID: 5.3.6.3.2
... Test title: POST Create Capacity Threshold - Unprocessible Entity
... Test objective: The objective is to test that POST method creates a Capacity Threshold
... Pre-conditions: none
... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
POST Create a Capacity Threshold - Unreachable URI
Check HTTP Response Status Code Is 422
Check HTTP Response Body Json Schema Is ProblemDetails
GET Capacity Thresholds
[Documentation] Test ID: 5.3.6.3.3
... Test title: GET Capacity Thresholds
... Test objective: The objective is to GET Capacity Thresholds objects
... Pre-conditions: none
... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Capacity Thresholds
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is CapacityThresholds
GET Capacity Thresholds - Filter
[Documentation] Test ID: 5.3.6.3.4
... Test title: GET Capacity Thresholds - Filter
... Test objective: The objective is to GET Capacity Thresholds objects using filter
... Pre-conditions: none
... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Capacity Thresholds using filter
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is CapacityThresholds
GET Capacity Thresholds Bad Request Invalid attribute-based filtering parameters
[Documentation] Test ID: 5.3.6.3.5
... Test title: GET Capacity Thresholds Bad Request Invalid attribute-based filtering parameters
... Test objective: The objective is to get information about Capacity Thresholds with Invalid attribute-based filtering parameters
... Pre-conditions: none
... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Capacity Thresholds using invalid filter
Check HTTP Response Status Code Is 400
Check HTTP Response Body Json Schema Is ProblemDetails
GET Capacity Thresholds - Bad Request Response too Big
[Documentation] Test ID: 5.3.6.3.6
... Test title: GET Capacity Thresholds - Bad Request Response too Big
... Test objective: The objective is test that the retrieval of existing Capacity Thresholds list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response.
... Pre-conditions: none
... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: NFVO does not support paged response.
... Post-Conditions: none
GET Capacity Thresholds without Paging support
Check HTTP Response Status Code Is 400
Check HTTP Response Body Json Schema Is ProblemDetails
GET Capacity Thresholds as Paged Response
[Documentation] Test ID: 5.3.6.3.7
... Test title: GET Capacity Thresholds as Paged Response
... Test objective: The objective is to test that GET method retrieves the list of existing Capacity Thresholds as paged response.
... Pre-conditions: none
... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: NFVO supports paged response.
... Post-Conditions: none
GET Capacity Thresholds with Paging support
Check HTTP Response Status Code Is 200
Check HTTP Response Header Contains Link
PUT Capacity Thresholds - Method not implemented
[Documentation] Test ID: 5.3.6.3.8
... Test title: PUT Capacity Thresholds - Method not implemented
... Test objective: The objective is to test that PUT method is not implemented
... Pre-conditions: none
... Reference: Clause 10.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
PUT Capacity Thresholds
Check HTTP Response Status Code Is 405
PATCH Capacity Thresholds - Method not implemented
[Documentation] Test ID: 5.3.6.3.9
... Test title: PATCH Capacity Thresholds - Method not implemented
... Test objective: The objective is to test that PATCH method is not implemented
... Pre-conditions: none
... Reference: Clause 10.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
PATCH Capacity Thresholds
Check HTTP Response Status Code Is 405
DELETE Capacity Thresholds - Method not implemented
[Documentation] Test ID: 5.3.6.3.10
... Test title: DELETE Capacity Thresholds - Method not implemented
... Test objective: The objective is to test that DELETE method is not implemented
... Pre-conditions: none
... Reference: Clause 10.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
DELETE Capacity Thresholds
Check HTTP Response Status Code Is 405
*** Settings ***
Resource NFVICapacityInformationKeywords.robot
*** Test Cases ***
POST Individual Capacity Threshold
[Documentation] Test ID: 5.3.6.4.1
... Test title: POST Individual Capacity Threshold
... Test objective: The objective is to test that POST method is not implemented
... Pre-conditions: none
... Reference: Clause 10.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
POST Individual Capacity Threshold
Check HTTP Response Status Code Is 405
GET Individual Capacity Thresholds
[Documentation] Test ID: 5.3.6.4.2
... Test title: GET Capacity Thresholds
... Test objective: The objective is to test that GET method reads information about Individual Capacity Threshold
... Pre-conditions: none
... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual Capacity Threshold
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is CapacityThresholds
GET Individual Capacity Thresholds - NOT FOUND
[Documentation] Test ID: 5.3.6.4.3
... Test title: GET Capacity Thresholds - NOT FOUND
... Test objective: The objective is to test that GET method returns an error when using and invalid URI
... Pre-conditions: none
... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual Capacity Threshold - Invalid URI
Check HTTP Response Status Code Is 404
Check HTTP Response Body Json Schema Is ProblemDetails
PUT Individual Capacity Threshold - Method not implemented
[Documentation] Test ID: 5.3.6.4.4
... Test title: PUT Capacity Thresholds - Method not implemented
... Test objective: The objective is to test that PUT method is not implemented
... Pre-conditions: none
... Reference: Clause 10.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
PUT Individual Capacity Threshold
Check HTTP Response Status Code Is 405
PATCH Individual Capacity Threshold - Success
[Documentation] Test ID: 5.3.6.4.5
... Test title: PATCH Individual Capacity Threshold - Success
... Test objective: The objective is to test that PATCH method successfully modifies an individual Capacity Threshold resource
... Pre-conditions: none
... Reference: Clause 10.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: Capacity Threshold modified
PATCH Individual Capacity Threshold
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is CapacityThresholds
PATCH Individual Capacity Threshold - Precondition Failed
[Documentation] Test ID: 5.3.6.4.6
... Test title: PATCH Individual Capacity Threshold - Precondition Failed
... Test objective: The objective is to that the modification of individual Capacity Threshold fails because precondition given in an HTTP request header is not fulfilled due to an ETag mismatch.
... Pre-conditions: none
... Reference: Clause 10.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
PATCH Individual Capacity Threshold - ETag Mismatch
Check HTTP Response Status Code Is 412
Check HTTP Response Body Json Schema Is ProblemDetails
PATCH Individual Capacity Threshold - Unprocessible Entity
[Documentation] Test ID: 5.3.6.4.7
... Test title: PATCH Individual Capacity Threshold - Precondition Failed
... Test objective: The objective is to that the modification of individual Capacity Threshold fails because callbackUri provided in the request body is unreachable.
... Pre-conditions: none
... Reference: Clause 10.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
PATCH Individual Capacity Threshold - Unreachable CallbackURI
Check HTTP Response Status Code Is 422
Check HTTP Response Body Json Schema Is ProblemDetails
DELETE Individual VNF Snapshot
[Documentation] Test ID: 7.3.1.41.8
... Test title: DELETE Individual VNF Snapshot
... Test objective: The objective is to delete a VNF Snapshot
... Pre-conditions: none
... Reference: Clause 5.4.24.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: VNF Snapshot deleted
DELETE Individual Capacity Threshold
Check HTTP Response Status Code Is 204
Check Postcondition resource is deleted
\ No newline at end of file
*** Settings ***
Resource NFVICapacityInformationKeywords.robot
*** Test Cases ***
POST Individual VIMs NFVI Capacity Information - Method not implemented
[Documentation] Test ID: 5.3.6.3.1
... Test title: POST Individual VIMs NFVI Capacity Information - Method not implemented
... Test objective: The objective is to test that POST method is not implemented
... Pre-conditions: none
... Reference: Clause 10.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
POST Individual VIMs NFVI Capacity Information
Check HTTP Response Status Code Is 405
GET Information about an Individual VIMs NFVI Capacity Information
[Documentation] Test ID: 5.3.6.3.2
... Test title: GET Information about an Individual VIMs NFVI Capacity Information
... Test objective: The objective is to retrieve information about Individual VIMs NFVI Capacity Information
... Pre-conditions: none
... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual VIMs NFVI Capacity Information
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is NfviCapacityInfo
GET Information about an Individual VIMs NFVI Capacity Information using filter query parameter
[Documentation] Test ID: 5.3.6.3.2
... Test title: GET Information about an Individual VIMs NFVI Capacity Information using filter query parameter
... Test objective: The objective is to retrieve information about Individual VIMs NFVI Capacity Information using filter query parameter
... Pre-conditions: none
... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual VIMs NFVI Capacity Information using filter
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is NfviCapacityInfo
GET Information about an Individual VIMs NFVI Capacity Information - NOT FOUND
[Documentation] Test ID: 5.3.6.3.4
... Test title: GET Information about an Individual VIMs NFVI Capacity Information - NOT FOUND
... Test objective: The objective is to test that the retrieval of Individual VIMs NFVI Capacity Information fails when using an invalid resource identifier.
... Pre-conditions: none
... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFV-MANO
... Applicability: none
... Post-Conditions: none
GET Individual VIMs NFVI Capacity Information with Invalid VIM ID
Check HTTP Response Status Code Is 404
Check HTTP Response Body Json Schema Is ProblemDetails
PUT Individual VIMs NFVI Capacity Information - Method not implemented
[Documentation] Test ID: 5.3.6.3.5
... Test title: PUT Individual VIMs NFVI Capacity Information - Method not implemented
... Test objective: The objective is to test that PUT method is not implemented
... Pre-conditions: none
... Reference: Clause 10.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: VNF Snapshot Package not modified
PUT Individual VIMs NFVI Capacity Information
Check HTTP Response Status Code Is 405
PATCH Individual VIMs NFVI Capacity Information - Method Not implemented
[Documentation] Test ID: 5.3.6.3.6
... Test title: PATCH Individual VIMs NFVI Capacity Information
... Test objective: The objective is to test that PATCH method is not implemented
... Pre-conditions: none
... Reference: Clause 10.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: VNF Snapshot Package modified
PATCH Individual VIMs NFVI Capacity Information
Check HTTP Response Status Code Is 405
DELETE Individual VIMs NFVI Capacity Information - Method Not implemented
[Documentation] Test ID: 5.3.6.3.7
... Test title: DELETE Individual VIMs NFVI Capacity Information - Method Not implemented
... Test objective: The objective is to test that DELETE method is not implemented
... Pre-conditions: none
... Reference: Clause 10.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: VNF Snapshot Package deleted
DELETE Individual VIMs NFVI Capacity Information
Check HTTP Response Status Code Is 405
\ No newline at end of file
*** Settings ***
Resource NFVICapacityInformationKeywords.robot
*** Test Cases ***
POST NFVI Capacity Information - Method not implemented
[Documentation] Test ID: 5.3.6.2.1
... Test title: POST NFVI Capacity Information - Method not implemented
... Test objective: The objective is to test that POST method is not implemented
... Pre-conditions: none
... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
POST NFVI Capacity Information
Check HTTP Response Status Code Is 405
GET NFVI Capacity Information
[Documentation] Test ID: 5.3.6.2.2
... Test title: GET NFVI Capacity Information
... Test objective: The objective is to GET NFVI Capacity Information objects
... Pre-conditions: none
... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET NFVI Capacity Information
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is NfviCapacityInfos
GET NFVI Capacity Information - Filter
[Documentation] Test ID: 5.3.6.2.3
... Test title: GET NFVI Capacity Information - Filter
... Test objective: The objective is to GET NFVI Capacity Information objects using filter
... Pre-conditions: none
... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET NFVI Capacity Information with filter
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is NfviCapacityInfos
GET NFVI Capacity Information Bad Request Invalid attribute-based filtering parameters
[Documentation] Test ID: 5.3.6.2.4
... Test title: GET NFVI Capacity Information Bad Request Invalid attribute-based filtering parameters
... Test objective: The objective is to get information about NFVI Capacity Information with Invalid attribute-based filtering parameters
... Pre-conditions: none
... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET NFVI Capacity Information with bad attribute
Check HTTP Response Status Code Is 400
Check HTTP Response Body Json Schema Is ProblemDetails
GET NFVI Capacity Information Bad Request Invalid attribute selector
[Documentation] Test ID: 5.3.6.2.5
... Test title: GET NFVI Capacity Information Bad Request Invalid attribute selector
... Test objective: The objective is to get information about NFVI Capacity Information with Invalid attribute selector
... Pre-conditions: none
... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET NFVI Capacity Information with bad filter
Check HTTP Response Status Code Is 400
Check HTTP Response Body Json Schema Is ProblemDetails
GET NFVI Capacity Information with "all_fields" attribute selector
[Documentation] Test ID: 5.3.6.2.6
... Test title: GET NFVI Capacity Information with "all_fields" attribute selector
... Test objective: The objective is to query NFVI Capacity Information with "all_fields" attribute selector
... Pre-conditions: none
... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET NFVI Capacity Information with all_fields attribute selector
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is NfviCapacityInfos
GET NFVI Capacity Information with "exclude_default" attribute selector
[Documentation] Test ID: 5.3.6.2.7
... Test title: GET NFVI Capacity Information with "exclude_default" attribute selector
... Test objective: The objective is to query NFVI Capacity Information with "exclude_default" attribute selector
... Pre-conditions: none
... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET NFVI Capacity Information with exclude_default attribute selector
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is NfviCapacityInfos
GET NFVI Capacity Information with "fields" attribute selector
[Documentation] Test ID: 5.3.6.2.8
... Test title: GET NFVI Capacity Information with "fields" attribute selector
... Test objective: The objective is to query NFVI Capacity Information with "fields" attribute selector
... Pre-conditions: none
... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET NFVI Capacity Information with fields attribute selector
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is NfviCapacityInfos
GET NFVI Capacity Information with "exclude_default" and "fields" attribute selector
[Documentation] Test ID: 5.3.6.2.9
... Test title: GET NFVI Capacity Information with "exclude_default" and "fields" attribute selector
... Test objective: The objective is to query NFVI Capacity Information with "exclude_default" and "fields" attribute selector
... Pre-conditions: none
... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET NFVI Capacity Information with exclude_default and fields attribute selector
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is NfviCapacityInfos
GET NFVI Capacity Information with "exclude_fields" attribute selector
[Documentation] Test ID: 5.3.6.2.10
... Test title: GET NFVI Capacity Information with "exclude_fields" attribute selector
... Test objective: The objective is to query NFVI Capacity Information with "exclude_fields" attribute selector
... Pre-conditions: none
... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET NFVI Capacity Information with exclude_fields attribute selector
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is NfviCapacityInfos
GET NFVI Capacity Information - Bad Request Response too Big
[Documentation] Test ID: 5.3.6.2.11
... Test title: GET NFVI Capacity Information - Bad Request Response too Big
... Test objective: The objective is test that the retrieval of existing NFVI Capacity Information list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response.
... Pre-conditions: none
... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: NFVO does not support paged response.
... Post-Conditions: none
GET NFVI Capacity Information without Paging support
Check HTTP Response Status Code Is 400
Check HTTP Response Body Json Schema Is ProblemDetails
GET NFVI Capacity Information as Paged Response
[Documentation] Test ID: 5.3.6.2.12
... Test title: GET NFVI Capacity Information as Paged Response
... Test objective: The objective is to test that GET method retrieves the list of existing NFVI Capacity Information as paged response.
... Pre-conditions: none
... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: NFVO supports paged response.
... Post-Conditions: none
GET NFVI Capacity Information with Paging support
Check HTTP Response Status Code Is 200
Check HTTP Response Header Contains Link
PUT NFVI Capacity Information - Method not implemented
[Documentation] Test ID: 5.3.6.2.13
... Test title: PUT NFVI Capacity Information - Method not implemented
... Test objective: The objective is to test that PUT method is not implemented
... Pre-conditions: none
... Reference: Clause 10.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
PUT NFVI Capacity Information
Check HTTP Response Status Code Is 405
PATCH NFVI Capacity Information - Method not implemented
[Documentation] Test ID: 5.3.6.2.14
... Test title: PATCH NFVI Capacity Information - Method not implemented
... Test objective: The objective is to test that PATCH method is not implemented
... Pre-conditions: none
... Reference: Clause 10.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
PATCH NFVI Capacity Information
Check HTTP Response Status Code Is 405
DELETE NFVI Capacity Information - Method not implemented
[Documentation] Test ID: 5.3.6.2.15
... Test title: DELETE NFVI Capacity Information - Method not implemented
... Test objective: The objective is to test that DELETE method is not implemented
... Pre-conditions: none
... Reference: Clause 10.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
DELETE NFVI Capacity Information
Check HTTP Response Status Code Is 405
*** Settings ***
Resource environment/variables.txt
Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false
Library DependencyLibrary
Library JSONLibrary
Library JSONSchemaLibrary schemas/
Library OperatingSystem
Library String
*** Keywords ***
POST API Version
Set Headers {"Accept":"${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Post ${apiRoot}/${apiName}/api_versions
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET API Version
Set Headers {"Accept":"${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Get ${apiRoot}/${apiName}/api_versions
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
PUT API Version
Set Headers {"Accept":"${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Put ${apiRoot}/${apiName}/api_versions
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
PATCH API Version
Set Headers {"Accept":"${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Patch ${apiRoot}/${apiName}/api_versions
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
DELETE API Version
Set Headers {"Accept":"${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Delete ${apiRoot}/${apiName}/api_versions
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
POST API Version with apiMajorVersion
Set Headers {"Accept":"${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Post ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET API Version with apiMajorVersion
Set Headers {"Accept":"${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Get ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
PUT API Version with apiMajorVersion
Set Headers {"Accept":"${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Put ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
PATCH API Version with apiMajorVersion
Set Headers {"Accept":"${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Patch ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
DELETE API Version with apiMajorVersion
Set Headers {"Accept":"${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Delete ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
Check HTTP Response Status Code Is
[Arguments] ${expected_status}
Should Be Equal As Strings ${response['status']} ${expected_status}
Log Status code validated
Check HTTP Response Body Json Schema Is
[Arguments] ${input}
${schema} = Catenate SEPARATOR= ${input} .schema.json
Validate Json ${schema} ${response['body']}
Log Json Schema Validation OK
POST NFVI Capacity Information
Log Trying to perform a POST. This method should not be implemented.
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type":"${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Post ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET NFVI Capacity Information
Log The GET method queries information about NFVI Capacity Information.
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Get ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET NFVI Capacity Information with filter
Log The GET method queries information about NFVI Capacity Information.
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Get ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos?${POS_FILTER_info}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET NFVI Capacity Information with bad attribute
Log The GET method queries information about NFVI Capacity Information.
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
GET ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos?attribute_not_exist=some_value
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET NFVI Capacity Information with bad filter
Log The GET method queries information about NFVI Capacity Information.
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
GET ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos?${NEG_FILTER}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET NFVI Capacity Information with all_fields attribute selector
Log Query status information about NFVI Capacity Information, using fields
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
GET ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos?all_fields
${output}= Output response
Set Suite Variable ${response} ${output}
GET NFVI Capacity Information with exclude_default attribute selector
Log Query status information about NFVI Capacity Information using fields
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
GET ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos?exclude_default
${output}= Output response
Set Suite Variable ${response} ${output}
GET NFVI Capacity Information with fields attribute selector
Log Query status information about NFVI Capacity Information, using fields
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
GET ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos?fields=${fields_capacityInfo}
${output}= Output response
Set Suite Variable ${response} ${output}
GET NFVI Capacity Information with exclude_default and fields attribute selector
Log Query status information about NFVI Capacity Information, using fields
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
GET ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos?fields=${fields_capacityInfo}&exclude_default
${output}= Output response
Set Suite Variable ${response} ${output}
GET NFVI Capacity Information with exclude_fields attribute selector
Log Query status information about NFVI Capacity Information, using fields
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
GET ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos?exclude_fields=${fields_capacityInfo}
${output}= Output response
Set Suite Variable ${response} ${output}
GET NFVI Capacity Information without Paging support
Run Keyword If ${PAGING_SUPPORTED} == 0 GET NFVI Capacity Information
GET NFVI Capacity Information with Paging support
Run Keyword If ${PAGING_SUPPORTED} == 1 GET NFVI Capacity Information
Check HTTP Response Header Contains Link
${linkURL}= Get Value From Json ${response['headers']} $..Link
Should Not Be Empty ${linkURL}
PUT NFVI Capacity Information
log Trying to perform a PUT. This method should not be implemented
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Put ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
PATCH NFVI Capacity Information
Log Trying to perform a PATCH. This method should not be implemented
Set Headers {"Accept":"${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Patch ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
DELETE NFVI Capacity Information
Log Trying to perform a DELETE. This method should not be implemented
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Delete ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
POST Individual VIMs NFVI Capacity Information
log Trying to perform a POST. This method should not be implemented
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Post ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos/${vimId}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET Individual VIMs NFVI Capacity Information
log Trying to get information about an Individual VIMs NFVI Capacity Information
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Get ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos/${vimId}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET Individual VIMs NFVI Capacity Information using filter
log Trying to get information about an Individual VIMs NFVI Capacity Information
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Get ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos/${vimId}?${POS_FILTER_info}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET Individual VIMs NFVI Capacity Information with Invalid VIM ID
log Trying to get information about an Individual VIMs NFVI Capacity Information
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshot_packages/${invalidVimId}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
PUT Individual VIMs NFVI Capacity Information
log Trying to perform a PUT. This method should not be implemented
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Put ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos/${vimId}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
PATCH Individual VIMs NFVI Capacity Information
log Trying to perform a PATCH. This method should not be implemented
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Patch ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos/${vimId}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
DELETE Individual VIMs NFVI Capacity Information
log Trying to perform a DELETE. This method should not be implemented
Set Headers {"Accept":"${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Patch ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos/${vimId}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
POST Create a Capacity Threshold
Log Trying to POST create a new capacity threshold.
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${template}= Get File jsons/CreateCapacityThresholdRequest.json
${body}= Format String ${template} callback_uri=${callback_uri}
Post ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds ${body}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
POST Create a Capacity Threshold - Unreachable URI
Log Trying to POST create a new capacity threshold using an unreachable callbackUri in the request body
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${template}= Get File jsons/CreateCapacityThresholdRequest.json
${body}= Format String ${template} callback_uri=${unreachable_callback_uri}
Post ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds ${body}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
Check HTTP Response Contains Resource URI
${ResourceURI}= Get Value From Json ${response['headers']} $..Location
Should Not Be Empty ${ResourceURI}
GET Capacity Thresholds
log Trying to get information about multiple Capacity Thresholds
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Get ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET Capacity Thresholds using filter
log Trying to get information about multiple Capacity Thresholds using filtering parameters
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Get ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds?${POS_FILTER_threshold}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET Capacity Thresholds using invalid filter
log Trying to get information about multiple Capacity Thresholds using invalid filtering parameters
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Get ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds?${NEG_FILTER}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET Capacity Thresholds without Paging support
Run Keyword If ${PAGING_SUPPORTED} == 0 GET Capacity Thresholds
GET Capacity Thresholds with Paging support
Run Keyword If ${PAGING_SUPPORTED} == 1 GET Capacity Thresholds
PUT Capacity Thresholds
log Trying to perform a PUT. This method should not be implemented
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Put ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
PATCH Capacity Thresholds
log Trying to perform a PATCH. This method should not be implemented
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Patch ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
DELETE Capacity Thresholds
log Trying to perform a DELETE. This method should not be implemented
Set Headers {"Accept":"${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Patch ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
POST Individual Capacity Threshold
log Trying to perform a POST. This method should not be implemented
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Post ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds/${capacityThreshold}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET Individual Capacity Threshold
log Trying to get information about an Individual Capacity Threshold
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Get ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds/${capacityThreshold}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET Individual Capacity Threshold - Invalid URI
log Trying to get information about an Individual Capacity Threshold
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Get ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds/${invalid_capacityThreshold}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
PUT Individual Capacity Threshold
log Trying to perform a PUT. This method should not be implemented
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Put ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds/${capacityThreshold}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
PATCH Individual Capacity Threshold
log Trying to perform a PATCH to modify callback URI for an individual Capacity Threshold
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"}
Set Headers {"If-Match": "${original_etag}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${template} = Get File jsons/CapacityThresholdModificationRequest.json
${body}= Format String ${template} callback_uri=${new_callback_uri}
Patch ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds/${capacityThreshold} ${body}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
PATCH Individual Capacity Threshold - ETag mismatch
log Trying to perform a PATCH to modify individual VNF snapshot
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"}
Set Headers {"If-Match": "${invalid_etag}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${template} = Get File jsons/CapacityThresholdModificationRequest.json
${body}= Format String ${template} callback_uri=${new_callback_uri}
Patch ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds/${capacityThreshold} ${body}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
PATCH Individual Capacity Threshold - Unreachable CallbackURI
log Trying to perform a PATCH to modify individual VNF snapshot
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"}
Set Headers {"If-Match": "${invalid_etag}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${template} = Get File jsons/CapacityThresholdModificationRequest.json
${body}= Format String ${template} callback_uri=${unreachable_callback_uri}
Patch ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds/${capacityThreshold} ${body}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
DELETE Individual Capacity Threshold
log Trying to DELETE an Individual Capacity Threshold
Set Headers {"Accept":"${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Delete ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds/${capacityThreshold}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
Check Postcondition resource is deleted
GET Individual Capacity Threshold
Check HTTP Response Status Code Is 404
Check resource existence and get CallbackUri
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Get ${apiRoot}/${apiName}/${apiMajorVersion}/capacity_thresholds/${capacityThreshold}
Integer response status 200
Validate Json response body CapacityThreshold.schema.json
Set Global Variable ${callbackResp} response body callbackUri
POST Capacity Shortage Notification
log Trying to perform a POST to deliver notification.
Set Headers {"Accept":"${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${body} = Get File jsons/CapacityShortageNotification.json
Post ${callbackResp} ${body}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET reach the notification endpoint
Log Trying to reach the notification endpoint using GET method.
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
GET ${callbackResp}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
GET reach an unreachable notification endpoint
Log Trying to reach the notification endpoint using GET method.
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
GET ${unreachable_callbackuri}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
PUT notification endpoint
Log Trying to perform a PUT. This method should not be implemented.
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Put ${callbackResp}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
PATCH notification endpoint
Log Trying to perform a PATCH. This method should not be implemented.
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Patch ${callbackResp}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
DELETE notification endpoint
Log Trying to perform a DELETE. This method should not be implemented.
Set Headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
Delete ${callbackResp}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
*** Settings ***
Resource NFVICapacityInformationKeywords.robot
Suite Setup Check resource existence and get CallbackUri
*** Test Cases ***
Capacity Shortage Notification
[Documentation] Test ID: 5.3.6.5.1
... Test title: Capacity Shortage Notification
... Test objective: The objective is to test that Capacity Shortage Notification is delivered with success to the notification consumer.
... Pre-conditions: The consumer has already created an Individual Capacity Threshold resource
... Reference: Clause 10.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_Notif_Endpoint
... Applicability: none
... Post-Conditions: none
POST Capacity Shortage Notification
Check HTTP Response Status Code Is 204
Test the Notification Endpoint - Successful
[Documentation] Test ID: 5.3.6.5.2
... Test title: Test the Notification Endpoint - Successful
... Test objective: The objective is to test the Notification Endpoint provided by the notification consumer.
... Pre-conditions: The consumer has already created an Individual Capacity Threshold resource
... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_Notif_Endpoint
... Applicability: none
... Post-Conditions: none
Get reach the notification endpoint
Check HTTP Response Status Code Is 204
Test the Notification Endpoint - UNREACHABLE
[Documentation] Test ID: 5.3.6.5.3
... Test title: Test the Notification Endpoint - UNREACHABLE
... Test objective: The objective is to test the Notification Endpoint provided by the notification consumer.
... Pre-conditions: The consumer has already created an Individual Capacity Threshold resource
... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_Notif_Endpoint
... Applicability: The notification endpoint is unreachable by the API producer.
... Post-Conditions: none
GET reach an unreachable notification endpoint
Check HTTP Response Status Code Is 422
Check HTTP Response Body Json Schema Is ProblemDetails
PUT Notification endpoint - Method Not Implemented
[Documentation] Test ID: 5.3.6.5.4
... Test title: PUT Notification endpoint - Method Not Implemented
... Test objective: The objective is to test the PUT method for Notification Endpoint provided by the consumer is not implemented.
... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription.
... Reference: Clause 10.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_Notif_Endpoint
... Applicability: none
... Post-Conditions: none
PUT notification endpoint
Check HTTP Response Status Code Is 405
PATCH Notification endpoint - Method Not Implemented
[Documentation] Test ID: 5.3.6.5.5
... Test title: PATCH Notification endpoint - Method Not Implemented
... Test objective: The objective is to test the PATCH method for Notification Endpoint provided by the consumer is not implemented.
... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription.
... Reference: Clause 10.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_Notif_Endpoint
... Applicability: none
... Post-Conditions: none
PATCH notification endpoint
Check HTTP Response Status Code Is 405
DELETE Notification endpoint - Method Not Implemented
[Documentation] Test ID: 5.3.6.5.6
... Test title: DELETE Notification endpoint - Method Not Implemented
... Test objective: The objective is to test the DELETE method for Notification Endpoint provided by the consumer is not implemented.
... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription.
... Reference: Clause 10.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_Notif_Endpoint
... Applicability: none
... Post-Conditions: none
DELETE notification endpoint
Check HTTP Response Status Code Is 405
\ No newline at end of file
*** Variables ***
${NFVO_HOST} localhost # Hostname of the NFVO
${NFVO_PORT} 8081 # Listening port of the NFVO
${NFVO_SCHEMA} https
${AUTHORIZATION_HEADER} Authorization
${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42
${ACCEPT_JSON} application/json
${AUTH_USAGE} 1
${CONTENT_TYPE_JSON} application/json
${NEG_AUTHORIZATION} Bearer negativetoken
${NFVO_FIELDS} 1
${CONTENT_TYPE_PATCH} application/merge-patch+json
${original_etag} 1234
${invalid_etag} 4321
${apiRoot} /
${apiMajorVersion} v1
${apiName} nfvici
${NFVO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint
${NFVO_ALLOWS_DUPLICATE_SUBS} 1
${PAGING_SUPPORTED} 1
${response} httpresponse
${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar
${callback_uri} http://localhost
${callback_port} 9091
${callback_endpoint} /endpoint
${callback_endpoint_fwd} /endpoint/check
${callback_endpoint_error} /endpoint_404
${sleep_interval} 20s
${total_polling_time} 2 min
${polling_interval} 10 sec
${new_callback_uri} http://newcallbackuri/for/modifications
${unreachable_callback_uri} http://unreachable/endpoint
${notification_request} []
${notification_response} []
${NFVO_non-MANO_OK} 1 # If 1 means that non-MANO artifacts are supported by the NFVO
${non_mano_artifact_sets}
${subscriptionId} f3ae6df7-07e1-47c9-8924-9ebe10343586
${erroneousSubscriptionId} 442e3ee5-0499-4849-9b31-eb91ce1638f1 # Not existing ID on the subscriptions
${newSubscriptionId} newSubsciptionId
${origResponse} httpresponse
${filter_ok} callbackUri=http://172.22.1.7:9091/vnfpkgm/subscriptions
${filter_ko} nfvId=f9f130e4-05eb-4082-a676-4c97d13a883d # Not existant filter attribute-based
${SEPERATOR} =
${ACCEPT_PLAIN} text/plain
${CONTENT_TYPE_PLAIN} text/plain
${vnfPkgPlainVNFD} c26ad7fb-072b-48c4-a663-7d71646d9e98 # The VNF Pakcage contains a VNFD which is a Single Plain File
${ACCEPT_ZIP} application/zip
${ACCEPT_OCTET} application/octet-stream
${CONTENT_TYPE_ZIP} application/zip
${vnfPkgZipVNFD} f5b220d4-6177-4ebb-a554-a43311e16075 # The VNF Package contains a VNFD composed by multiple files
${erroneousVnfPkgId} erroneousVnfPackageId # Given ID for vnfPkg not present in database
${vndIdZipVnfd} f5b220d4-6177-4ebb-a554-a43311e16075
${artifactPath} artifactPath
${CONTENT_TYPE_OCTET} application/octet-stream
${NFVO_RANGE_OK} 1 # If 1 means that Range is supported by the NFVO
${range} bytes=0-1023
${full_size} 2000 # Size of the requested artifact to be downloaded via partial downloads
${erroneousRange} bytes=10000000-1000000000 # Requesting a out of range number of bytes
${vnfPackageOctetStreamId} octetStreamPkgId
${vnfdOctetStreamId} octetStreamVnfdId
${vndEncryptedArtifactID} encryptedId
${length} 1024
${POS_FILTER_info} vimId=41fdd38a-3d4c-465c-83e0-f80e014425f8 ,resourceType=VR_COMPUTE # Positive case, suing compiant fields name for filtering get request
${POS_FILTER_threshold} id=41fdd38a-3d4c-465c-83e0-f80e014425f8 # Positive case, suing compiant fields name for filtering get request
${NEG_FILTER} nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8 # Negative case, using wrong name of field
${fields_capacityInfo} timeInterval
${fields_capacityThreshold} subObjectInstanceIds
${VAR_SEPERATOR} &
${callbackResp} localhost
${vimId}
${invalidVimId}
${capacityThreshold}
${invalid_capacityThreshold}
\ No newline at end of file
{
"id": "",
"notificationType": "",
"thresholdId": "",
"timeStamp": "",
"objectInstanceId": "",
"direction": "UP",
"capacityInformation":
{
"resourceType": "VR_COMPUTE",
"capacityMeasurementName": "name",
"totalCapacity": "",
"allocatedCapacity": "",
"availableCapacity": ""
},
"_links":
{
"objectInstance": "",
"threshold": ""
}
}
\ No newline at end of file
{
"callbackUri": "{callback_uri}"
}
\ No newline at end of file
{
"objectInstanceId": "objectInstanceId",
"criteria": [
{
"capacityMetric":
{
"resourceType": "VR_COMPUTE",
"capacityMeasurementName": "string",
"capacityType": "TOTAL"
},
"thresholdType": "SIMPLE"
}
],
"callbackUri": "{callback_uri}"
}
\ No newline at end of file
{
"type": "object",
"description": "This type represents a capacity threshold. It shall comply with the provisions defined in table 10.5.2.8-1.\n",
"required": [
"id",
"objectInstanceId",
"criteria",
"callbackUri",
"_links"
],
"properties": {
"id": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"objectInstanceId": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"subObjectInstanceIds": {
"description": "Identifiers of the sub-object instances of the measured object instance associate with this capacity threshold.\nIf this attribute is absent, measurements are taken for all sub-object instances of the measured object instance.\n",
"type": "array",
"items": {
"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n",
"type": "string"
}
},
"criteria": {
"type": "object",
"description": "This type represents criteria that define a capacity threshold.\nIt shall comply with the provisions defined in table 10.5.3.3-1.\n",
"required": [
"capacityMetric",
"thresholdType"
],
"properties": {
"capacityMetric": {
"description": "Defines the capacity metric for which the threshold applies.\n",
"type": "object",
"required": [
"resourceType",
"capacityMeasurementName",
"capacityType"
],
"properties": {
"resourceType": {
"type": "string",
"description": "The enumeration NfviCapacityResourceTypeEnumeration shall comply with the provisions in table 10.5.4.3-1.\n* VR_COMPUTE: For virtualised compute resource.\n* VR_NETWORK: For virtualised network resource.\n* VR_STORAGE: For virtualised storage resource.\n* HOST_COMPUTE: For host compute resource.\n",
"enum": [
"VR_COMPUTE",
"VR_NETWORK",
"VR_STORAGE",
"HOST_COMPUTE"
]
},
"capacityMeasurementName": {
"description": "Name of the capacity measurement. Different resource types can have different associated capacity measurements,\ntypically associated to different sub-types of the resource type.\n",
"type": "string"
},
"capacityType": {
"description": "The type of capacity for the threshold.\nPermitted values:\n-\tTOTAL: for total capacity.\n-\tALLOCATED: for allocated/used capacity.\n-\tRESERVED: for reserved capacity.\n-\tAVAILABLE: for available capacity.\n",
"type": "string",
"enum": [
"TOTAL",
"ALLOCATED",
"RESERVED",
"AVAILABLE"
]
}
}
},
"thresholdType": {
"description": "Type of capacity threshold. This attribute determines which other attributes are present in the data structure.\nPermitted values:\n-\tSIMPLE: Single-valued static threshold.\nIn the present document, simple thresholds are defined. The definition of additional threshold types is left\nfor future specification.\n",
"type": "string",
"enum": [
"SIMPLE"
]
},
"simpleThresholdDetails": {
"description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n",
"type": "array",
"items": {
"type": "object",
"required": [
"thresholdValue",
"hysteresis"
],
"properties": {
"thresholdValue": {
"description": "The threshold value. Shall be represented as a floating point number.\n",
"type": "number"
},
"hysteresis": {
"description": "The hysteresis of the threshold.\nShall be represented as a non-negative floating point number.\nA notification with crossing direction \"UP\" will be generated if the measured value reaches or\nexceeds \"thresholdValue\" + \"hysteresis\". A notification with crossing direction \"DOWN\" will be\ngenerated if the measured value reaches or undercuts \"thresholdValue\" - \"hysteresis\".\nThe hysteresis is defined to prevent storms of threshold crossing notifications.\nWhen processing a request to create a threshold, implementations should enforce a suitable minimum\nvalue for this attribute (e.g. override the value or reject the request).\n",
"type": "number"
}
}
}
}
}
},
"callbackUri": {
"description": "String formatted according to IETF RFC 3986.\n",
"type": "string",
"format": "uri"
},
"_links": {
"type": "object",
"description": "Links for this resource.\n",
"required": [
"self"
],
"properties": {
"self": {
"description": "This type represents a link to a resource.\n",
"type": "object",
"required": [
"href"
],
"properties": {
"href": {
"description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n",
"type": "string",
"format": "url"
}
}
},
"object": {
"description": "This type represents a link to a resource.\n",
"type": "object",
"required": [
"href"
],
"properties": {
"href": {
"description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n",
"type": "string",
"format": "url"
}
}
}
}
}
}
}
\ No newline at end of file
{
"type": "array",
"items":
{
"type": "object",
"description": "This type represents a capacity threshold. It shall comply with the provisions defined in table 10.5.2.8-1.\n",
"required": [
"id",
"objectInstanceId",
"criteria",
"callbackUri",
"_links"
],
"properties": {
"id": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"objectInstanceId": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"subObjectInstanceIds": {
"description": "Identifiers of the sub-object instances of the measured object instance associate with this capacity threshold.\nIf this attribute is absent, measurements are taken for all sub-object instances of the measured object instance.\n",
"type": "array",
"items": {
"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n",
"type": "string"
}
},
"criteria": {
"type": "object",
"description": "This type represents criteria that define a capacity threshold.\nIt shall comply with the provisions defined in table 10.5.3.3-1.\n",
"required": [
"capacityMetric",
"thresholdType"
],
"properties": {
"capacityMetric": {
"description": "Defines the capacity metric for which the threshold applies.\n",
"type": "object",
"required": [
"resourceType",
"capacityMeasurementName",
"capacityType"
],
"properties": {
"resourceType": {
"type": "string",
"description": "The enumeration NfviCapacityResourceTypeEnumeration shall comply with the provisions in table 10.5.4.3-1.\n* VR_COMPUTE: For virtualised compute resource.\n* VR_NETWORK: For virtualised network resource.\n* VR_STORAGE: For virtualised storage resource.\n* HOST_COMPUTE: For host compute resource.\n",
"enum": [
"VR_COMPUTE",
"VR_NETWORK",
"VR_STORAGE",
"HOST_COMPUTE"
]
},
"capacityMeasurementName": {
"description": "Name of the capacity measurement. Different resource types can have different associated capacity measurements,\ntypically associated to different sub-types of the resource type.\n",
"type": "string"
},
"capacityType": {
"description": "The type of capacity for the threshold.\nPermitted values:\n-\tTOTAL: for total capacity.\n-\tALLOCATED: for allocated/used capacity.\n-\tRESERVED: for reserved capacity.\n-\tAVAILABLE: for available capacity.\n",
"type": "string",
"enum": [
"TOTAL",
"ALLOCATED",
"RESERVED",
"AVAILABLE"
]
}
}
},
"thresholdType": {
"description": "Type of capacity threshold. This attribute determines which other attributes are present in the data structure.\nPermitted values:\n-\tSIMPLE: Single-valued static threshold.\nIn the present document, simple thresholds are defined. The definition of additional threshold types is left\nfor future specification.\n",
"type": "string",
"enum": [
"SIMPLE"
]
},
"simpleThresholdDetails": {
"description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n",
"type": "array",
"items": {
"type": "object",
"required": [
"thresholdValue",
"hysteresis"
],
"properties": {
"thresholdValue": {
"description": "The threshold value. Shall be represented as a floating point number.\n",
"type": "number"
},
"hysteresis": {
"description": "The hysteresis of the threshold.\nShall be represented as a non-negative floating point number.\nA notification with crossing direction \"UP\" will be generated if the measured value reaches or\nexceeds \"thresholdValue\" + \"hysteresis\". A notification with crossing direction \"DOWN\" will be\ngenerated if the measured value reaches or undercuts \"thresholdValue\" - \"hysteresis\".\nThe hysteresis is defined to prevent storms of threshold crossing notifications.\nWhen processing a request to create a threshold, implementations should enforce a suitable minimum\nvalue for this attribute (e.g. override the value or reject the request).\n",
"type": "number"
}
}
}
}
}
},
"callbackUri": {
"description": "String formatted according to IETF RFC 3986.\n",
"type": "string",
"format": "uri"
},
"_links": {
"type": "object",
"description": "Links for this resource.\n",
"required": [
"self"
],
"properties": {
"self": {
"description": "This type represents a link to a resource.\n",
"type": "object",
"required": [
"href"
],
"properties": {
"href": {
"description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n",
"type": "string",
"format": "url"
}
}
},
"object": {
"description": "This type represents a link to a resource.\n",
"type": "object",
"required": [
"href"
],
"properties": {
"href": {
"description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n",
"type": "string",
"format": "url"
}
}
}
}
}
}
}
}
\ No newline at end of file
{
"type": "object",
"description": "This type defines the format of the NFVI capacity information. The type shall comply with the provisions defined\nin Table 10.5.2.4-1.\n",
"required": [
"id",
"vimId",
"capacityInfoPerZone"
],
"properties": {
"id": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"vimId": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"capacityInfoPerZone": {
"description": "Capacity information on a per resource zone basis under control by the associated VIM.\n",
"type": "array",
"items": {
"type": "object",
"description": "This type defines the format of the NFVI capacity information on a per resource zone basis.\nThe type shall comply with the provisions defined in table 10.5.2.5-1.\n",
"required": [
"capacityMeasurements"
],
"properties": {
"resourceZoneId": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"capacityMeasurements": {
"description": "Capacity measurement on a per resource type basis.\n",
"type": "array",
"items": {
"type": "object",
"description": "This type defines the format of the NFVI capacity information on a per resource type basis.\nThe type shall comply with the provisions defined in table 10.5.2.6-1.\n",
"required": [
"resourceType",
"capacityMeasurementName",
"totalCapacity",
"allocatedCapacity",
"availableCapacity"
],
"properties": {
"resourceType": {
"type": "string",
"description": "The enumeration NfviCapacityResourceTypeEnumeration shall comply with the provisions in table 10.5.4.3-1.\n* VR_COMPUTE: For virtualised compute resource.\n* VR_NETWORK: For virtualised network resource.\n* VR_STORAGE: For virtualised storage resource.\n* HOST_COMPUTE: For host compute resource.\n",
"enum": [
"VR_COMPUTE",
"VR_NETWORK",
"VR_STORAGE",
"HOST_COMPUTE"
]
},
"capacityMeasurementName": {
"description": "Name of the capacity measurement. Different resource types can have different associated capacity measurements,\ntypically associated to different sub-types of the resource type.\nThe present document and referred documents do not specify the capacity measurements, thus the capacity\nmeasurement names are not specified in the present document version.\n",
"type": "string"
},
"totalCapacity": {
"description": "The total capacity.\n",
"type": "object"
},
"allocatedCapacity": {
"description": "The allocated/used capacity.\n",
"type": "object"
},
"reservedCapacity": {
"description": "The reserved capacity. Shall be present if the capacity measurement relates to a resource type and\n(and sub-type) that is reservable.\n",
"type": "object"
},
"availableCapacity": {
"description": "The available capacity.\n",
"type": "object"
}
}
}
}
}
}
},
"totalCapacityInfo": {
"type": "object",
"description": "This type defines the format of the NFVI capacity information on a per resource type basis.\nThe type shall comply with the provisions defined in table 10.5.2.6-1.\n",
"required": [
"resourceType",
"capacityMeasurementName",
"totalCapacity",
"allocatedCapacity",
"availableCapacity"
],
"properties": {
"resourceType": {
"type": "string",
"description": "The enumeration NfviCapacityResourceTypeEnumeration shall comply with the provisions in table 10.5.4.3-1.\n* VR_COMPUTE: For virtualised compute resource.\n* VR_NETWORK: For virtualised network resource.\n* VR_STORAGE: For virtualised storage resource.\n* HOST_COMPUTE: For host compute resource.\n",
"enum": [
"VR_COMPUTE",
"VR_NETWORK",
"VR_STORAGE",
"HOST_COMPUTE"
]
},
"capacityMeasurementName": {
"description": "Name of the capacity measurement. Different resource types can have different associated capacity measurements,\ntypically associated to different sub-types of the resource type.\nThe present document and referred documents do not specify the capacity measurements, thus the capacity\nmeasurement names are not specified in the present document version.\n",
"type": "string"
},
"totalCapacity": {
"description": "The total capacity.\n",
"type": "object"
},
"allocatedCapacity": {
"description": "The allocated/used capacity.\n",
"type": "object"
},
"reservedCapacity": {
"description": "The reserved capacity. Shall be present if the capacity measurement relates to a resource type and\n(and sub-type) that is reservable.\n",
"type": "object"
},
"availableCapacity": {
"description": "The available capacity.\n",
"type": "object"
}
}
},
"timeInterval": {
"type": "object",
"description": "This type defines the format of a time interval. The type shall comply with the provisions defined in table 10.5.2.7-1.\n",
"required": [
"aTime"
],
"properties": {
"aTime": {
"description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n",
"format": "date-time"
},
"bTime": {
"description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n",
"format": "date-time"
}
}
}
}
}
\ No newline at end of file
{
"type": "array",
"items":
{
"type": "object",
"description": "This type defines the format of the NFVI capacity information. The type shall comply with the provisions defined\nin Table 10.5.2.4-1.\n",
"required": [
"id",
"vimId",
"capacityInfoPerZone"
],
"properties": {
"id": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"vimId": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"capacityInfoPerZone": {
"description": "Capacity information on a per resource zone basis under control by the associated VIM.\n",
"type": "array",
"items": {
"type": "object",
"description": "This type defines the format of the NFVI capacity information on a per resource zone basis.\nThe type shall comply with the provisions defined in table 10.5.2.5-1.\n",
"required": [
"capacityMeasurements"
],
"properties": {
"resourceZoneId": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"capacityMeasurements": {
"description": "Capacity measurement on a per resource type basis.\n",
"type": "array",
"items": {
"type": "object",
"description": "This type defines the format of the NFVI capacity information on a per resource type basis.\nThe type shall comply with the provisions defined in table 10.5.2.6-1.\n",
"required": [
"resourceType",
"capacityMeasurementName",
"totalCapacity",
"allocatedCapacity",
"availableCapacity"
],
"properties": {
"resourceType": {
"type": "string",
"description": "The enumeration NfviCapacityResourceTypeEnumeration shall comply with the provisions in table 10.5.4.3-1.\n* VR_COMPUTE: For virtualised compute resource.\n* VR_NETWORK: For virtualised network resource.\n* VR_STORAGE: For virtualised storage resource.\n* HOST_COMPUTE: For host compute resource.\n",
"enum": [
"VR_COMPUTE",
"VR_NETWORK",
"VR_STORAGE",
"HOST_COMPUTE"
]
},
"capacityMeasurementName": {
"description": "Name of the capacity measurement. Different resource types can have different associated capacity measurements,\ntypically associated to different sub-types of the resource type.\nThe present document and referred documents do not specify the capacity measurements, thus the capacity\nmeasurement names are not specified in the present document version.\n",
"type": "string"
},
"totalCapacity": {
"description": "The total capacity.\n",
"type": "object"
},
"allocatedCapacity": {
"description": "The allocated/used capacity.\n",
"type": "object"
},
"reservedCapacity": {
"description": "The reserved capacity. Shall be present if the capacity measurement relates to a resource type and\n(and sub-type) that is reservable.\n",
"type": "object"
},
"availableCapacity": {
"description": "The available capacity.\n",
"type": "object"
}
}
}
}
}
}
},
"totalCapacityInfo": {
"type": "object",
"description": "This type defines the format of the NFVI capacity information on a per resource type basis.\nThe type shall comply with the provisions defined in table 10.5.2.6-1.\n",
"required": [
"resourceType",
"capacityMeasurementName",
"totalCapacity",
"allocatedCapacity",
"availableCapacity"
],
"properties": {
"resourceType": {
"type": "string",
"description": "The enumeration NfviCapacityResourceTypeEnumeration shall comply with the provisions in table 10.5.4.3-1.\n* VR_COMPUTE: For virtualised compute resource.\n* VR_NETWORK: For virtualised network resource.\n* VR_STORAGE: For virtualised storage resource.\n* HOST_COMPUTE: For host compute resource.\n",
"enum": [
"VR_COMPUTE",
"VR_NETWORK",
"VR_STORAGE",
"HOST_COMPUTE"
]
},
"capacityMeasurementName": {
"description": "Name of the capacity measurement. Different resource types can have different associated capacity measurements,\ntypically associated to different sub-types of the resource type.\nThe present document and referred documents do not specify the capacity measurements, thus the capacity\nmeasurement names are not specified in the present document version.\n",
"type": "string"
},
"totalCapacity": {
"description": "The total capacity.\n",
"type": "object"
},
"allocatedCapacity": {
"description": "The allocated/used capacity.\n",
"type": "object"
},
"reservedCapacity": {
"description": "The reserved capacity. Shall be present if the capacity measurement relates to a resource type and\n(and sub-type) that is reservable.\n",
"type": "object"
},
"availableCapacity": {
"description": "The available capacity.\n",
"type": "object"
}
}
},
"timeInterval": {
"type": "object",
"description": "This type defines the format of a time interval. The type shall comply with the provisions defined in table 10.5.2.7-1.\n",
"required": [
"aTime"
],
"properties": {
"aTime": {
"description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n",
"format": "date-time"
},
"bTime": {
"description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n",
"format": "date-time"
}
}
}
}
}
}
\ No newline at end of file
{
"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
"type": "object",
"required": [
"status",
"detail"
],
"properties": {
"type": {
"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
"type": "string",
"format": "URI"
},
"title": {
"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
"type": "string"
},
"status": {
"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
"type": "integer"
},
"detail": {
"description": "A human-readable explanation specific to this occurrence of the problem.\n",
"type": "string"
},
"instance": {
"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
"type": "string",
"format": "URI"
}
}
}
\ No newline at end of file
......@@ -13,7 +13,7 @@ POST API Version - Method not implemented
... Test title: POST API version - Method not implemented
... Test objective: The objective is to test that POST method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.7.1
... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
......@@ -25,7 +25,7 @@ GET API Version
... Test title: GET API Version
... Test objective: The objective is to test that GET method successfully return ApiVersionInformation
... Pre-conditions: none
... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.7.1
... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
......@@ -38,7 +38,7 @@ PUT API Version - Method not implemented
... Test title: PUT API Version - Method not implemented
... Test objective: The objective is to test that PUT method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.7.1
... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
......@@ -50,7 +50,7 @@ PATCH API Version - Method not implemented
... Test title: PATCH API Version - Method not implemented
... Test objective: The objective is to test that PATCH method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.7.1
... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
......@@ -62,7 +62,7 @@ DELETE API Version - Method not implemented
... Test title: DELETE API Version - Method not implemented
... Test objective: The objective is to test that DELETE method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.7.1
... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
......@@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented
... Test title: POST API version with apiMajorVerion - Method not implemented
... Test objective: The objective is to test that POST method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.7.1
... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
......@@ -86,7 +86,7 @@ GET API Version with apiMajorVerion
... Test title: GET API Version with apiMajorVerion
... Test objective: The objective is to test that GET method successfully return ApiVersionInformation
... Pre-conditions: none
... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.7.1
... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
......@@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented
... Test title: PUT API Version with apiMajorVerion - Method not implemented
... Test objective: The objective is to test that PUT method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.7.1
... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
......@@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented
... Test title: PATCH API Version with apiMajorVerion - Method not implemented
... Test objective: The objective is to test that PATCH method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.7.1
... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
......@@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented
... Test title: DELETE API Version with apiMajorVerion - Method not implemented
... Test objective: The objective is to test that DELETE method is not implemented
... Pre-conditions: none
... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.7.1
... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
......
*** Settings ***
Library JSONSchemaLibrary schemas/
Resource environment/variables.txt # Generic Parameters
Resource NSDManagementKeywords.robot
Library JSONLibrary
Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false
Library OperatingSystem
*** Test Cases ***
GET Individual NSD Archive Artifact
[Documentation] Test ID: 5.3.1.16.1
... Test title: GET Individual NSD Archive Artifact
... Test objective: The objective is to test the retrieval of an individual NSD Archive artifact
... Pre-conditions: One or more NSD archives are on-boarded to the NFVO.
... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual NSD Archive Artifact
Check HTTP Response Status Code Is 200
GET Individual NSD Archive Artifact with include_signatures parameter
[Documentation] Test ID: 5.3.1.16.2
... Test title: GET Individual NSD Archive Artifact with include_signatures parameter
... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and also contain security certificates when requested with "include_signature" parameter, and perform a validation that returned content is in Zip format
... Pre-conditions: One or more NSD archives are on-boarded to the NFVO.
... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual NSD Archive Artifact with include_signatures parameter
Check HTTP Response Status Code Is 200
Check HTTP Response Header Content-Type Is application/zip
GET Individual NSD Archive Artifact in octet stream format
[Documentation] Test ID: 5.3.1.16.3
... Test title: GET Individual NSD Archive Artifact in octet stream format
... Test objective: The objective is to test the retrieval of an individual NSD Archive 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 NSD archives are on-boarded to the NFVO.
... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: The NFVO cannot determine the content type of the artifact
... Post-Conditions: none
GET Individual NSD Archive Artifact in octet stream format
Check HTTP Response Status Code Is 200
Check HTTP Response Header Content-Type Is application/octet-stream
GET Individual NSD Archive Artifact with Range Request and NFVO supporting Range Requests
[Documentation] Test ID: 5.3.1.16.4
... Test title: GET Individual NSD Archive Artifact with Range Request and NFVO supporting Range Requests
... Test objective: The objective is to test the retrieval of an individual NSD Archive 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 NSD archives are on-boarded to the NFVO.
... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: The NFVO supports range requests to return single range of bytes from the NSD Archive artifact
... Post-Conditions: none
GET Individual NSD Archive 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 NSD Archive Artifact with Range Request and NFVO not supporting Range Requests
[Documentation] Test ID: 5.3.1.16.5
... Test title: GET Individual NSD Archive Artifact with Range Request and NFVO not supporting Range Requests
... Test objective: The objective is to test that the retrieval of an individual NSD archive artifact, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full NSD Archive artifact.
... Pre-conditions: One or more NSD archives are on-boarded to the NFVO.
... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: The NFVO does not support range requests to return single range of bytes from the NSD Archive artifact
... Post-Conditions: none
GET Individual NSD Archive Artifact with Range Request
Check HTTP Response Status Code Is 200
GET Individual NSD Archive Artifact with invalid resource identifier
[Documentation] Test ID: 5.3.1.16.6
... Test title: GET Individual NSD Archive Artifact with invalid resource identifier
... Test objective: The objective is to test that the retrieval of an individual NSD Archive Artifact fails when using an invalid resource identifier
... Pre-conditions: One or more NSD archives are on-boarded to the NFVO.
... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual NSD Archive Artifact with invalid resource identifier
Check HTTP Response Status Code Is 404
Check HTTP Response Body Json Schema Is ProblemDetails
GET Individual NSD Archive Artifact - Not Acceptable
[Documentation] Test ID: 5.3.1.16.7
... Test title: GET Individual NSD Archive Artifact - Not Acceptable
... Test objective: The objective is to test that the retrieval of an individual NSD Archive artifact fails when related request contained an "Accept" header not compatible with the Content type "application/zip" but the "include_signatures" flag was provided
... Pre-conditions: One or more NSD archives are on-boarded to the NFVO.
... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual NSD Archive Artifact with incompatable header
Check HTTP Response Status Code Is 406
Check HTTP Response Body Json Schema Is ProblemDetails
GET Individual NSD Archive Artifact with conflict due to onboarding state
[Documentation] Test ID: 5.3.1.16.8
... GET Individual NSD Archive Artifact with conflict due to onboarding state
... Test objective: The objective is to test that the retrieval of an individual NSD Archive Artifact fails due to a conflict when the NSD 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 NSD archive for which the content is requested is different from ONBOARDED.
... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual NSD Archive Artifact in onboarding state different from ONBOARDED
Check HTTP Response Status Code Is 409
Check HTTP Response Body Json Schema Is ProblemDetails
GET Individual NSD Archive Artifact with invalid Range Request
[Documentation] Test ID: 5.3.1.16.9
... Test title: GET Individual NSD Archive Artifact with invalid Range Request
... Test objective: The objective is to test that the retrieval of an Individual NSD Archive fails when using a range request that does not match any available byte range in the file.
... Pre-conditions: One or more NSD Archives are on-boarded to the NFVO.
... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: The NFVO supports range requests to return single range of bytes from the NSD Archive artifact
... Post-Conditions: none
GET Individual NSD Archive Artifact with invalid Range Request
Check HTTP Response Status Code Is 416
POST Individual NSD Archive Artifact - Method not implemented
[Documentation] Test ID: 5.3.1.16.10
... Test title: POST Individual NSD Archive Artifact - Method not implemented
... Test objective: The objective is to test that POST method is not allowed to create an individual artifact contained in an NSD archive.
... Pre-conditions: none
... Reference: Clause 5.4.4c.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send POST Request for NSD archive Artifact
Check HTTP Response Status Code Is 405
PUT Individual NSD Archive Artifact - Method not implemented
[Documentation] Test ID: 5.3.1.16.11
... Test title: PUT Individual NSD Archive Artifact - Method not implemented
... Test objective: The objective is to test that PUT method is not allowed to modify an Individual NSD Archive artifact
... Pre-conditions: none
... Reference: Clause 5.4.4c.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send PUT Request for Individual NSD Archive Artifact
Check HTTP Response Status Code Is 405
PATCH Individual NSD Archive Artifact - Method not implemented
[Documentation] Test ID: 5.3.1.16.12
... Test title: PATCH Individual NSD Archive Artifact - Method not implemented
... Test objective: The objective is to test that PATCH method is not allowed to update an Individual NSD Archive artifact
... Pre-conditions: none
... Reference: Clause 5.4.4c.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send PATCH Request for Individual NSD Archive Artifact
Check HTTP Response Status Code Is 405
DELETE Individual NSD Archive Artifact - Method not implemented
[Documentation] Test ID: 5.3.1.16.13
... Test title: DELETE Individual NSD Archive Artifact - Method not implemented
... Test objective: The objective is to test that DELETE method is not allowed to delete an Individual NSD Archive artifact
... Pre-conditions: none
... Reference: Clause 5.4.4c.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send DELETE Request for Individual NSD Archive Artifact
Check HTTP Response Status Code Is 405
\ No newline at end of file
......@@ -14,7 +14,7 @@ GET Individual Network Service Descriptor Information
... Test title: GET Individual Network Service Descriptor Information
... Test objective: The objective is to test the retrieval of an individual Network Service Descriptor information and perform a JSON schema validation of the collected data structure
... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO.
... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
......@@ -30,7 +30,7 @@ GET Individual Network Service Descriptor Information with invalid resource iden
... Test title: GET Individual Network Service Descriptor Information with invalid resource identifier
... Test objective: The objective is to test that the retrieval of an individual Network Service Descriptor Information fails when using an invalid resource identifier
... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO.
... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
......@@ -43,7 +43,7 @@ Disable Individual Network Service Descriptor
... Test title: Disable Individual Network Service Descriptor
... Test objective: The objective is to test the disabling of an individual Network Service Descriptor and perform a JSON schema and content validation of the collected data structure
... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in enabled operational state.
... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: The Network Service Descriptor is in operational state DISABLED and usage state is not modified
......@@ -59,7 +59,7 @@ Enable Individual Network Service Descriptor
... Test title: Enable Individual Network Service Descriptor
... Test objective: The objective is to test the enabling of an individual Network Service Descriptor and perform a JSON schema and content validation of the collected data structure
... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in DISABLED operational state (Test ID 5.3.1.2.3).
... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: The Network Service Descriptor is in operational state ENABLED and usage state is not modified
......@@ -74,7 +74,7 @@ Enable Individual Network Service Descriptor with conflict due to operational st
... Test title: Enable Individual Network Service Descriptor with conflict due to operational state ENABLED
... Test objective: The objective is to test that enabling an individual Network Service Descriptor that is already in ENABLED operational state failsand perform a JSON schema validation of the failed operation HTTP response
... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.4).
... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
......@@ -87,7 +87,7 @@ Enable Individual Network Service Descriptor with conflict due to onboarding sta
... Test title: Enable Individual Network Service Descriptor with conflict due to onboarding state
... Test objective: The objective is to test that the retrieval of an Network Service Descriptor fails due to a conflict when the Network Service Descriptor 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: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state. The onboarding state of the Network Service Descriptor for which the enabling is requested is different from ONBOARDED.
... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
......@@ -100,7 +100,7 @@ Enable Individual Network Service Descriptor with HTTP Etag precondition failure
... Test title: Enable Individual Network Service Descriptor with HTTP Etag precondition failure
... Test objective: The objective is to test that the retrieval of an Network Service Descriptor fails due to a precondition failure when using an uncorrect Http Etag identified.
... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.4).
... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
......@@ -112,7 +112,7 @@ DELETE Individual Network Service Descriptor
... Test title: DELETE Individual Network Service Descriptor
... Test objective: The objective is to test the deletion of an individual Network Service Descriptor.
... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in DISABLED operational state and NOT_IN_USE usage state.
... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: The Network Service Descriptor is not available anymore in the NFVO
......@@ -125,7 +125,7 @@ DELETE Individual Network Service Descriptor in operational state ENABLED
... Test title: DELETE Individual Network Service Descriptor in operational state ENABLED
... Test objective: The objective is to test that the deletion of an individual Network Service Descriptor in operational state ENABLED fails. The test also performs a JSON schema validation of the failed operation HTTP response.
... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.4).
... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: The Network Service Descriptor is not deleted by the failed operation.
......@@ -139,7 +139,7 @@ POST Individual Network Service Descriptor - Method not implemented
... Test title: POST Individual Network Service Descriptor - Method not implemented
... Test objective: The objective is to test that POST method is not allowed to create a new Network Service Descriptor
... Pre-conditions: none
... Reference: Clause 5.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Reference: Clause 5.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
......@@ -151,7 +151,7 @@ PUT Individual Network Service Descriptor - Method not implemented
... Test title: PUT Individual Network Service Descriptor - Method not implemented
... Test objective: The objective is to test that PUT method is not allowed to modify a new Network Service Descriptor
... Pre-conditions: none
... Reference: Clause 5.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v2.7.1
... Reference: Clause 5.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
......
*** Settings ***
Library JSONSchemaLibrary schemas/
Resource environment/variables.txt # Generic Parameters
Resource NSDManagementKeywords.robot
Library JSONLibrary
Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false
Library OperatingSystem
*** Test Cases ***
GET Individual PNFD Archive Artifact
[Documentation] Test ID: 5.3.1.17.1
... Test title: GET Individual PNFD Archive Artifact
... Test objective: The objective is to test the retrieval of an individual PNFD Archive artifact
... Pre-conditions: One or more PNFD archives are on-boarded in the NFVO.
... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual PNFD Archive Artifact
Check HTTP Response Status Code Is 200
GET Individual PNFD Archive Artifact with include_signatures parameter
[Documentation] Test ID: 5.3.1.17.2
... Test title: GET Individual PNFD Archive Artifact with include_signatures parameter
... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and also contain security certificates when requested with "include_signature" parameter, and perform a validation that returned content is in Zip format
... Pre-conditions: One or more PNFD archives are on-boarded to the NFVO.
... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual PNFD Archive Artifact with include_signatures parameter
Check HTTP Response Status Code Is 200
Check HTTP Response Header Content-Type Is application/zip
GET Individual PNFD Archive Artifact in octet stream format
[Documentation] Test ID: 5.3.1.17.3
... Test title: GET Individual PNFD Archive Artifact in octet stream format
... Test objective: The objective is to test the retrieval of an individual PNFD Archive 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 PNFD archives are on-boarded to the NFVO.
... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: The NFVO cannot determine the content type of the artifact
... Post-Conditions: none
GET Individual PNFD Archive Artifact in octet stream format
Check HTTP Response Status Code Is 200
Check HTTP Response Header Content-Type Is application/octet-stream
GET Individual PNFD Archive Artifact with Range Request and NFVO supporting Range Requests
[Documentation] Test ID: 5.3.1.17.4
... Test title: GET Individual PNFD Archive Artifact with Range Request and NFVO supporting Range Requests
... Test objective: The objective is to test the retrieval of an individual PNFD Archive 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 PNFD archives are on-boarded in the NFVO.
... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: The NFVO supports range requests to return single range of bytes from the PNFD Archive artifact
... Post-Conditions: none
GET Individual PNFD Archive 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 PNFD Archive Artifact with Range Request and NFVO not supporting Range Requests
[Documentation] Test ID: 5.3.1.17.5
... Test title: GET Individual PNFD Archive Artifact with Range Request and NFVO not supporting Range Requests
... Test objective: The objective is to test that the retrieval of an individual PNFD archive artifact, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full PNFD Archive artifact.
... Pre-conditions: One or more PNFD archives are on-boarded in the NFVO.
... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: The NFVO does not support range requests to return single range of bytes from the PNFD Archive artifact
... Post-Conditions: none
GET Individual PNFD Archive Artifact with Range Request
Check HTTP Response Status Code Is 200
GET Individual PNFD Archive Artifact with invalid resource identifier
[Documentation] Test ID: 5.3.1.17.6
... Test title: GET Individual PNFD Archive Artifact with invalid resource identifier
... Test objective: The objective is to test that the retrieval of an individual PNFD Archive Artifact fails when using an invalid resource identifier
... Pre-conditions: One or more PNFD archives are on-boarded in the NFVO.
... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual PNFD Archive Artifact with invalid resource identifier
Check HTTP Response Status Code Is 404
Check HTTP Response Body Json Schema Is ProblemDetails
GET Individual PNFD Archive Artifact - Not Acceptable
[Documentation] Test ID: 5.3.1.17.7
... Test title: GET Individual PNFD Archive Artifact - Not Acceptable
... Test objective: The objective is to test that the retrieval of an individual PNFD Archive artifact fails when related request contained an "Accept" header not compatible with the Content type "application/zip" but the "include_signatures" flag was provided
... Pre-conditions: One or more PNFD archives are on-boarded to the NFVO.
... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual PNFD Archive Artifact with incompatable header
Check HTTP Response Status Code Is 406
Check HTTP Response Body Json Schema Is ProblemDetails
GET Individual PNFD Archive Artifact with conflict due to onboarding state
[Documentation] Test ID: 5.3.1.17.8
... GET Individual PNFD Archive Artifact with conflict due to onboarding state
... Test objective: The objective is to test that the retrieval of an individual PNFD Archive Artifact fails due to a conflict when the PNFD 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 PNFD archive for which the content is requested is different from ONBOARDED.
... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
GET Individual PNFD Archive Artifact in onboarding state different from ONBOARDED
Check HTTP Response Status Code Is 409
Check HTTP Response Body Json Schema Is ProblemDetails
GET Individual PNFD Archive Artifact with invalid Range Request
[Documentation] Test ID: 5.3.1.17.9
... Test title: GET Individual PNFD Archive Artifact with invalid Range Request
... Test objective: The objective is to test that the retrieval of an Individual PNFD Archive fails when using a range request that does not match any available byte range in the file.
... Pre-conditions: One or more PNFD Archives are on-boarded to the NFVO.
... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: The NFVO supports range requests to return single range of bytes from the PNFD Archive artifact
... Post-Conditions: none
GET Individual PNFD Archive Artifact with invalid Range Request
Check HTTP Response Status Code Is 416
Check HTTP Response Body Json Schema Is ProblemDetails
POST Individual PNFD Archive Artifact - Method not implemented
[Documentation] Test ID: 5.3.1.17.10
... Test title: POST Individual PNFD Archive Artifact - Method not implemented
... Test objective: The objective is to test that POST method is not allowed to create an individual artifact contained in an PNFD archive.
... Pre-conditions: none
... Reference: Clause 5.4.7c.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send POST Request for PNFD archive Artifact
Check HTTP Response Status Code Is 405
PUT Individual PNFD Archive Artifact - Method not implemented
[Documentation] Test ID: 5.3.1.17.11
... Test title: PUT Individual PNFD Archive Artifact - Method not implemented
... Test objective: The objective is to test that PUT method is not allowed to modify an Individual PNFD Archive artifact
... Pre-conditions: none
... Reference: Clause 5.4.7c.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send PUT Request for Individual PNFD Archive Artifact
Check HTTP Response Status Code Is 405
PATCH Individual PNFD Archive Artifact - Method not implemented
[Documentation] Test ID: 5.3.1.17.12
... Test title: PATCH Individual PNFD Archive Artifact - Method not implemented
... Test objective: The objective is to test that PATCH method is not allowed to update an Individual PNFD Archive artifact
... Pre-conditions: none
... Reference: Clause 5.4.7c.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send PATCH Request for Individual PNFD Archive Artifact
Check HTTP Response Status Code Is 405
DELETE Individual PNFD Archive Artifact - Method not implemented
[Documentation] Test ID: 5.3.1.17.13
... Test title: DELETE Individual PNFD Archive Artifact - Method not implemented
... Test objective: The objective is to test that DELETE method is not allowed to delete an Individual PNFD Archive artifact
... Pre-conditions: none
... Reference: Clause 5.4.7c.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1
... Config ID: Config_prod_NFVO
... Applicability: none
... Post-Conditions: none
Send DELETE Request for Individual PNFD Archive Artifact
Check HTTP Response Status Code Is 405
\ No newline at end of file