Skip to content
046_11.robot 3.11 KiB
Newer Older
Gert De Tant @ Sirus's avatar
Gert De Tant @ Sirus committed
*** Settings ***
Documentation       A Notification shall be sent (as mandated by each concrete binding and including any optional endpoint.info defined by clause 5.2.22) to the endpoint specified by the endpoint.uri member of the notification structure defined by clause 5.2.14
Gert De Tant @ Sirus's avatar
Gert De Tant @ Sirus committed

Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/JsonUtils.resource
Resource            ${EXECDIR}/resources/NotificationUtils.resource
Gert De Tant @ Sirus's avatar
Gert De Tant @ Sirus committed

Suite Setup         Before Test
Suite Teardown      After Test
*** Variables ***
${subscription_id_prefix}=              urn:ngsi-ld:Subscription:
${subscription_payload_file_path}=      subscriptions/subscription-building-entities-active.jsonld
${building_id_prefix}=                  urn:ngsi-ld:Building:
${entity_building_filepath}=            building-simple-attributes-sample.jsonld
${fragment_filename}=                   airQualityLevel-fragment.jsonld
${notification_server_send_url}=        http://${notification_server_host}:${notification_server_port}/notify
${date_format}=                         %Y-%m-%dT%H:%M:%SZ
${date_format_with_millis}=             %Y-%m-%dT%H:%M:%S.%fZ


*** Test Cases ***
lopezaguilar's avatar
lopezaguilar committed
046_11_01 Check that timesSent is increased by one
    [Documentation]    The notification.timesSent member shall be incremented by one.
    [Tags]    sub-notification    5_8_6

    Add Initial Entity
    Sleep    1s
    Setup Initial Subscriptions

    Update Entity Attributes    ${entity_id}    ${fragment_filename}    ${CONTENT_TYPE_LD_JSON}

    Wait for notification    timeout=${10}

poujol's avatar
poujol committed
    ${response}=    Retrieve Subscription
lopezaguilar's avatar
lopezaguilar committed
    ...    id=${subscription_id}
    ...    accept=${CONTENT_TYPE_LD_JSON}
    ...    context=${ngsild_test_suite_context}

poujol's avatar
poujol committed
    Dictionary Should Contain Key    ${response.json()}[notification]    timesSent
    Should be Equal    ${1}    ${response.json()}[notification][timesSent]
Gert De Tant @ Sirus's avatar
Gert De Tant @ Sirus committed

*** Keywords ***
lopezaguilar's avatar
lopezaguilar committed
Before Test
    Start Local Server    ${notification_server_host}    ${notification_server_port}

Setup Initial Subscriptions
    ${subscription_id}=    Generate Random Entity Id    ${subscription_id_prefix}
    ${subscription_payload}=    Load Subscription Sample With Reachable Endpoint
    ...    ${subscription_payload_file_path}
    ...    ${subscription_id}
    ...    ${notification_server_send_url}
    ${subscription_payload}=    Set Entity Id In Subscription    ${subscription_payload}    ${entity_id}
    Create Subscription From Subscription Payload    ${subscription_payload}    ${CONTENT_TYPE_LD_JSON}
    Set Suite Variable    ${subscription_id}
Gert De Tant @ Sirus's avatar
Gert De Tant @ Sirus committed

lopezaguilar's avatar
lopezaguilar committed
Add Initial Entity
    ${entity_id}=    Generate Random Entity Id    ${building_id_prefix}
    Create Entity    ${entity_building_filepath}    ${entity_id}
    Set Suite Variable    ${entity_id}
Gert De Tant @ Sirus's avatar
Gert De Tant @ Sirus committed

After Test
    Delete Initial Subscriptions
    Delete Initial Entity
    Stop Local Server
Gert De Tant @ Sirus's avatar
Gert De Tant @ Sirus committed

lopezaguilar's avatar
lopezaguilar committed
Delete Initial Subscriptions
    Delete Subscription    ${subscription_id}
Gert De Tant @ Sirus's avatar
Gert De Tant @ Sirus committed

Delete Initial Entity
    Delete Entity by Id    ${entity_id}