Commit 2d156760 authored by Benoit Orihuela's avatar Benoit Orihuela
Browse files

Merge branch 'feature/add-tc-with-multiple-entity-selectors-for-post-query' into 'develop'

feat: add TCs for POST queries with multiple entities selectors

See merge request !154
parents aba8e1a3 f505c51f
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -22,9 +22,10 @@ ${entity_type}= https://ngsi-ld-test-suite/context#Building
    [Documentation]    Check that one can query one entity via POST Interaction based on id
    [Documentation]    Check that one can query one entity via POST Interaction based on id
    [Tags]    e-query    5_7_2
    [Tags]    e-query    5_7_2
    @{entities_ids_to_be_compared}=    Create List    ${first_entity_id}
    @{entities_ids_to_be_compared}=    Create List    ${first_entity_id}
    ${entity_selector}=    Create Dictionary    id=${first_entity_id}    type=${entity_type}
    @{entities}=    Create List    ${entity_selector}
    ${response}=    Query Entities Via POST
    ${response}=    Query Entities Via POST
    ...    entity_id=${first_entity_id}
    ...    entities=${entities}
    ...    entity_type=${entity_type}
    Check Response Status Code    200    ${response.status_code}
    Check Response Status Code    200    ${response.status_code}
    Check Response Body Containing List Containing Entity Elements
    Check Response Body Containing List Containing Entity Elements
    ...    ${expectation_filename}
    ...    ${expectation_filename}
+3 −1
Original line number Original line Diff line number Diff line
@@ -25,8 +25,10 @@ ${vehicle_entity_type}= https://ngsi-ld-test-suite/context#Vehicle
    [Documentation]    Check that one can query several entities via POST Interaction based on the entity type
    [Documentation]    Check that one can query several entities via POST Interaction based on the entity type
    [Tags]    e-query    5_7_2
    [Tags]    e-query    5_7_2
    ${entities_ids_to_be_compared}=    Create List    ${first_vehicle_entity_id}    ${second_vehicle_entity_id}
    ${entities_ids_to_be_compared}=    Create List    ${first_vehicle_entity_id}    ${second_vehicle_entity_id}
    ${entity_selector}=    Create Dictionary    type=${vehicle_entity_type}
    @{entities}=    Create List    ${entity_selector}
    ${response}=    Query Entities Via POST
    ${response}=    Query Entities Via POST
    ...    entity_type=${vehicle_entity_type}
    ...    entities=${entities}
    ...    accept=${CONTENT_TYPE_LD_JSON}
    ...    accept=${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    200    ${response.status_code}
    Check Response Status Code    200    ${response.status_code}
    Check Response Body Containing List Containing Entity Elements With Different Types
    Check Response Body Containing List Containing Entity Elements With Different Types
+3 −2
Original line number Original line Diff line number Diff line
@@ -23,9 +23,10 @@ ${entity_id_pattern}= urn:ngsi-ld:Building:.*
    [Documentation]    Check that one can query several entities via POST Interaction based on the given id pattern
    [Documentation]    Check that one can query several entities via POST Interaction based on the given id pattern
    [Tags]    e-query    5_7_2
    [Tags]    e-query    5_7_2
    @{entities_ids_to_be_compared}=    Create List    ${first_entity_id}    ${second_entity_id}
    @{entities_ids_to_be_compared}=    Create List    ${first_entity_id}    ${second_entity_id}
    ${entity_selector}=    Create Dictionary    idPattern=${entity_id_pattern}    type=${entity_type}
    @{entities}=    Create List    ${entity_selector}
    ${response}=    Query Entities Via POST
    ${response}=    Query Entities Via POST
    ...    entity_id_pattern=${entity_id_pattern}
    ...    entities=${entities}
    ...    entity_type=${entity_type}
    Check Response Status Code    200    ${response.status_code}
    Check Response Status Code    200    ${response.status_code}
    Check Response Body Containing List Containing Entity Elements
    Check Response Body Containing List Containing Entity Elements
    ...    ${expectation_filename}
    ...    ${expectation_filename}
+3 −1
Original line number Original line Diff line number Diff line
@@ -25,8 +25,10 @@ ${parking_entity_type}= https://ngsi-ld-test-suite/context#OffStreetParking
    [Documentation]    Check that one can query entities via POST Interaction asking for a GeoJSON representation
    [Documentation]    Check that one can query entities via POST Interaction asking for a GeoJSON representation
    [Tags]    e-query    5_7_2
    [Tags]    e-query    5_7_2
    ${entity_types_to_be_retrieved}=    Catenate    SEPARATOR=,    ${vehicle_entity_type}    ${parking_entity_type}
    ${entity_types_to_be_retrieved}=    Catenate    SEPARATOR=,    ${vehicle_entity_type}    ${parking_entity_type}
    ${entity_selector}=    Create Dictionary    type=${entity_types_to_be_retrieved}
    @{entities}=    Create List    ${entity_selector}
    ${response}=    Query Entities Via POST
    ${response}=    Query Entities Via POST
    ...    entity_type=${entity_types_to_be_retrieved}
    ...    entities=${entities}
    ...    accept=${CONTENT_TYPE_GEOJSON}
    ...    accept=${CONTENT_TYPE_GEOJSON}
    ...    context=${ngsild_test_suite_context}
    ...    context=${ngsild_test_suite_context}
    Check Response Status Code    200    ${response.status_code}
    Check Response Status Code    200    ${response.status_code}
+64 −0
Original line number Original line Diff line number Diff line
*** Settings ***
Documentation       Check that one can query two entities via POST Interaction based on ids

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

Suite Setup         Create Entities
Suite Teardown      Delete Entities


*** Variables ***
${building_id_prefix}=      urn:ngsi-ld:Building:
${filename}=                building-minimal.jsonld
${expectation_filename}=    building-minimal.json
${entity_type}=             https://ngsi-ld-test-suite/context#Building


*** Test Cases ***
019_02_06 Query two entities via POST Interaction based on ids
    [Documentation]    Check that one can query two entities via POST Interaction based on ids
    [Tags]    e-query    5_7_2
    @{entities_ids_to_be_compared}=    Create List    ${first_entity_id}    ${second_entity_id}
    ${first_entity_selector}=    Create Dictionary    id=${first_entity_id}    type=${entity_type}
    ${second_entity_selector}=    Create Dictionary    id=${second_entity_id}    type=${entity_type}
    @{entities}=    Create List    ${first_entity_selector}    ${second_entity_selector}
    ${response}=    Query Entities Via POST
    ...    entities=${entities}
    Check Response Status Code    200    ${response.status_code}
    Check Response Body Containing List Containing Entity Elements
    ...    ${expectation_filename}
    ...    ${entities_ids_to_be_compared}
    ...    ${response.json()}


*** Keywords ***
Create Entities
    ${first_entity_id}=    Generate Random Entity Id    ${building_id_prefix}
    Set Suite Variable    ${first_entity_id}
    ${response}=    Create Entity Selecting Content Type
    ...    ${filename}
    ...    ${first_entity_id}
    ...    ${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    201    ${response.status_code}
    ${second_entity_id}=    Generate Random Entity Id    ${building_id_prefix}
    Set Suite Variable    ${second_entity_id}
    ${response}=    Create Entity Selecting Content Type
    ...    ${filename}
    ...    ${second_entity_id}
    ...    ${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    201    ${response.status_code}
    ${third_entity_id}=    Generate Random Entity Id    ${building_id_prefix}
    Set Suite Variable    ${third_entity_id}
    ${response}=    Create Entity Selecting Content Type
    ...    ${filename}
    ...    ${third_entity_id}
    ...    ${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    201    ${response.status_code}

Delete Entities
    Delete Entity by Id    ${first_entity_id}
    Delete Entity by Id    ${second_entity_id}
    Delete Entity by Id    ${third_entity_id}
Loading