019_02_02.robot 2.93 KB
Newer Older
root's avatar
root committed
*** Settings ***
Documentation    Check that you can query several entities via POST Interaction based on the entities types
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource

*** Variable ***
${building_id_prefix}=  urn:ngsi-ld:Building:
${vehicle_id_prefix}=  urn:ngsi-ld:Vehicle:
root's avatar
root committed
${parking_id_prefix}=  urn:ngsi-ld:OffStreetParking:
root's avatar
root committed
${building_filename}=  building-minimal-sample.jsonld
${vehicle_filename}=  vehicle-simple-attributes-sample.jsonld
root's avatar
root committed
${parking_filename}=  parking-simple-attributes-sample.jsonld
lopesg's avatar
lopesg committed
${expectation_filename}=  two-types-vehicle-offstreetparking-expectation.jsonld
${building_entity_type}=  https://ngsi-ld-test-suite/context#Building
${vehicle_entity_type}=  https://ngsi-ld-test-suite/context#Vehicle
${parking_entity_type}=  https://ngsi-ld-test-suite/context#OffStreetParking
root's avatar
root committed

*** Test Cases ***                                                 
lopesg's avatar
lopesg committed
Query several entities via POST Interaction based on the entities types
root's avatar
root committed
    [Documentation]  Check that you can query several entities via POST Interaction based on the entities types
lopesg's avatar
lopesg committed
    [Tags]  e-query    5_7_2
root's avatar
root committed

    ${building_entity_id}=     Generate Random Entity Id    ${building_id_prefix}
    ${request}    ${response}=    Create Entity Selecting Content Type  ${building_filename}     ${building_entity_id}    ${CONTENT_TYPE_LD_JSON}
    Check Response Status Code  201    ${response['status']}
    ${vehicle_entity_id}=     Generate Random Entity Id    ${vehicle_id_prefix}
    ${request}    ${response}=    Create Entity Selecting Content Type  ${vehicle_filename}     ${vehicle_entity_id}    ${CONTENT_TYPE_LD_JSON}
    Check Response Status Code  201    ${response['status']}
root's avatar
root committed
    ${parking_entity_id}=     Generate Random Entity Id    ${parking_id_prefix}
    ${request}    ${response}=    Create Entity Selecting Content Type  ${parking_filename}     ${parking_entity_id}    ${CONTENT_TYPE_LD_JSON}
    Check Response Status Code  201    ${response['status']}
    @{entity_types_to_be_compared}=  Create List    ${vehicle_entity_type}    ${parking_entity_type}
    ${entity_types_to_be_retrieved}=  Catenate    SEPARATOR=,   ${vehicle_entity_type}    ${parking_entity_type}
root's avatar
root committed
    ${response}=    Query Entities Via POST    entity_types=${entity_types_to_be_retrieved}
    Check Response Status Code  200    ${response['status']}
    Check Response Body Containing List Containing Entity elements    ${expectation_filename}    ${entity_types_to_be_compared}    ${response['body']}
lopesg's avatar
lopesg committed
    [Teardown]  Delete Entities    ${building_entity_id}    ${vehicle_entity_id}    ${parking_entity_id}
root's avatar
root committed

*** Keywords ***
Delete Entities
root's avatar
root committed
    [Arguments]  ${building_entity_id}    ${vehicle_entity_id}    ${parking_entity_id}
root's avatar
root committed
    Delete Entity by Id Returning Response   ${building_entity_id}
root's avatar
root committed
    Delete Entity by Id Returning Response   ${vehicle_entity_id}
    Delete Entity by Id Returning Response   ${parking_entity_id}