Commit 636d0777 authored by Elian Kraja's avatar Elian Kraja
Browse files

Issue #20: unifying test cases for creation of duplicated subscription

parent 3950867d
Loading
Loading
Loading
Loading
+42 −26
Original line number Original line Diff line number Diff line
@@ -20,30 +20,42 @@ Create a new subscription
    Check HTTP Response Body Json Schema Is    FmSubscription
    Check HTTP Response Body Json Schema Is    FmSubscription
    Check resource existence
    Check resource existence


Create a new Subscription - DUPLICATION
# Create a new Subscription - DUPLICATION
     [Documentation]    Test ID: 6.3.4.4.2
     # [Documentation]    Test ID: 6.3.4.4.2
    ...    Test title: Create a new Subscription - DUPLICATION
    # ...    Test title: Create a new Subscription - DUPLICATION
    # ...    Test objective: The objective is to create a duplicate subscription.
    # ...    Pre-conditions: subscription with the same filter and callbackUri exists
    # ...    Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1
    # ...    Config ID: Config_prod_VNFM
    # ...    Applicability: the VNFM does not allow creation of a subscription resource if another subscription resource with the same filter and callbackUri already exists
    # ...    Post-Conditions: duplicated subscription is created
    # Post Create subscription - DUPLICATION
    # Check HTTP Response Status Code Is    201
    # Check HTTP Response Body Json Schema Is    FmSubscription
    
# Create a new Subscription - NO-DUPLICATION
    # [Documentation]    Test ID: 6.3.4.4.3
    # ...    Test title: Create a new Subscription - NO-DUPLICATION
    # ...    Test objective: The objective is to create a subscription in case of not allowed DUPLICATION.
    # ...    Pre-conditions: subscription with the same filter and callbackUri exists
    # ...    Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1
    # ...    Config ID: Config_prod_VNFM
    # ...    Applicability: the VNFM does not allow creation of a duplicate subscription resource 
    # ...    Post-Conditions: duplicated subscription is not created
    # Post Create subscription - DUPLICATION
    # Check HTTP Response Status Code Is    303

Create a duplicated Subscription
     [Documentation]    Test ID: 6.3.4.4.2a
    ...    Test title: Create a duplicated Subscription
    ...    Test objective: The objective is to create a duplicate subscription.
    ...    Test objective: The objective is to create a duplicate subscription.
    ...    Pre-conditions: subscription with the same filter and callbackUri exists
    ...    Pre-conditions: subscription with the same filter and callbackUri exists
    ...    Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1
    ...    Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: the VNFM does not allow creation of a subscription resource if another subscription resource with the same filter and callbackUri already exists
    ...    Applicability: 
    ...    Post-Conditions: duplicated subscription is created
    ...    Post-Conditions: duplicated subscription is created if the IUT allows duplications, otherwise the duplicated subscription is not created
    Post Create subscription - DUPLICATION
    Post Create subscription
    Check HTTP Response Status Code Is    201
    Check Response for duplicated subscription
    Check HTTP Response Body Json Schema Is    FmSubscription
    
Create a new Subscription - NO-DUPLICATION
    [Documentation]    Test ID: 6.3.4.4.3
    ...    Test title: Create a new Subscription - NO-DUPLICATION
    ...    Test objective: The objective is to create a subscription in case of not allowed DUPLICATION.
    ...    Pre-conditions: subscription with the same filter and callbackUri exists
    ...    Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: the VNFM does not allow creation of a duplicate subscription resource 
    ...    Post-Conditions: duplicated subscription is not created
    Post Create subscription - DUPLICATION
    Check HTTP Response Status Code Is    303


GET Subscriptions
GET Subscriptions
    [Documentation]    Test ID: 6.3.4.4.4
    [Documentation]    Test ID: 6.3.4.4.4
@@ -297,7 +309,7 @@ Post Create subscription
	Set Global Variable    ${response}    ${outputResponse}				
	Set Global Variable    ${response}    ${outputResponse}				
Post Create subscription - DUPLICATION
Post Create subscription - DUPLICATION
    Log    Trying to create a subscription with an already created content
    Log    Trying to create a subscription with an already created content
    Pass Execution If    ${VNFM_ALLOWS_DUPLICATE_SUBS} == 0    NVFO is not permitting duplication. Skipping the test
    Pass Execution If    ${VNFM_ALLOWS_DUPLICATE_SUBS} == 0    VNFM is not permitting duplication. Skipping the test
    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}"}
@@ -307,7 +319,7 @@ Post Create subscription - DUPLICATION
	Set Global Variable    ${response}    ${outputResponse}
	Set Global Variable    ${response}    ${outputResponse}
Post Create subscription - NO-DUPLICATION
Post Create subscription - NO-DUPLICATION
    Log    Trying to create a subscription with an already created content
    Log    Trying to create a subscription with an already created content
    Pass Execution If    ${VNFM_ALLOWS_DUPLICATE_SUBS} == 1    VNFM permits duplication. Skipping the test
    Pass Execution If    ${VNFM_ALLOWS_DUPLICATE_SUBS} == 1    VNFM is permitting duplication. Skipping the test
    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}"}
@@ -486,3 +498,7 @@ Check resource existence
    Get    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} 
    Get    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} 
    Integer    response status    200
    Integer    response status    200


Check Response for duplicated subscription
    Run Keyword If    ${VNFM_ALLOWS_DUPLICATE_SUBS} == 1    Check HTTP Response Status Code Is    201
    Run Keyword If    ${VNFM_ALLOWS_DUPLICATE_SUBS} == 1    Check HTTP Response Body Json Schema Is    FmSubscription
    Run Keyword If    ${VNFM_ALLOWS_DUPLICATE_SUBS} == 0    Check HTTP Response Status Code Is    303
+5 −0
Original line number Original line Diff line number Diff line
@@ -613,3 +613,8 @@ Check PostCondition HTTP Response Body Subscriptions Matches the requested attri
    :FOR   ${item}   IN  @{response['body']}
    :FOR   ${item}   IN  @{response['body']}
    Should Contain Match    ${item['filter']['probableCauses']}   ${probableCause}    case_insensitive=True
    Should Contain Match    ${item['filter']['probableCauses']}   ${probableCause}    case_insensitive=True
    END
    END

Check Response for duplicated subscription
    Run Keyword If    ${NFVO_ALLOWS_DUPLICATE_SUBS} == 1    Check HTTP Response Status Code Is    201
    Run Keyword If    ${NFVO_ALLOWS_DUPLICATE_SUBS} == 1    Check HTTP Response Body Json Schema Is    FmSubscription
    Run Keyword If    ${NFVO_ALLOWS_DUPLICATE_SUBS} == 0    Check HTTP Response Status Code Is    303
 No newline at end of file
+36 −21
Original line number Original line Diff line number Diff line
@@ -23,31 +23,45 @@ Create a new alarm subscription
    Check HTTP Response Body Json Schema Is  FmSubscription
    Check HTTP Response Body Json Schema Is  FmSubscription
  
  


Create a new alarm subscription - DUPLICATION
# Create a new alarm subscription - DUPLICATION
     [Documentation]    Test ID: 5.3.3.3.2
     # [Documentation]    Test ID: 5.3.3.3.2
    ...    Test title: Create a new alarm subscription - DUPLICATION
    # ...    Test title: Create a new alarm subscription - DUPLICATION
    ...    Test objective: The objective is to create a new subscription with the NFV allowing duplication and perform a JSON schema and content validation of the returned fault management alarms subscription data structure..
    # ...    Test objective: The objective is to create a new subscription with the NFV allowing duplication and perform a JSON schema and content validation of the returned fault management alarms subscription data structure..
    ...    Pre-conditions: subscription with the same filter and callbackUri exists
    # ...    Pre-conditions: subscription with the same filter and callbackUri exists
    ...    Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1
    # ...    Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO 
    # ...    Config ID: Config_prod_NFVO 
    ...    Applicability: the NFVO allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists
    # ...    Applicability: the NFVO allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists
    ...    Post-Conditions: none
    # ...    Post-Conditions: none
    Post Create subscription - DUPLICATION
    # Post Create subscription - DUPLICATION
    Check HTTP Response Status Code Is    201
    # Check HTTP Response Status Code Is    201
    Check Operation Occurrence Id
    # Check Operation Occurrence Id
    Check HTTP Response Body Json Schema Is  FmSubscription
    # Check HTTP Response Body Json Schema Is  FmSubscription

# Create a new alarm subscription - NO DUPLICATION
    # [Documentation]    Test ID: 5.3.3.3.3
    # ...    Test title: Create a new alarm subscription - NO DUPLICATION
    # ...    Test objective: The objective is to create a new subscription with the NFV not allowing duplication and perform a JSON schema and content validation of the returned fault management alarms subscription data structure.
    # ...    Pre-conditions: subscription with the same filter and callbackUri exists
    # ...    Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1
    # ...    Config ID: Config_prod_NFVO 
    # ...    Applicability: the NFVO decides to not create a duplicate subscription resource 
    # ...    Post-Conditions: none
    # Post Create subscription - NO-DUPLICATION
    # Check HTTP Response Status Code Is    303
    # Check Operation Occurrence Id


Create a new alarm subscription - NO DUPLICATION

    [Documentation]    Test ID: 5.3.3.3.3
Create a duplicated Subscription
    ...    Test title: Create a new alarm subscription - NO DUPLICATION
     [Documentation]    Test ID: 5.3.3.3.2a
    ...    Test objective: The objective is to create a new subscription with the NFV not allowing duplication and perform a JSON schema and content validation of the returned fault management alarms subscription data structure.
    ...    Test title: Create a duplicated alarm subscription
    ...    Test objective: The objective is to create a new subscription with the NFV allowing duplication and perform a JSON schema and content validation of the returned fault management alarms subscription data structure..
    ...    Pre-conditions: subscription with the same filter and callbackUri exists
    ...    Pre-conditions: subscription with the same filter and callbackUri exists
    ...    Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1
    ...    Config ID: Config_prod_NFVO 
    ...    Config ID: Config_prod_NFVO 
    ...    Applicability: the NFVO decides to not create a duplicate subscription resource 
    ...    Applicability: 
    ...    Post-Conditions: none
    ...    Post-Conditions: none
    Post Create subscription - NO-DUPLICATION
    POST Subscription
    Check HTTP Response Status Code Is    303
    Check Response for duplicated subscription
    Check Operation Occurrence Id
    Check Operation Occurrence Id


Retrieve a list of alarm subscriptions
Retrieve a list of alarm subscriptions
@@ -286,3 +300,4 @@ Retrieve a list of alarm subscriptions with filter "filter.probableCauses"
    Check HTTP Response Status Code Is    200
    Check HTTP Response Status Code Is    200
    Check HTTP Response Body Json Schema Is    FmSubscriptions
    Check HTTP Response Body Json Schema Is    FmSubscriptions
    Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses"
    Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses"