Skip to content
Snippets Groups Projects
Commit 5b71d37c authored by Giacomo Bernini's avatar Giacomo Bernini
Browse files

upd documentation

parent f5bfed6c
No related branches found
No related tags found
No related merge requests found
......@@ -9,7 +9,8 @@ Library DependencyLibrary
*** Variables ***
${Etag}= an etag
${Etag_modified}= a modified etag
${Etag_modified}= 12345
${response}= httpresponse
*** Test Cases ***
POST Configuration - Method not implemented
......@@ -21,29 +22,19 @@ POST Configuration - Method not implemented
Integer response status 405
Get information about a configuration
[Documentation] Test ID: 9.4.2.1
[Documentation] Test ID: 9.4.2.2
... Test title: Get information about a configuration
... Test objective: The objective is to read configuration information about a VNF instance and/or its VNFC instances
... Pre-conditions:
... Test objective: The objective is to test the retrieval of an existing VNF instance configuration
... Pre-conditions: A VNF instance is up and running. The VNF instance is already configured (Test ID: 9.4.2.1)
... Reference: section 9.4.2 - SOL002 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability:
... Post-Conditions:
Log Query VNF The GET method queries information about a configuration.
Set Headers {"Accept":"${ACCEPT}"}
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
Log Execute Query and validate response
Get ${apiRoot}/${apiName}/${apiVersion}/configuration
${Etag}= Output response headers Etag
Log Validate Status code
Integer response status 200
${contentType}= Output response headers Content-Type
Should Contain ${contentType} ${CONTENT_TYPE}
${result}= Output response body
${json}= evaluate json.loads('''${result}''') json
Validate Json vnfConfiguration.schema.json ${json}
Log Validation OK
... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers
... Post-Conditions: The VNF configuration is not modified by the operation
Get VNF configuration
Check HTTP Response Status Code Is 200
Check HTTP Response Header Contains Etag
Check HTTP Response Body Json Schema Is vnfConfiguration
Check Postcondition VNF Configuration Untouched
PUT Config - Method not implemented
log Trying to perform a PUT. This method should not be implemented
......@@ -53,40 +44,61 @@ PUT Config - Method not implemented
Log Validate Status code
Integer response status 405
PATCH Config
[Documentation] Test ID: 9.4.2.2
... Test title: Set or modify a configuration resource
... Test objective: The objective is to set or modify a configuration resource
... Pre-conditions: A VNF instance and its VNFC instances exist
Set new VNF Configuration
[Documentation] Test ID: 9.4.2.1
... Test title: Set a new VNF Configuration
... Test objective: The objective is to test the creation of a new VNF configuration
... Pre-conditions: A VNF instance is up and running
... Reference: section 9.4.2 - SOL002 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers
... Post-Conditions: The VNF configuration is set
Send VNF configuration
Check HTTP Response Status Code Is 200
Check HTTP Response Header Contains Etag
Check HTTP Response Body Json Schema Is vnfConfiModifications
Check Postcondition VNF Is Configured
Set new VNF Configuration - HTTP Etag precondition failed
[Documentation] Test ID: 9.4.2.3
... Test title: Set a new VNF Configuration - HTTP Etag precondition failed
... Test objective: The objective is to test the failure in setting a duplication of VNF configuration identified by an already used HTTP Etag identifier.
... Pre-conditions: A VNF instance is up and running. The VNF instance is already configured (Test ID: 9.4.2.1) with a given HTTP Etag identifier.
... Reference: section 9.4.2 - SOL002 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability:
... Post-Conditions: Configuration of the VNF instance and/or its VNFC instances has been set
... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers
... Post-Conditions: The VNF configuration is not modified by the operation
Send Duplicated VNF configuration
Check HTTP Response Status Code Is 412
Check HTTP Response Body Json Schema Is ProblemDetails
Check Postcondition VNF Configuration Untouched
DELETE Config - Method not implemented
log Trying to perform a DELETE. This method should not be implemented
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
Delete ${apiRoot}/${apiName}/${apiVersion}/configuration
Log Validate Status code
Integer response status 405
*** Keywords ***
Get VNF configuration
Log Query VNF The GET method queries information about a configuration.
Set Headers {"Accept":"${ACCEPT}"}
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
Log Execute Query and validate response
${response}= Get ${apiRoot}/${apiName}/${apiVersion}/configuration
Send VNF configuration
log Trying to perform a PATCH. This method modifies the configuration
Set Headers {"Accept":"${ACCEPT}"}
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
${body}= Get File json/vnfConfigModifications.json
Patch ${apiRoot}/${apiName}/${apiVersion}/configuration ${body}
Log Validate Status code
${Etag_modified}= Output response headers Etag
Integer response status 200
${contentType}= Output response headers Content-Type
Should Contain ${contentType} ${CONTENT_TYPE}
${result}= Output response body
${json}= evaluate json.loads('''${result}''') json
Validate Json vnfConfigModifications.schema.json ${json}
Log Validation OK
${response}= Patch ${apiRoot}/${apiName}/${apiVersion}/configuration ${body}
PATCH Config - Precondition failed
[Documentation] Test ID: 9.4.2.2-1
... Test title: Set or modify a configuration resource - Precondition failed
... Test objective: The objective is to set or modify a configuration resource, but a precondition given in an HTTP request header is not fulfilled
... Pre-conditions: A VNF instance and its VNFC instances exist, ETag modified in the meanwhile
... Reference: section 9.4.2 - SOL002 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability:
... Post-Conditions:
Send Duplicated VNF configuration
Depends On Test PATCH Alarm # If the previous test scceeded, it means that Etag has been modified
log Trying to perform a PATCH. This method modifies an individual alarm resource
Set Headers {"Accept":"${ACCEPT}"}
......@@ -94,18 +106,33 @@ PATCH Config - Precondition failed
Set Headers {"If-Match": "${Etag}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
${body}= Get File json/vnfConfigModifications.json
Patch ${apiRoot}/${apiName}/${apiVersion}/configuration ${body}
Log Validate Status code
Integer response status 412
${problemDetails}= Output response body
${json}= evaluate json.loads('''${problemDetails}''') json
Validate Json ProblemDetails.schema.json ${json}
Log Validation OK
${response}= Patch ${apiRoot}/${apiName}/${apiVersion}/configuration ${body}
DELETE Config - Method not implemented
log Trying to perform a DELETE. This method should not be implemented
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
Delete ${apiRoot}/${apiName}/${apiVersion}/configuration
Log Validate Status code
Integer response status 405
\ No newline at end of file
Check HTTP Response Status Code Is
[Arguments] ${expected_status}
Should Be Equal ${response.status_code} ${expected_status}
Log Status code validated
Check HTTP Response Header Contains
[Arguments] ${CONTENT_TYPE}
Should Contain ${response.headers} ${CONTENT_TYPE}
Log Header is present
Check HTTP Response Body Json Schema Is
[Arguments] ${schema}
${contentType}= Get Value From Json ${response.headers} $..Content-Type
Should Be Equal ${contentType} ${CONTENT_TYPE}
${json}= evaluate json.loads('''${response.body}''') json
Validate Json ${schema} ${json}
Log Json Schema Validation OK
Check Postcondition VNF Configuration Untouched
Log Check Postcondition for GET
#todo
Check Postcondition VNF Is Configured
Log Check Postcondition for PATCH
Get VNF configuration
${output}= evaluate json.loads('''${response.body}''') json
${input}= Get File json/vnfConfigModifications.json
Should Be Equal ${output} ${input}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment