Commit db060a03 authored by Giacomo Bernini's avatar Giacomo Bernini
Browse files

Merge branch 'master' into 'master'

Master

See merge request !30
parents 0df92ec7 f9e60421
Loading
Loading
Loading
Loading
+38 −38
Original line number Diff line number Diff line
@@ -9,124 +9,124 @@ Library JSONSchemaLibrary schemas/


*** Test Cases ***
Create a new subscription
Create new Virtualised Resources Quota Available Notification subscription
    [Documentation]    Test ID: 7.3.7.1.1
    ...    Test title: Create a new subscription related to the availability of the virtualised resources quotas
    ...    Test title: Create new Virtualised Resources Quota Available Notification subscription
    ...    Test objective: The objective is to create a new subscription.
    ...    Pre-conditions: no subscription with the same filter and callbackUri exists
    ...    Reference: section 11.4.2.3.1 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none
    Do Post subscription
    Send Post request for new Virtualised Resources Quota Available Notification subscription
    Check HTTP Response Status Code Is    201
    Check HTTP Response Header Contains    Location
    Check HTTP Response Header ContentType is    ${CONTENT_TYPE}
    Check HTTP Response Body Json Schema Is    VrQuotaAvailSubscription.schema.json
    Check HTTP Response Header ContentType is    application/json
    Check HTTP Response Body Json Schema Is    VrQuotaAvailSubscription
    

Create a new Subscription - DUPLICATION
Create new Virtualised Resources Quota Available Notification subscription - DUPLICATION
    [Documentation]    Test ID: 7.3.7.1.2
    ...    Test title: Create a new resource quota subscription - DUPLICATION
    ...    Test title: Create new Virtualised Resources Quota Available Notification subscription - DUPLICATION
    ...    Test objective: The objective is to create a new subscription.
    ...    Pre-conditions: subscription with the same filter and callbackUri exists
    ...    Reference: section 11.4.2.3.1 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: the VNFM allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists
    ...    Post-Conditions: none
    Do Post subscription - DUPLICATION
    Send Post request for new Virtualised Resources Quota Available Notification subscription - DUPLICATION
    Check HTTP Response Status Code Is    201
    Check HTTP Response Header Contains    Location
    Check HTTP Response Header ContentType is    ${CONTENT_TYPE}
    Check HTTP Response Body Json Schema Is    VrQuotaAvailSubscription.schema.json
    Check HTTP Response Header ContentType is    application/json
    Check HTTP Response Body Json Schema Is    VrQuotaAvailSubscription
    
Create a new Subscription - NO-DUPLICATION
Create new Virtualised Resources Quota Available Notification subscription - NO-DUPLICATION
    [Documentation]    Test ID: 7.3.7.1.3
    ...    Test title: Create a new resource quota subscription - NO DUPLICATION
    ...    Test title: Create new Virtualised Resources Quota Available Notification subscription - NO-DUPLICATION
    ...    Test objective: The objective is to create a new subscription.
    ...    Pre-conditions: subscription with the same filter and callbackUri exists
    ...    Reference: section 11.4.2.3.1 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: the VNFM decides to not create a duplicate subscription resource 
    ...    Post-Conditions: none
    Do Post subscription - NO-DUPLICATION
    Send Post request for new Virtualised Resources Quota Available Notification subscription - NO-DUPLICATION
    Check HTTP Response Status Code Is    303
    Check HTTP Response Header Contains    Location

GET Subscriptions
GET Virtualised Resources Quota Available Notification Subscriptions
    [Documentation]    Test ID: 7.3.7.1.4
    ...    Test title: Retrieve a list of resource quota subscriptions
    ...    Test title: GET Virtualised Resources Quota Available Notification Subscriptions 
    ...    Test objective: The objective is to retrieve the list of active subscriptions
    ...    Pre-conditions: none
    ...    Reference: section 11.4.2.3.2 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability:  none
    ...    Post-Conditions: none
    Do Get Subscriptions
    GET Virtualised Resources Quota Available Notification Subscriptions
    Check HTTP Response Status Code Is    200
    Check HTTP Response Body Json Schema Is   subscriptions.schema.json
    Check HTTP Response Body Json Schema Is   subscriptions

GET Subscription - Filter
GET Virtualised Resources Quota Available Notification Subscriptions with attribute-based Filter
    [Documentation]    Test ID: 7.3.7.1.5
    ...    Test title: Retrieve a list of resource quota subscriptions
    ...    Test title: GET Virtualised Resources Quota Available Notification Subscriptions with attribute-based Filter
    ...    Test objective: The objective is to retrieve the list of active subscriptions with filter
    ...    Pre-conditions: none
    ...    Reference: section 11.4.2.3.2 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability:  none
    ...    Post-Conditions: none
    Do Get Subscriptions - Filter
    GET Virtualised Resources Quota Available Notification Subscriptions with Filter
    Check HTTP Response Status Code Is    200
    Check HTTP Response Body Json Schema Is    VrQuotaAvailSubscriptions.schema.json
    Check HTTP Response Body Json Schema Is    VrQuotaAvailSubscriptions
    
GET subscriptions - Bad Request Invalid attribute-based filtering parameters
GET Virtualised Resources Quota Available Notification subscriptions - Bad Request Invalid attribute-based filtering parameters
    [Documentation]    Test ID: 7.3.7.1.6
    ...    Test title: Retrieve a list of resource quota subscriptions
    ...    Test title: GET Virtualised Resources Quota Available Notification subscriptions - Bad Request Invalid attribute-based filtering parameters
    ...    Test objective: The objective is to retrieve the list of active subscriptions with Invalid attribute-based filtering parameters
    ...    Pre-conditions: none
    ...    Reference: section 11.4.2 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none 
    ...    Post-Conditions: none
    DO Get subscriptions - Bad Request Invalid attribute-based filtering parameters 
    Get Virtualised Resources Quota Available Notification subscriptions with Bad Request Invalid attribute-based filtering parameters 
    Check HTTP Response Status Code Is    400
    Check HTTP Response Header ContentType is  ${CONTENT_TYPE}
    Check HTTP Response Body Json Schema Is    ProblemDetails.schema.json
    Check HTTP Response Header ContentType is  application/json
    Check HTTP Response Body Json Schema Is    ProblemDetails
    
PUT subscriptions - Method not implemented
PUT Virtualised Resources Quota Available Notification subscriptions - Method not implemented
    [Documentation]    Test ID: 7.3.7.1.7
    ...    Test title: Put  Subscriptions - Method not implemented
    ...    Test objective: The objective is to test that PUT method is not allowed to update  existing subscriptions instance on NFV 
    ...    Test title: PUT Virtualised Resources Quota Available Notification subscriptions - Method not implemented
    ...    Test objective: The objective is to test that PUT method is not allowed to update  existing subscriptions instance on VNF 
    ...    Pre-conditions: A NFV instance is instantiated
    ...    Reference:  section 11.4.3.3.4 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none
    Do Put subscription   
    Send Put request for Virtualised Resources Quota Available Notification subscription   
    Check HTTP Response Status Code Is    405

PATCH subscriptions - Method not implemented
PATCH Virtualised Resources Quota Available Notification subscriptions - Method not implemented
    [Documentation]    Test ID: 7.3.7.1.8
    ...    Test title: Patch Subscriptions - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not allowed to modify subscriptions instance on NFV 
    ...    Test title: PATCH Virtualised Resources Quota Available Notification subscriptions - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not allowed to modify subscriptions instance on VNF 
    ...    Pre-conditions: A NFV instance is instantiated
    ...    Reference:  section 11.4.3.3.4 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none
    Do Patch subscription   
    Send Patch request for Virtualised Resources Quota Available Notification subscription   
    Check HTTP Response Status Code Is    405

DELETE subscriptions - Method not implemented
DELETE Virtualised Resources Quota Available Notification subscriptions - Method not implemented
    [Documentation]    Test ID: 7.3.7.1.9
    ...    Test title: Patch Individual Subscription - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not allowed to delete  subscriptions instance on NFV 
    ...    Test title: DELETE Virtualised Resources Quota Available Notification subscriptions - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not allowed to delete  subscriptions instance on VNF 
    ...    Pre-conditions: A NFV instance is instantiated
    ...    Reference:  section 11.4.3.3.5 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none
    Do Delete subscription   
    Send Delete request for Virtualised Resources Quota Available Notification subscription   
    Check HTTP Response Status Code Is    405

    
 No newline at end of file
+19 −13
Original line number Diff line number Diff line
@@ -5,10 +5,15 @@ Library JSONLibrary
Library    JSONSchemaLibrary    schemas/
Library    OperatingSystem
#Suite Teardown    Terminate All Processes    kill=true

Library    MockServerLibrary
Library    Process

*** Keywords ***
Create Sessions
    Start Process  java  -jar  ${MOCK_SERVER_JAR}  -serverPort  ${callback_port}  alias=mockInstance
    Wait For Process  handle=mockInstance  timeout=5s  on_timeout=continue
    Create Mock Session  ${callback_uri}:${callback_port} 
    
Check Individual Subscription existance
    Set Headers    {"Accept":"${ACCEPT}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
@@ -27,7 +32,8 @@ Check HTTP Response Header Contains
    Log    Header is present    
    
Check HTTP Response Body Json Schema Is
    [Arguments]    ${schema}
    [Arguments]    ${input}
    ${schema} =    Catenate    ${input}    .schema.json
    Validate Json    ${schema}    ${response[0]['body']}
    Log    Json Schema Validation OK
    
@@ -77,7 +83,7 @@ Do Delete an individual subscription
    ${outputResponse}=    Output    response 
    Set Global Variable    @{response}    ${outputResponse}
    
Do Post subscription
 Send Post request for new Virtualised Resources Quota Available Notification subscription 
    Log    Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
@@ -87,7 +93,7 @@ Do Post subscription
    ${outputResponse}=    Output    response 
    Set Global Variable    @{response}    ${outputResponse}
    
Do Post subscription - DUPLICATION
 Send Post request for new Virtualised Resources Quota Available Notification subscription - DUPLICATION
    Log    Trying to create a subscription with an already created content
    Pass Execution If    ${NFVO_DUPLICATION} == 0    NVFO is not permitting duplication. Skipping the test
    Set Headers    {"Accept": "${ACCEPT}"}
@@ -98,7 +104,7 @@ Do Post subscription - DUPLICATION
    ${outputResponse}=    Output    response 
    Set Global Variable    @{response}    ${outputResponse}
    
Do Post subscription - NO-DUPLICATION
Send Post request for new Virtualised Resources Quota Available Notification subscription - NO-DUPLICATION
    Log    Trying to create a subscription with an already created content
    Pass Execution If    ${NFVO_DUPLICATION} == 1    VNFM permits duplication. Skipping the test
    Set Headers    {"Accept": "${ACCEPT}"}
@@ -109,7 +115,7 @@ Do Post subscription - NO-DUPLICATION
    ${outputResponse}=    Output    response 
    Set Global Variable    @{response}    ${outputResponse}
    
Do Get Subscriptions
GET Virtualised Resources Quota Available Notification Subscriptions
    Log    Get the list of active subscriptions
    Set Headers  {"Accept":"${ACCEPT}"} 
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
@@ -118,7 +124,7 @@ Do Get Subscriptions
    ${outputResponse}=    Output    response 
    Set Global Variable    @{response}    ${outputResponse}
     
Do Get Subscriptions - Filter
GET Virtualised Resources Quota Available Notification Subscriptions with Filter
    Log    Get the list of active subscriptions
    Set Headers  {"Accept":"${ACCEPT}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
@@ -127,7 +133,7 @@ Do Get Subscriptions - Filter
    ${outputResponse}=    Output    response 
    Set Global Variable    @{response}    ${outputResponse}
    
DO Get subscriptions - Bad Request Invalid attribute-based filtering parameters    
Get Virtualised Resources Quota Available Notification subscriptions with Bad Request Invalid attribute-based filtering parameters    
     Log    Get the list of active subscriptions using an invalid filter
    Set Headers    {"Accept": "${ACCEPT}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
@@ -135,7 +141,7 @@ DO Get subscriptions - Bad Request Invalid attribute-based filtering parameters
    ${outputResponse}=    Output    response 
    Set Global Variable    @{response}    ${outputResponse}
    
Do Put subscription
Send Put request for Virtualised Resources Quota Available Notification subscription 
    log    Trying to perform a PUT. This method should not be implemented
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
@@ -144,8 +150,8 @@ Do Put subscription
    ${outputResponse}=    Output    response 
    Set Global Variable    @{response}    ${outputResponse} 
    
Do Patch subscription
    log    Trying to perform a PUT. This method should not be implemented
Send Patch request for Virtualised Resources Quota Available Notification subscription
    log    Trying to perform a Patch. This method should not be implemented
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
@@ -153,8 +159,8 @@ Do Patch subscription
    ${outputResponse}=    Output    response 
    Set Global Variable    @{response}    ${outputResponse}  
    
Do Delete subscription
    log    Trying to perform a PUT. This method should not be implemented
Send Delete request for Virtualised Resources Quota Available Notification subscription
    log    Trying to perform a Delete. This method should not be implemented
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}