Commit 5dfe45a4 authored by Houcem Kacem's avatar Houcem Kacem
Browse files

feat: add tps for update context source registration subscription

parent aec0ca9f
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that you can update a context source registration subscription
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource

Suite Setup      Setup Initial Context Source Registration Subscriptions
Suite Teardown      Delete Initial Context Source Registration Subscriptions

*** Variable ***
${subscription_id_prefix}=  urn:ngsi-ld:Subscription:
${subscription_payload_file_path}=   csourceSubscriptions/subscription-sample.jsonld
${subscription_update_fragment_file_path}=   csourceSubscriptions/fragments/subscription-update-sample.json

*** Test Case ***
Update Context Source Registration Subscription
    [Documentation]  Check that you can update a context source registration subscription
    [Tags]  mandatory

    ${subscription_update_fragment}=    Load Test Sample    ${subscription_update_fragment_file_path}
    Update Context Source Registration Subscription  ${subscription_id}     ${subscription_update_fragment}

    Check Response Status Code Set To  204

*** Keywords ***
Setup Initial Context Source Registration Subscriptions
    ${subscription_id}=     Generate Random Entity Id    ${subscription_id_prefix}
    ${subscription_payload}=  Load Test Sample    ${subscription_payload_file_path}    ${subscription_id}

    Create Context Source Registration Subscription  ${subscription_payload}

    Set Suite Variable  ${subscription_id}

Delete Initial Context Source Registration Subscriptions
    Delete Context Source Registration Subscription     ${subscription_id}
+20 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that you cannot update a context source registration subscription with an invalid URI
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource

*** Variable ***
${subscription_update_fragment_file_path}=   csourceSubscriptions/fragments/subscription-update-sample.json

*** Test Case ***
Update Context Source Registration Subscription With Invalid Uri
    [Documentation]  Check that you cannot update a context source registration subscription with an invalid URI
    [Tags]  mandatory

    ${subscription_update_fragment}=    Load Test Sample    ${subscription_update_fragment_file_path}
    Update Context Source Registration Subscription  invalidUri     ${subscription_update_fragment}

    Check Response Status Code Set To  400
    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}
+20 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that you cannot update an unknown context source registration subscription
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource

*** Variable ***
${subscription_update_fragment_file_path}=   csourceSubscriptions/fragments/subscription-update-sample.json

*** Test Case ***
Update Unknown Context Source Registration Subscription
    [Documentation]  Check that you cannot update an unknown context source registration subscription
    [Tags]  mandatory

    ${subscription_update_fragment}=    Load Test Sample    ${subscription_update_fragment_file_path}
    Update Context Source Registration Subscription  urn:ngsi-ld:Subscription:unknowSubscription     ${subscription_update_fragment}

    Check Response Status Code Set To  404
    Check Response Body Containing ProblemDetails Element Containing Type Element set to      ${response}     ${ERROR_TYPE_RESOURCE_NOT_FOUND}
    Check Response Body Containing ProblemDetails Element Containing Title Element    ${response}
+41 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that you cannot update a context source registration subscription with a fragment that doesn't meet the data types and restrictions expressed by clause 5.2.12
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource

Test Template  Update Context Source Registration Subscription With Invalid Fragment
Suite Setup      Setup Initial Context Source Registration Subscriptions
Suite Teardown      Delete Initial Context Source Registration Subscriptions

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

*** Test Cases ***                        FILEPATH
InvalidType                               csourceSubscriptions/fragments/subscription-update-invalid-type-sample.json
InvalidNotification                       csourceSubscriptions/fragments/subscription-update-invalid-notification-sample.json

*** Keywords ***
Update Context Source Registration Subscription With Invalid Fragment
    [Arguments]  ${filepath}
    [Documentation]  Check that you cannot update a context source registration subscription with a fragment that doesn't meet the data types and restrictions expressed by clause 5.2.12
    [Tags]  mandatory

    ${subscription_update_fragment}=    Load Test Sample    ${filepath}
    Update Context Source Registration Subscription  ${subscription_id}     ${subscription_update_fragment}

    Check Response Status Code Set To  400
    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}

Setup Initial Context Source Registration Subscriptions
    ${subscription_id}=     Generate Random Entity Id    ${subscription_id_prefix}
    ${subscription_payload}=  Load Test Sample    ${subscription_payload_file_path}    ${subscription_id}

    Create Context Source Registration Subscription  ${subscription_payload}

    Set Suite Variable  ${subscription_id}

Delete Initial Context Source Registration Subscriptions
    Delete Context Source Registration Subscription     ${subscription_id}
+36 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that you cannot update a context source registration subscription with an invalid request body (invalid JSON document)
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource

Suite Setup      Setup Initial Context Source Registration Subscriptions
Suite Teardown      Delete Initial Context Source Registration Subscriptions

*** Variable ***
${subscription_id_prefix}=  urn:ngsi-ld:Subscription:
${subscription_payload_file_path}=   csourceSubscriptions/subscription-sample.jsonld
${subscription_update_fragment_file_path}=   csourceSubscriptions/fragments/subscription-update-invalid-json-sample.json

*** Test Case ***
Update Context Source Registration Subscription With Invalid JSON Fragment
    [Documentation]  Check that you cannot update a context source registration subscription with an invalid request body (invalid JSON document)
    [Tags]  mandatory

    Update Context Source Registration Subscription From File  ${subscription_id}     ${subscription_update_fragment_file_path}

    Check RL Response Status Code Set To  400
    Check RL Response Body Containing ProblemDetails Element Containing Type Element set to      ${response}     ${ERROR_TYPE_INVALID_REQUEST}
    Check RL Response Body Containing ProblemDetails Element Containing Title Element    ${response}

*** Keywords ***
Setup Initial Context Source Registration Subscriptions
    ${subscription_id}=     Generate Random Entity Id    ${subscription_id_prefix}
    ${subscription_payload}=  Load Test Sample    ${subscription_payload_file_path}    ${subscription_id}

    Create Context Source Registration Subscription  ${subscription_payload}

    Set Suite Variable  ${subscription_id}

Delete Initial Context Source Registration Subscriptions
    Delete Context Source Registration Subscription     ${subscription_id}
Loading