Commit 565d7b62 authored by Giacomo Bernini's avatar Giacomo Bernini
Browse files

merged private stf developments

parents 404a7fce 76b85a6f
Loading
Loading
Loading
Loading
+93 −43
Original line number Original line Diff line number Diff line
@@ -17,21 +17,19 @@ POST Configuration - Method not implemented
    Integer    response status    405
    Integer    response status    405


Get information about a configuration
Get information about a configuration
    Log    Query VNF The GET method queries information about a configuration.
    [Documentation]    Test ID: 9.4.2.2
    Set Headers  {"Accept":"${ACCEPT}"}  
    ...    Test title: Get information about a configuration
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    ...    Test objective: The objective is to test the retrieval of an existing VNF instance configuration
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    ...    Pre-conditions: A VNF instance is up and running. The VNF instance is already configured (Test ID: 9.4.2.1)
    Log    Execute Query and validate response
    ...    Reference: section 9.4.2 - SOL002 v2.4.1
    Get    ${apiRoot}/${apiName}/${apiVersion}/configuration
    ...    Config ID: Config_prod_VNFM
    ${Etag}=    Output    response headers Etag
    ...    Applicability: The VNF supports the generation of HTTP Etag opaque identifiers
    Log    Validate Status code
    ...    Post-Conditions: The VNF configuration is not modified by the operation
    Integer    response status    200
    Get VNF configuration
    ${contentType}=    Output    response headers Content-Type
    Check HTTP Response Status Code Is    200
    Should Contain    ${contentType}    ${CONTENT_TYPE}
    Check HTTP Response Header Contains    Etag
    ${result}=    Output    response body
    Check HTTP Response Body Json Schema Is   vnfConfiguration
    ${json}=    evaluate    json.loads('''${result}''')    json
    Check Postcondition VNF Configuration Untouched
    Validate Json    vnfConfiguration.schema.json    ${json}
    Log    Validation OK


PUT Config - Method not implemented
PUT Config - Method not implemented
    log    Trying to perform a PUT. This method should not be implemented
    log    Trying to perform a PUT. This method should not be implemented
@@ -41,22 +39,59 @@ PUT Config - Method not implemented
    Log    Validate Status code
    Log    Validate Status code
    Integer    response status    405
    Integer    response status    405


PATCH Config
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: 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    
    log    Trying to perform a PATCH. This method modifies the configuration    
    Set Headers  {"Accept":"${ACCEPT}"} 
    Set Headers  {"Accept":"${ACCEPT}"} 
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"} 
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"} 
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    ${body}=    Get File    json/vnfConfigModifications.json
    ${body}=    Get File    json/vnfConfigModifications.json
    Patch    ${apiRoot}/${apiName}/${apiVersion}/configuration    ${body}
    ${response}=    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


PATCH Config - Precondition failed
PATCH Config - Precondition failed
    [Documentation]    Precondition Failed
    [Documentation]    Precondition Failed
@@ -70,18 +105,33 @@ PATCH Config - Precondition failed
    Set Headers    {"If-Match": "${Etag}"}
    Set Headers    {"If-Match": "${Etag}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    ${body}=    Get File    json/vnfConfigModifications.json
    ${body}=    Get File    json/vnfConfigModifications.json
    Patch    ${apiRoot}/${apiName}/${apiVersion}/configuration    ${body}
    ${response}=    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


DELETE Config - Method not implemented
Check HTTP Response Status Code Is
    log    Trying to perform a DELETE. This method should not be implemented
    [Arguments]    ${expected_status}    
    Set Headers  {"Accept":"${ACCEPT}"}  
    Should Be Equal    ${response.status_code}    ${expected_status}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Log    Status code validated
    Delete    ${apiRoot}/${apiName}/${apiVersion}/configuration

    Log    Validate Status code
Check HTTP Response Header Contains
    Integer    response status    405   
    [Arguments]    ${CONTENT_TYPE}
 No newline at end of file
    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}   
+25 −1
Original line number Original line Diff line number Diff line
@@ -17,6 +17,14 @@ POST Alarms - Method not implemented
    Integer    response status    405
    Integer    response status    405


Get information about multiple alarms 
Get information about multiple alarms 
    [Documentation]    Test ID: 7.4.2.1
    ...    Test title: Get information about multiple alarms
    ...    Test objective: The objective is to retrieve information about the alarm list
    ...    Pre-conditions: 
    ...    Reference: section 7.4.2 - SOL002 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
    ...    Post-Conditions:  
    Log    Query VNF The GET method queries information about multiple alarms.
    Log    Query VNF The GET method queries information about multiple alarms.
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
@@ -32,6 +40,14 @@ Get information about multiple alarms
    Log    Validation OK
    Log    Validation OK


Get information about multiple alarms with filters 
Get information about multiple alarms with filters 
    [Documentation]    Test ID: 7.4.2.2
    ...    Test title: Get information about multiple alarms - with filters
    ...    Test objective: The objective is to retrieve information about the alarm list
    ...    Pre-conditions: 
    ...    Reference: section 7.4.2 - SOL002 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
    ...    Post-Conditions: 
    Log    Query VNF The GET method queries information about multiple alarms with filters.
    Log    Query VNF The GET method queries information about multiple alarms with filters.
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
@@ -47,6 +63,14 @@ Get information about multiple alarms with filters
    Log    Validation OK
    Log    Validation OK


Get information about multiple alarms Bad Request Invalid attribute-based filtering parameters
Get information about multiple alarms Bad Request Invalid attribute-based filtering parameters
    [Documentation]    Test ID: 7.4.2.2-1
    ...    Test title: Get information about multiple alarms - with Invalid attribute-based filtering parameters
    ...    Test objective: The objective is to retrieve information about the alarm list
    ...    Pre-conditions: 
    ...    Reference: section 7.4.2 - SOL002 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
    ...    Post-Conditions: 
    Log    Query VNF The GET method queries information about multiple alarm instances.
    Log    Query VNF The GET method queries information about multiple alarm instances.
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"} 
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"} 
+8 −1
Original line number Original line Diff line number Diff line
@@ -6,7 +6,14 @@ Suite Setup Check resource existance


*** Test Cases ***
*** Test Cases ***
Escalate the perceived severity 
Escalate the perceived severity 
    [Documentation]    escalate the perceived severity of an alarm with the VNFM
    [Documentation]    Test ID: 7.4.4.1
    ...    Test title: Escalate the perceived severity
    ...    Test objective: To enable the consumer to escalate the perceived severity of an alarm that is represented by an individual alarm resource.
    ...    Pre-conditions: The resource representing the individual alarm has been created
    ...    Reference: section 7.4.4 - SOL002 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
    ...    Post-Conditions:   
    Log    escalate the perceived severity of an alarm with the VNFM
    Log    escalate the perceived severity of an alarm with the VNFM
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
+33 −10
Original line number Original line Diff line number Diff line
@@ -19,6 +19,14 @@ POST Alarm - Method not implemented
    Integer    response status    405
    Integer    response status    405


Get information about a configuration
Get information about a configuration
    [Documentation]    Test ID: 7.4.3.1
    ...    Test title: Get information about an alarm
    ...    Test objective: The objective is to read an individual alarm.
    ...    Pre-conditions: The related alarm exists
    ...    Reference: section 7.4.3 - SOL002 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
    ...    Post-Conditions:   
    Log    Query VNF The GET method queries information about an alarm.
    Log    Query VNF The GET method queries information about an alarm.
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
@@ -44,7 +52,14 @@ PUT Alarm - Method not implemented
    Integer    response status    405
    Integer    response status    405


PATCH Alarm
PATCH Alarm
    [Documentation]    This method modifies an individual alarm resource
    [Documentation]    Test ID: 7.4.3.2
    ...    Test title: Modify an individual alarm resource
    ...    Test objective: The objective is to Modify an individual alarm resource
    ...    Pre-conditions: The related alarm exists
    ...    Reference: section 7.4.3 - SOL002 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
    ...    Post-Conditions: 
    log    Trying to perform a PATCH. This method modifies an individual alarm resource
    log    Trying to perform a PATCH. This method modifies an individual alarm resource
    Set Headers  {"Accept":"${ACCEPT}"} 
    Set Headers  {"Accept":"${ACCEPT}"} 
    Set Headers  {"Content-Type": "${CONTENT_TYPE_PATCH}"} 
    Set Headers  {"Content-Type": "${CONTENT_TYPE_PATCH}"} 
@@ -62,10 +77,14 @@ PATCH Alarm
    Log    Validation OK
    Log    Validation OK


PATCH Alarm - Conflict
PATCH Alarm - Conflict
    [Documentation]    Conflict
    [Documentation]    Test ID: 7.4.3.2-1
    ...    The operation cannot be executed currently, due to a conflict with the state of the �Individual alarm� resource. 
    ...    Test title: Modify an individual alarm resource - Conflict
    ...    Typically, this is due to the fact that the alarm is already in the state that is requested to be set (such as trying to acknowledge an already-acknowledged alarm). 
    ...    Test objective: The objective is to Modify an individual alarm resource
    ...    The response body shall contain a ProblemDetails structure, in which the �detail� attribute should convey more information about the error.
    ...    Pre-conditions: The related alarm exists
    ...    Reference: section 7.4.3 - SOL002 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
    ...    Post-Conditions: The alarm resource is not modified
    Depends On Test    PATCH Alarm    # If the previous test scceeded, it means that the alarm is in ackownledged state
    Depends On Test    PATCH Alarm    # If the previous test scceeded, it means that the alarm is in ackownledged state
    log    Trying to perform a PATCH. This method modifies an individual alarm resource
    log    Trying to perform a PATCH. This method modifies an individual alarm resource
    Set Headers  {"Accept":"${ACCEPT}"} 
    Set Headers  {"Accept":"${ACCEPT}"} 
@@ -81,10 +100,14 @@ PATCH Alarm - Conflict
    Log    Validation OK
    Log    Validation OK


PATCH Alarm - Precondition failed
PATCH Alarm - Precondition failed
    [Documentation]    Precondition Failed
    [Documentation]    Test ID: 7.4.3.2-1
    ...    A precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, 
    ...    Test title: Modify an individual alarm resource - Precondition failed
    ...    indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, 
    ...    Test objective: The objective is to Modify an individual alarm resource
    ...    in which the �detail� attribute should convey more information about the error.
    ...    Pre-conditions: The related alarm exists
    ...    Reference: section 7.4.3 - SOL002 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
    ...    Post-Conditions: The alarm resource is not modified
    Depends On Test    PATCH Alarm    # If the previous test scceeded, it means that Etag has been modified
    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
    log    Trying to perform a PATCH. This method modifies an individual alarm resource
    Set Headers  {"Accept":"${ACCEPT}"} 
    Set Headers  {"Accept":"${ACCEPT}"} 
+8 −1
Original line number Original line Diff line number Diff line
@@ -19,6 +19,14 @@ Post Individual Subscription - Method not implemented
    Integer    response status    405
    Integer    response status    405


Get Information about an individual subscription
Get Information about an individual subscription
    [Documentation]    Test ID: 7.4.6.1
    ...    Test title: Retrieve the alarm subscriptions
    ...    Test objective: The objective is to read an individual subscription for VNF alarms subscribed by the client
    ...    Pre-conditions: The subscription with the given id exists
    ...    Reference: section 7.4.6 - SOL002 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability:  
    ...    Post-Conditions: 
    log    Trying to get information about an individual subscription
    log    Trying to get information about an individual subscription
    Set Headers    {"Accept":"${ACCEPT}"}  
    Set Headers    {"Accept":"${ACCEPT}"}  
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
@@ -61,7 +69,6 @@ DELETE an individual subscription
    Integer    response status    204
    Integer    response status    204


*** Keywords ***
*** Keywords ***

Check resource existance
Check resource existance
    Set Headers    {"Accept":"${ACCEPT}"}
    Set Headers    {"Accept":"${ACCEPT}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
Loading