Commit 9f8a515c authored by Patricia dos Santos Oliveira's avatar Patricia dos Santos Oliveira
Browse files

Merge branch 'feature/implement-test-cases-for-create-subscription' into 'develop'

Feature/implement test cases for create subscription

See merge request cim/ngsi-ld-test-suite!66
parents c6600a26 9b5859f1
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that you can create a subscription
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource

*** Variable ***
${subscription_id_prefix}=  urn:ngsi-ld:Subscription:
${subscription_payload_file_path}=   subscriptions/subscription-sample.jsonld

*** Test Cases ***
Create Subscription   
    [Documentation]  Check that you can create a subscription
    [Tags]  sub-create    5_8_1

    ${subscription_id}=     Generate Random Entity Id    ${subscription_id_prefix}

    Create Subscription  ${subscription_id}     ${subscription_payload_file_path}   ${CONTENT_TYPE_LD_JSON}
    
    ${created_subscription}=    Load Test Sample    ${subscription_payload_file_path}      ${subscription_id}
    Retrieve Subscription    ${subscription_id}     context=${ngsild_test_suite_context}
    Check Created Resource Set To     ${created_subscription}

    [Teardown]    Delete Subscription     ${subscription_id}
 No newline at end of file
+22 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that you cannot create a subscription with an invalid request
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource

Test Template  Create Subscription With Invalid Request

*** Test Cases ***                           FILENAME                         
031_02_01_InvalidJson                        subscription-invalid-json-sample.jsonld            
031_02_02_EmptyJson                          subscription-empty-sample.jsonld    

*** Keywords ***
Create Subscription With Invalid Request
    [Arguments]  ${filename}
    [Documentation]  Check that you cannot create a subscription with an invalid request
    [Tags]   sub-create    5_8_1

    Create Subscription From File   ${filename}

    Check RL Response Status Code Set To Expected Code    400
    Check RL Response Body Containing ProblemDetails Element Containing Type Element set to      ${response}     ${ERROR_TYPE_BAD_REQUEST_DATA}
    Check RL Response Body Containing ProblemDetails Element Containing Title Element    ${response}
 No newline at end of file
+28 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that you cannot create a subscription with an invalid/empty id
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource

Test Template  Create Subscription With Invalid/Empty Id

*** Variables ***
${subscription_payload_file_path}=  subscriptions/subscription-sample.jsonld

*** Test Cases ***               ID                         
031_03_01_InvalidId              invalidId       
031_03_02_EmptyId                ${EMPTY}   

*** Keywords ***
Create Subscription With Invalid/Empty Id
    [Arguments]  ${subscription_id}
    [Documentation]  Check that you cannot create a subscription with an invalid/empty id
    [Tags]   sub-create    5_8_1

    ${response}=  Create Subscription  ${subscription_id}     ${subscription_payload_file_path}    ${CONTENT_TYPE_LD_JSON}
    
    Check Response Status Code  400    ${response['status']}
    Check Response Body Containing ProblemDetails Element Containing Type Element set to      ${response}     ${ERROR_TYPE_BAD_REQUEST_DATA}
    Check Response Body Containing ProblemDetails Element Containing Title Element    ${response}

    [Teardown]    Delete Subscription     ${subscription_id}
 No newline at end of file
+26 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that you cannot create a subscription with an existing id
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource

*** Variable ***
${subscription_id_prefix}=  urn:ngsi-ld:Subscription:
${subscription_payload_file_path}=   subscriptions/subscription-sample.jsonld

*** Test Case ***
Create a subscription with an id known to the system
    [Documentation]  Check that you cannot create a subscription with an existing id
    [Tags]   sub-create    5_8_1

    ${subscription_id}=     Generate Random Entity Id    ${subscription_id_prefix}
    Create Subscription  ${subscription_id}     ${subscription_payload_file_path}    ${CONTENT_TYPE_LD_JSON}
    
    ${response}=  Create Subscription  ${subscription_id}     ${subscription_payload_file_path}    ${CONTENT_TYPE_LD_JSON}

    Check Response Status Code  409    ${response['status']}
    Check Response Body Containing ProblemDetails Element Containing Type Element set to      ${response}     ${ERROR_TYPE_ALREADY_EXISTS}
    Check Response Body Containing ProblemDetails Element Containing Title Element    ${response}

    [Teardown]    Delete Subscription     ${subscription_id}
+2 −0
Original line number Diff line number Diff line
{
}
 No newline at end of file
Loading