Unverified Commit 521e25d4 authored by Benoit Orihuela's avatar Benoit Orihuela
Browse files

feat(pick-omit): add TCs for Subscriptions

parent 6fb1bf7b
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -51,7 +51,8 @@ Query Entities With Pick Or Omit Query Params
    ...    context=${ngsild_test_suite_context}

    Check Response Status Code    200    ${response.status_code}
    Check Response Body Content    ${expectation_filename}    ${response.json()}
    # ignore order since responses do not all have an id member
    Check Response Body Content    ${expectation_filename}    ${response.json()}    ignore_order=True

Setup Initial Entities
    ${first_entity_id}=    Catenate    ${BUILDING_ID_PREFIX}019-17-1
+1 −1
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ Query Temporal Evolution Of Entities With Pick Or Omit Query Params
    [Arguments]    ${pick}    ${omit}    ${expected_filename}    ${group_by}=id

    ${response}=    Query Temporal Representation Of Entities
    ...    entity_types=Building,Vehicle
    ...    entity_types=Bus,Vehicle
    ...    timerel=after
    ...    timeAt=1970-01-01T00:00:00Z
    ...    pick=${pick}
+38 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation       Check that one cannot create a subscription with invalid pick / omit / attrs parameters

Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/JsonUtils.resource

Test Template       Create Subscription With Invalid Pick Omit Attrs Parameters


*** Test Cases ***    FILE_NAME
028_08_01 Subscription With Same Entity Member In Pick And Omit
    [Tags]    sub-create    5_8_1    4_21    since_v1.8.1
    subscriptions/subscription-invalid-same-member-pick-omit.json
028_08_02 Subscription With Pick And Attrs
    [Tags]    sub-create    5_8_1    4_21    since_v1.8.1
    subscriptions/subscription-invalid-pick-and-attributes.json
028_08_03 Subscription With Omit And Attrs
    [Tags]    sub-create    5_8_1    4_21    since_v1.8.1
    subscriptions/subscription-invalid-omit-and-attributes.json


*** Keywords ***
Create Subscription With Invalid Pick Omit Attrs Parameters
    [Documentation]    Check that one cannot create a subscription with with invalid pick / omit / attrs parameters
    [Arguments]    ${file_name}
    ${subscription_id}=    Generate Random Subscription Id
    Set Suite Variable    ${subscription_id}
    ${response}=    Create Subscription
    ...    ${subscription_id}
    ...    ${file_name}
    ...    ${CONTENT_TYPE_JSON}
    ...    context=${ngsild_test_suite_context}
    Check Response Status Code    400    ${response.status_code}
    Check Response Body Containing ProblemDetails Element Containing Type Element set to
    ...    ${response.json()}
    ...    ${ERROR_TYPE_BAD_REQUEST_DATA}
    Check Response Body Containing ProblemDetails Element Containing Title Element    ${response.json()}
+43 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation       Check that the notification contains only the entity members specified in the pick parameter

Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/NotificationUtils.resource
Resource            ${EXECDIR}/resources/SubscriptionUtils.resource

Test Setup          Create Initial Subscription And Entity
Test Teardown       Delete Initial Subscription And Entity


*** Variables ***
${subscription_payload_file_path}=      subscriptions/subscription-building-entities-pick-members.jsonld
${building_filename}=                   building-different-attributes-types.jsonld


*** Test Cases ***
046_42_01 Update Attribute And Check Entity Members In Notification
    [Documentation]    Update an attribute and check the notification contains entity members specified in the pick parameter
    [Tags]    sub-notification    5_8_6    4_21    since_v1.8.1

    ${response}=    Update Entity Attributes    ${entity_id}    name-fragment.jsonld    ${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    204    ${response.status_code}

    ${notification}    ${headers}=    Wait for notification    timeout=${10}

    Should be Equal    ${subscription_id}    ${notification}[subscriptionId]
    Check Notification Containing Entities Elements
    ...    pick-omit/entity-different-attributes-types-pick-members.json
    ...    ${notification}


*** Keywords ***
Create Initial Subscription And Entity
    Create Subscription And Entity    ${subscription_payload_file_path}    ${building_filename}    046_42
    Start Local Server    ${notification_server_host}    ${notification_server_port}

Delete Initial Subscription And Entity
    Delete Subscription    ${subscription_id}
    Delete Entity    ${entity_id}
    Stop Local Server
+43 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation       Check that the notification does not contain the entity members specified in the omit parameter

Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/NotificationUtils.resource
Resource            ${EXECDIR}/resources/SubscriptionUtils.resource

Test Setup          Create Initial Subscription And Entity
Test Teardown       Delete Initial Subscription And Entity


*** Variables ***
${subscription_payload_file_path}=      subscriptions/subscription-building-entities-omit-members.jsonld
${building_filename}=                   building-different-attributes-types.jsonld


*** Test Cases ***
046_43_01 Update Attribute And Check Entity Members In Notification
    [Documentation]    Update an attribute and check the notification does not contain entity members specified in the omit parameter
    [Tags]    sub-notification    5_8_6    4_21    since_v1.8.1

    ${response}=    Update Entity Attributes    ${entity_id}    name-fragment.jsonld    ${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    204    ${response.status_code}

    ${notification}    ${headers}=    Wait for notification    timeout=${10}

    Should be Equal    ${subscription_id}    ${notification}[subscriptionId]
    Check Notification Containing Entities Elements
    ...    pick-omit/entity-different-attributes-types-omit-members.json
    ...    ${notification}


*** Keywords ***
Create Initial Subscription And Entity
    Create Subscription And Entity    ${subscription_payload_file_path}    ${building_filename}    046_43
    Start Local Server    ${notification_server_host}    ${notification_server_port}

Delete Initial Subscription And Entity
    Delete Subscription    ${subscription_id}
    Delete Entity    ${entity_id}
    Stop Local Server
Loading