Skip to content
046_09.robot 2.98 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.receiverInfo 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
${subscription_id_prefix}               urn:ngsi-ld:Subscription:
${subscription_payload_file_path}       subscriptions/subscription-building-entities-active-endpoint-info.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
lopezaguilar's avatar
lopezaguilar committed
046_09_01 Check that a notification is sent to the endpoint
    [Documentation]    A Notification shall be sent (as mandated by each concrete binding and including any optional endpoint.receiverInfo defined by clause 5.2.22) to the endpoint specified by the endpoint.uri member of the notification structure defined by clause 5.2.1
    [Tags]    sub-notification    5_8_6
    ${response}=    Update Entity Attributes    ${entity_id}    ${fragment_filename}    ${CONTENT_TYPE_LD_JSON}
lopezaguilar's avatar
lopezaguilar committed
    ${notification}    ${headers}=    Wait for notification    timeout=${10}
    Dictionary Should Contain Key    ${headers}    X-Additional-Key
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}

Arnaud Van der Poorten's avatar
Arnaud Van der Poorten committed
Setup Initial Subscriptions
Gert De Tant @ Sirus's avatar
Gert De Tant @ Sirus committed
    ${subscription_id}=    Generate Random Entity Id    ${subscription_id_prefix}
lopezaguilar's avatar
lopezaguilar committed
    ${entity_id}=    Generate Random Entity Id    ${building_id_prefix}
    ${subscription_payload}=    Load Subscription Sample With Reachable Endpoint
    ...    ${subscription_payload_file_path}
    ...    ${subscription_id}
    ...    ${notification_server_send_url}
Arnaud Van der Poorten's avatar
Arnaud Van der Poorten committed
    ${subscription_payload}=    Set Entity Id In Subscription    ${subscription_payload}    ${entity_id}
lopezaguilar's avatar
lopezaguilar committed
    Set Suite Variable    ${entity_id}
Gert De Tant @ Sirus's avatar
Gert De Tant @ Sirus committed
    Set Suite Variable    ${subscription_id}

lopezaguilar's avatar
lopezaguilar committed
    Create Entity    ${entity_building_filepath}    ${entity_id}
    Sleep    1s
    Create Subscription From Subscription Payload    ${subscription_payload}    ${CONTENT_TYPE_LD_JSON}
    Sleep    1s
Gert De Tant @ Sirus's avatar
Gert De Tant @ Sirus committed

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

lopezaguilar's avatar
lopezaguilar committed
Delete Initial Subscriptions
    Delete Subscription    ${subscription_id}
Arnaud Van der Poorten's avatar
Arnaud Van der Poorten committed

Delete Initial Entity
    Delete Entity by Id    ${entity_id}