Commit 06fa0b22 authored by Giacomo Bernini's avatar Giacomo Bernini
Browse files

test doc to SOL002 and SOL003 VNF PM

parent e07f0f06
Loading
Loading
Loading
Loading
+85 −65
Original line number Original line Diff line number Diff line
*** Settings ***
*** Settings ***
Documentation     This resource represents subscriptions. The client can use this resource to subscribe to notifications related to VNF
...               performance management and to query its subscriptions.
Library           JSONSchemaLibrary    schemas/
Library           JSONSchemaLibrary    schemas/
Resource          environment/variables.txt    # Generic Parameters
Resource          environment/variables.txt    # Generic Parameters
Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
Library           OperatingSystem
Library           OperatingSystem
Library           JSONLibrary
Library           JSONLibrary
Resource          environment/individualSubscription.txt
Resource          environment/individualSubscription.txt
Resource          VNFPerformanceManagementKeywords.robot


*** Test Cases ***
*** Test Cases ***
GET Individual Subscription
GET Individual VNF Performance Subscription
    [Documentation]    The client can use this method for reading an individual subscription about Performance management notifications
    [Documentation]    Test ID: 7.3.4.7.1
    ...    subscribed by the client.
    ...    Test title: GET Individual VNF Performance Subscription
    ...    This method shall follow the provisions specified in the tables 6.4.8.3.2-1 and 6.4.8.3.2-2 for URI query parameters,
    ...    Test objective: The objective is to test the retrieval of individual VNF performance subscription and perform a JSON schema and content validation of the returned subscription data structure
    ...    request and response data structures, and response codes.
    ...    Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM.
    Set headers    {"Accept": "${ACCEPT_JSON}"}
    ...    Reference:  section 6.4.8.3.2 - SOL002 v2.4.1
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
    ...    Config ID: Config_prod_VNFM
    GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
    ...    Applicability: none
    Integer    response status    200
    ...    Post-Conditions: none
    Log    Received a 200 OK as expected
    Get Individual VNF Performance Subscription
    ${contentType}=    Output    response headers Content-Type
    Check HTTP Response Status Code Is    200
    Should Contain    ${contentType}    application/json
    Check HTTP Response Body Json Schema Is   PmSubscription
    ${result}=    Output    response body
    Check HTTP Response Body Subscription Identifier matches the requested Subscription
    Validate Json    PmSubscription.schema.json    ${result}
    Log    Validated PmSubscription schema


GET Individual Subscription - Negative (Not Found)
GET Individual VNF Performance Subscription with invalid resource identifier
    [Documentation]    The client can use this method for reading an individual subscription about Performance management notifications
    [Documentation]    Test ID: 7.3.4.7.2
    ...    subscribed by the client.
    ...    Test title: GET Individual VNF Performance Subscription with invalid resource identifier
    ...    This method shall follow the provisions specified in the tables 6.4.8.3.2-1 and 6.4.8.3.2-2 for URI query parameters,
    ...    Test objective: The objective is to test that the retrieval of an individual VNF performance subscription fails when using an invalid resource identifier
    ...    request and response data structures, and response codes.
    ...    Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM.
    Set headers    {"Accept": "${ACCEPT_JSON}"}
    ...    Reference: section 6.4.8.3.2 - SOL002 v2.4.1
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
    ...    Config ID: Config_prod_VNFM
    GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${erroneousSubscriptionId}
    ...    Applicability: none
    Integer    response status    404
    ...    Post-Conditions: none
    Log    Received a 404 Not found as expected
    GET individual VNF Performance Subscription with invalid resource identifier
    ${contentType}=    Output    response headers Content-Type
    Check HTTP Response Status Code Is    404
    Should Contain    ${contentType}    application/json
    ${result}=    Output    response body
    Validate Json    ProblemDetails.schema.json    ${result}
    Log    Validated ProblemDetails schema


POST Individual Subscription - (Method not implemented)
DELETE Individual VNF Performance Subscription
    [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
    [Documentation]    Test ID: 7.3.4.7.3
    ...    Not Allowed" response as defined in clause 4.3.5.4.
    ...    Test title: DELETE Individual VNF Performance Subscription
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
    ...    Test objective: The objective is to test the deletion of an individual VNF performance subscription
    POST    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
    ...    Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM.
    Integer    response status    405
    ...    Reference: section 6.4.8.3.5 - SOL002 v2.4.1
    Log    Received 405 Method not implemented as expected
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: The VNF Performance Subscription is not available anymore in the VNFM    
    Send Delete request for individual VNF Performance Subscription
    Check HTTP Response Status Code Is    204
    Check Postcondition VNF Performance Subscription is Deleted


PUT Individual Subscription - (Method not implemented)
DELETE Individual VNF Performance Subscription with invalid resource identifier
    [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
    [Documentation]    Test ID: 7.3.4.7.4
    ...    Not Allowed" response as defined in clause 4.3.5.4.
    ...    Test title: DELETE Individual VNF Performance Subscription with invalid resource identifier
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
    ...    Test objective: The objective is to test that the deletion of an individual VNF performance subscription fails when using an invalid resource identifier
    PUT    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
    ...    Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM.
    Integer    response status    405
    ...    Reference: section 6.4.8.3.5 - SOL002 v2.4.1
    Log    Received 405 Method not implemented as expected
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none   
    Send Delete request for individual VNF Performance Subscription with invalid resource identifier
    Check HTTP Response Status Code Is    404


PATCH Individual Subscription - (Method not implemented)
POST Individual VNF Performance Subscription - Method not implemented
    [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
    [Documentation]    Test ID: 7.3.4.7.5
    ...    Not Allowed" response as defined in clause 4.3.5.4.
    ...    Test title: POST Individual VNF Performance Subscription - Method not implemented
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
    ...    Test objective: The objective is to test that POST method is not allowed to create a new VNF Performance Subscription
    PATCH    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
    ...    Pre-conditions: A VNF instance is instantiated
    Integer    response status    405
    ...    Reference: section 6.4.8.3.1 - SOL002 v2.4.1
    Log    Received 405 Method not implemented as expected
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: The VNF Performance Subscription is not created on the VNFM
    Send Post request for individual VNF Performance Subscription
    Check HTTP Response Status Code Is    405
    Check Postcondition VNF Performance Subscription is not Created


DELETE Individual Subscription - (Method not implemented)
PUT Individual VNF Performance Subscription - Method not implemented
    [Documentation]    This method terminates an individual subscription.
    [Documentation]    Test ID: 7.3.4.7.6
    ...    This method shall follow the provisions specified in the tables 6.4.8.3.5-1 and 6.4.8.3.5-2 for URI query parameters,
    ...    Test title: PUT Individual VNF Performance Subscription - Method not implemented
    ...    request and response data structures, and response codes.
    ...    Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Performance subscription
    Set headers    {"Accept": "${ACCEPT_JSON}"}
    ...    Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM.
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
    ...    Reference: section 6.4.8.3.3 - SOL002 v2.4.1
    DELETE    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
    ...    Config ID: Config_prod_VNFM
    Integer    response status    204
    ...    Applicability: none
    Log    Received a 204 No Content as expected
    ...    Post-Conditions: The VNF Performance subscription is not modified by the operation
    ${body}=    Output    response body
    Send Put request for individual VNF Performance Threshold
    Should Be Empty    ${body}
    Check HTTP Response Status Code Is    405
    Log    Body of the response is empty
    Check Postcondition VNF Performance Subscription is Unmodified (Implicit)

PATCH Individual VNF Performance Subscription - Method not implemented
    [Documentation]    Test ID: 7.3.4.7.7
    ...    Test title: PATCH Individual VNF Performance Subscription - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF Performance subscription
    ...    Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM.
    ...    Reference: section 6.4.8.3.4 - SOL002 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: The VNF Performance subscription is not modified by the operation
    Send Patch request for individual VNF Performance Threshold
    Check HTTP Response Status Code Is    405
    Check Postcondition VNF Performance Subscription is Unmodified (Implicit)
 No newline at end of file
+134 −162

File changed.

Preview size limit exceeded, changes collapsed.

+345 −0

File added.

Preview size limit exceeded, changes collapsed.

+3 −1
Original line number Original line Diff line number Diff line
*** Variables ***
*** Variables ***
${subscriptionId}    17563e75-0e14-4bd7-94b4-6bbb869c79aa
${subscriptionId}    17563e75-0e14-4bd7-94b4-6bbb869c79aa
${erroneousSubscriptionId}    erroneousSubscriptionId
${erroneousSubscriptionId}    erroneousSubscriptionId
${response}=    httpresponse
${newSubscriptionId}    newSubsciptionId
${response}    httpresponse
${origResponse}    httpresponse
 No newline at end of file
+6 −2
Original line number Original line Diff line number Diff line
*** Variables ***
*** Variables ***
${filter_ok}      callbackUri=http://localhost/subscriptions
${callbackUri}    http://172.22.1.7:9091/vnfpm/subscriptions
${filter_ok}      callbackUri=${callbackUri}
${filter_ko}      erroneousFilter=erroneous
${filter_ko}      erroneousFilter=erroneous
${response}=    httpresponse
${total_polling_time}   2 min
${polling_interval}     10 sec
${response}    httpresponse
Loading