From 68422642eca2a1d3080a7dfa56c701c3928db20f Mon Sep 17 00:00:00 2001 From: Benoit Orihuela Date: Fri, 2 Aug 2024 13:35:33 +0200 Subject: [PATCH 1/2] feat: add TCs for q parameter in Query Entities endpoint --- .../Entity/QueryEntities/019_09.robot | 95 +++++++++++++++++++ .../building-simple-attributes-third.jsonld | 29 ++++++ 2 files changed, 124 insertions(+) create mode 100644 TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_09.robot create mode 100644 data/entities/building-simple-attributes-third.jsonld diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_09.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_09.robot new file mode 100644 index 00000000..f8323bd1 --- /dev/null +++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_09.robot @@ -0,0 +1,95 @@ +*** Settings *** +Documentation Check that one can query several entities based on q + +Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource +Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource + +Suite Setup Setup Initial Entities +Suite Teardown Delete Entities +Test Template Query several entities based on q + + +*** 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 *** Q EXPECTED_COUNT +019_09_01 QueryOnName + [Tags] e-query 5_7_2 + name=="Eiffel Tower" 1 +019_09_02 QueryOnNameAndAlmostFullFalse + [Tags] e-query 5_7_2 + name=="Pisa Tower";almostFull==false 1 +019_09_03 QueryOnNameAndAlmostFullTrue + [Tags] e-query 5_7_2 + name=="Pisa Tower";almostFull==false 1 +019_09_04 QueryOnNameOrAlmostFullFalse + [Tags] e-query 5_7_2 + name=="Pisa Tower"|almostFull==false 3 +019_09_05 QueryOnNamesAndAlmostFullFalse + [Tags] e-query 5_7_2 + (name=="Pisa Tower"|name=="Eiffel Tower");almostFull==false 2 +019_09_06 QueryOnAirQualityLevel + [Tags] e-query 5_7_2 + airQualityLevel==4 1 +019_09_07 QueryOnAirQualityLevelRange + [Tags] e-query 5_7_2 + airQualityLevel>=4;airQualityLevel<7 2 +019_09_08 QueryOnLocatedInExisting + [Tags] e-query 5_7_2 + locatedIn==urn:ngsi-ld:City:Pisa 1 +019_09_09 QueryOnLocatedInNonExisting + [Tags] e-query 5_7_2 + locatedIn==urn:ngsi-ld:City:Paris 0 +019_09_10 QueryOnLocatedInTwoCities + [Tags] e-query 5_7_2 + locatedIn==urn:ngsi-ld:City:Pisa|locatedIn==urn:ngsi-ld:City:Paris 1 + + +*** Keywords *** +Query several entities based on q + [Documentation] Check that one can query several entities based on ids + [Arguments] ${q} ${expected_count} + + ${response}= Query Entities + ... q=${q} + ... count=${true} + ... context=${ngsild_test_suite_context} + + Check Response Status Code 200 ${response.status_code} + Check Response Headers Containing NGSILD-Results-Count Equals To ${expected_count} ${response.headers} + +Setup Initial Entities + ${first_entity_id}= Generate Random Entity Id ${building_id_prefix} + Set Suite Variable ${first_entity_id} + ${create_response1}= Create Entity Selecting Content Type + ... building-simple-attributes.jsonld + ... ${first_entity_id} + ... ${CONTENT_TYPE_LD_JSON} + Check Response Status Code 201 ${create_response1.status_code} + + ${second_entity_id}= Generate Random Entity Id ${building_id_prefix} + Set Suite Variable ${second_entity_id} + ${create_response2}= Create Entity Selecting Content Type + ... building-simple-attributes-second.jsonld + ... ${second_entity_id} + ... ${CONTENT_TYPE_LD_JSON} + Check Response Status Code 201 ${create_response2.status_code} + + ${third_entity_id}= Generate Random Entity Id ${building_id_prefix} + Set Suite Variable ${third_entity_id} + ${create_response3}= Create Entity Selecting Content Type + ... building-simple-attributes-third.jsonld + ... ${third_entity_id} + ... ${CONTENT_TYPE_LD_JSON} + Check Response Status Code 201 ${create_response3.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} diff --git a/data/entities/building-simple-attributes-third.jsonld b/data/entities/building-simple-attributes-third.jsonld new file mode 100644 index 00000000..1e3b04ec --- /dev/null +++ b/data/entities/building-simple-attributes-third.jsonld @@ -0,0 +1,29 @@ +{ + "id": "urn:ngsi-ld:Building:randomUUID", + "type": "Building", + "name": { + "type": "Property", + "value": "Pisa Tower" + }, + "subCategory": { + "type": "Property", + "value": "sightseeing" + }, + "airQualityLevel": { + "type": "Property", + "value": 7, + "unitCode": "C62", + "observedAt": "2023-10-10T16:40:00.000Z" + }, + "almostFull": { + "type": "Property", + "value": false + }, + "locatedIn": { + "type": "Relationship", + "object": "urn:ngsi-ld:City:Pisa" + }, + "@context": [ + "https://forge.etsi.org/rep/cim/ngsi-ld-test-suite/-/raw/develop/resources/jsonld-contexts/ngsi-ld-test-suite-compound.jsonld" + ] +} -- GitLab From 51654a1d65b7553c9424d4a175c3b1273306cbe7 Mon Sep 17 00:00:00 2001 From: Benoit Orihuela Date: Fri, 2 Aug 2024 15:28:49 +0200 Subject: [PATCH 2/2] fix PR comments --- .../Consumption/Entity/QueryEntities/019_09.robot | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_09.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_09.robot index f8323bd1..be2eb34b 100644 --- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_09.robot +++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_09.robot @@ -13,8 +13,6 @@ Test Template Query several entities based on q *** 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 @@ -25,7 +23,7 @@ ${entity_type}= https://ngsi-ld-test-suite/context#Building 019_09_02 QueryOnNameAndAlmostFullFalse [Tags] e-query 5_7_2 name=="Pisa Tower";almostFull==false 1 -019_09_03 QueryOnNameAndAlmostFullTrue +019_09_03 QueryOnNameAndAlmostFullFalse [Tags] e-query 5_7_2 name=="Pisa Tower";almostFull==false 1 019_09_04 QueryOnNameOrAlmostFullFalse -- GitLab