Loading TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_02_01.robot 0 → 100644 +144 −0 Original line number Diff line number Diff line *** Settings *** Documentation Verify that the entities found in b2, b3 and b4 can be queried from b1 via Query. Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource Resource ${EXECDIR}/resources/AssertionUtils.resource Resource ${EXECDIR}/resources/JsonUtils.resource Test Setup Setup Initial Context Source Registrations Test Teardown Delete Entities and Delete Registrations *** Variables *** ${location_name_payload_filename} interoperability/offstreet-parking2-location-and-name.jsonld ${first_entity_no_location_payload_filename} interoperability/offstreet-parking1-no-location.jsonld ${second_entity_no_location_payload_filename} interoperability/offstreet-parking2-no-location.jsonld ${first_full_entity_payload_filename} interoperability/offstreet-parking1-full.jsonld ${second_full_entity_payload_filename} interoperability/offstreet-parking2-full.jsonld ${inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-2.jsonld ${first_redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-2.jsonld ${second_redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-3.jsonld ${b1_url} ${b2_url} ${b3_url} ${b4_url} *** Test Cases *** IOP_CNF_02_01 Create Entity In B1 And Query Entity In All Brokers [Documentation] Check that entities can be queried from all brokers. [Tags] 6_3 I6_3_2_1 inclusive redirect interoperability ${response}= Query Entities entity_types=OffstreetParking broker_url=${b1_url} Check Response Status Code 200 ${response.status_code} @{entities_b1}= Set Variable ${response.json()} ${first_payload}= Get From List ${entities_b1} 0 ${second_payload}= Get From List ${entities_b1} 1 Should Not Contain ${first_payload} name Should Not Contain ${second_payload} name ${response}= Query Entities entity_types=OffstreetParking broker_url=${b2_url} @{entities_b2}= Set Variable ${response.json()} ${first_b2_payload}= Get From List ${entities_b2} 0 ${second_b2_payload}= Get From List ${entities_b2} 1 ${response}= Query Entities entity_types=OffstreetParking broker_url=${b3_url} @{entities_b3}= Set Variable ${response.json()} ${b3_payload}= Get From List ${entities_b3} 0 ${response}= Query Entities entity_types=OffstreetParking broker_url=${b4_url} @{entities_b4}= Set Variable ${response.json()} ${b4_payload}= Get From List ${entities_b4} 0 Should Be Equal ${first_payload}[availableSpotsNumber] ${first_b2_payload}[availableSpotsNumber] Should Be Equal ${first_payload}[totalSpotsNumber] ${first_b2_payload}[totalSpotsNumber] Should Be Equal ${first_payload}[location] ${b3_payload}[location] Should Be Equal ${second_payload}[availableSpotsNumber] ${second_b2_payload}[availableSpotsNumber] Should Be Equal ${second_payload}[totalSpotsNumber] ${second_b2_payload}[totalSpotsNumber] Should Be Equal ${second_payload}[location] ${b4_payload}[location] *** Keywords *** Setup Initial Context Source Registrations ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} ${second_entity_id}= Generate Random Parking Entity Id Set Suite Variable ${second_entity_id} ${response}= Create Entity ${first_entity_no_location_payload_filename} ${entity_id} broker_url=${b2_url} Check Response Status Code 201 ${response.status_code} ${response}= Create Entity ${second_entity_no_location_payload_filename} ${second_entity_id} broker_url=${b2_url} Check Response Status Code 201 ${response.status_code} ${response}= Create Entity ${first_full_entity_payload_filename} ${entity_id} broker_url=${b3_url} Check Response Status Code 201 ${response.status_code} ${response}= Create Entity ${second_full_entity_payload_filename} ${second_entity_id} broker_url=${b3_url} Check Response Status Code 201 ${response.status_code} ${response}= Create Entity ${location_name_payload_filename} ${entity_id} broker_url=${b4_url} Check Response Status Code 201 ${response.status_code} ${registration_id1}= Generate Random CSR Id Set Suite Variable ${registration_id1} ${registration_payload}= Prepare Context Source Registration From File ... ${registration_id1} ... ${inclusive_registration_payload_file_path} ... entity_id=${entity_id} ... broker_url=${b2_url} ... mode=inclusive ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id Set Suite Variable ${registration_id2} ${registration_payload}= Prepare Context Source Registration From File ... ${registration_id2} ... ${inclusive_registration_payload_file_path} ... entity_id=${second_entity_id} ... broker_url=${b2_url} ... mode=inclusive ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id Set Suite Variable ${registration_id3} ${registration_payload}= Prepare Context Source Registration From File ... ${registration_id3} ... ${first_redirect_registration_payload_file_path} ... entity_id=${entity_id} ... broker_url=${b3_url} ... mode=redirect ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} Check Response Status Code 201 ${response.status_code} ${registration_id4}= Generate Random CSR Id Set Suite Variable ${registration_id4} ${registration_payload}= Prepare Context Source Registration From File ... ${registration_id4} ... ${first_redirect_registration_payload_file_path} ... entity_id=${second_entity_id} ... broker_url=${b3_url} ... mode=redirect ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} Check Response Status Code 201 ${response.status_code} ${registration_id5}= Generate Random CSR Id Set Suite Variable ${registration_id5} ${registration_payload}= Prepare Context Source Registration From File ... ${registration_id5} ... ${second_redirect_registration_payload_file_path} ... entity_id=${entity_id} ... broker_url=${b4_url} ... mode=redirect ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} Check Response Status Code 201 ${response.status_code} Delete Entities And Delete Registrations Delete Context Source Registration ${registration_id1} broker_url=${b1_url} Delete Context Source Registration ${registration_id2} broker_url=${b1_url} Delete Context Source Registration ${registration_id3} broker_url=${b1_url} Delete Context Source Registration ${registration_id4} broker_url=${b1_url} Delete Context Source Registration ${registration_id5} broker_url=${b1_url} Delete Entity By Id ${entity_id} broker_url=${b2_url} Delete Entity by Id ${second_entity_id} broker_url=${b2_url} Delete Entity By Id ${entity_id} broker_url=${b3_url} Delete Entity By Id ${second_entity_id} broker_url=${b3_url} Delete Entity By Id ${entity_id} broker_url=${b4_url} No newline at end of file data/csourceRegistrations/interoperability/context-source-registration-redirect-2.jsonld 0 → 100644 +22 −0 Original line number Diff line number Diff line { "id": "urn:ngsi-ld:ContextSourceRegistration:Redirect:2", "type": "ContextSourceRegistration", "information": [ { "entities": [ { "type": "OffStreetParking" } ], "propertyNames": [ "location" ] } ], "mode": "redirect", "operations": ["redirectionOps"], "endpoint": "xxx", "@context":[ "https://forge.etsi.org/rep/cim/ngsi-ld-test-suite/-/raw/develop/resources/jsonld-contexts/ngsi-ld-test-suite-compound.jsonld" ] } No newline at end of file data/csourceRegistrations/interoperability/context-source-registration-redirect-3.jsonld 0 → 100644 +23 −0 Original line number Diff line number Diff line { "id": "urn:ngsi-ld:ContextSourceRegistration:Redirect:3", "type": "ContextSourceRegistration", "information": [ { "entities": [ { "type": "OffStreetParking", "id": "urn:ngsi-ld:OffStreetParking:2" } ], "propertyNames": [ "location" ] } ], "mode": "redirect", "operations": ["redirectionOps"], "endpoint": "xxx", "@context":[ "https://forge.etsi.org/rep/cim/ngsi-ld-test-suite/-/raw/develop/resources/jsonld-contexts/ngsi-ld-test-suite-compound.jsonld" ] } No newline at end of file data/entities/interoperability/offstreet-parking1-no-location.jsonld 0 → 100644 +35 −0 Original line number Diff line number Diff line { "id": "urn:ngsi-ld:OffStreetParking:1", "type": "OffStreetParking", "name": { "type": "Property", "value": "Downtown One" }, "availableSpotsNumber": { "type": "Property", "value": 169, "observedAt": "2017-07-29T12:10:02Z", "reliability": { "type": "Property", "value": 0.3 } }, "totalSpotsNumber": { "type": "Property", "value": 200 }, "@context": [ { "OffStreetParking": "https://ngsi-ld-test-suite/context#OffStreetParking", "Vehicle": "https://ngsi-ld-test-suite/context#Vehicle", "availableSpotsNumber": "https://ngsi-ld-test-suite/context#availableSpotsNumber", "brandName": "https://ngsi-ld-test-suite/context#brandName", "isParked": "https://ngsi-ld-test-suite/context#isParked", "name": "https://ngsi-ld-test-suite/context#name", "source": "https://ngsi-ld-test-suite/context#source", "speed": "https://ngsi-ld-test-suite/context#speed", "totalSpotsNumber": "https://ngsi-ld-test-suite/context#totalSpotsNumber" }, "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context-v1.6.jsonld" ] } No newline at end of file data/entities/interoperability/offstreet-parking2-location-and-name.jsonld 0 → 100644 +33 −0 Original line number Diff line number Diff line { "id": "urn:ngsi-ld:OffStreetParking:2", "type": "OffStreetParking", "name": { "type": "Property", "value": "Downtown Two" }, "location": { "type": "GeoProperty", "value": { "type": "Point", "coordinates": [ -8.46, 41.25 ] , "observedAt": "2021-04-04T11:46:00Z" } }, "@context": [ { "OffStreetParking": "https://ngsi-ld-test-suite/context#OffStreetParking", "Vehicle": "https://ngsi-ld-test-suite/context#Vehicle", "availableSpotsNumber": "https://ngsi-ld-test-suite/context#availableSpotsNumber", "brandName": "https://ngsi-ld-test-suite/context#brandName", "isParked": "https://ngsi-ld-test-suite/context#isParked", "name": "https://ngsi-ld-test-suite/context#name", "source": "https://ngsi-ld-test-suite/context#source", "speed": "https://ngsi-ld-test-suite/context#speed", "totalSpotsNumber": "https://ngsi-ld-test-suite/context#totalSpotsNumber" }, "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context-v1.6.jsonld" ] } No newline at end of file Loading
TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_02_01.robot 0 → 100644 +144 −0 Original line number Diff line number Diff line *** Settings *** Documentation Verify that the entities found in b2, b3 and b4 can be queried from b1 via Query. Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource Resource ${EXECDIR}/resources/AssertionUtils.resource Resource ${EXECDIR}/resources/JsonUtils.resource Test Setup Setup Initial Context Source Registrations Test Teardown Delete Entities and Delete Registrations *** Variables *** ${location_name_payload_filename} interoperability/offstreet-parking2-location-and-name.jsonld ${first_entity_no_location_payload_filename} interoperability/offstreet-parking1-no-location.jsonld ${second_entity_no_location_payload_filename} interoperability/offstreet-parking2-no-location.jsonld ${first_full_entity_payload_filename} interoperability/offstreet-parking1-full.jsonld ${second_full_entity_payload_filename} interoperability/offstreet-parking2-full.jsonld ${inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-2.jsonld ${first_redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-2.jsonld ${second_redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-3.jsonld ${b1_url} ${b2_url} ${b3_url} ${b4_url} *** Test Cases *** IOP_CNF_02_01 Create Entity In B1 And Query Entity In All Brokers [Documentation] Check that entities can be queried from all brokers. [Tags] 6_3 I6_3_2_1 inclusive redirect interoperability ${response}= Query Entities entity_types=OffstreetParking broker_url=${b1_url} Check Response Status Code 200 ${response.status_code} @{entities_b1}= Set Variable ${response.json()} ${first_payload}= Get From List ${entities_b1} 0 ${second_payload}= Get From List ${entities_b1} 1 Should Not Contain ${first_payload} name Should Not Contain ${second_payload} name ${response}= Query Entities entity_types=OffstreetParking broker_url=${b2_url} @{entities_b2}= Set Variable ${response.json()} ${first_b2_payload}= Get From List ${entities_b2} 0 ${second_b2_payload}= Get From List ${entities_b2} 1 ${response}= Query Entities entity_types=OffstreetParking broker_url=${b3_url} @{entities_b3}= Set Variable ${response.json()} ${b3_payload}= Get From List ${entities_b3} 0 ${response}= Query Entities entity_types=OffstreetParking broker_url=${b4_url} @{entities_b4}= Set Variable ${response.json()} ${b4_payload}= Get From List ${entities_b4} 0 Should Be Equal ${first_payload}[availableSpotsNumber] ${first_b2_payload}[availableSpotsNumber] Should Be Equal ${first_payload}[totalSpotsNumber] ${first_b2_payload}[totalSpotsNumber] Should Be Equal ${first_payload}[location] ${b3_payload}[location] Should Be Equal ${second_payload}[availableSpotsNumber] ${second_b2_payload}[availableSpotsNumber] Should Be Equal ${second_payload}[totalSpotsNumber] ${second_b2_payload}[totalSpotsNumber] Should Be Equal ${second_payload}[location] ${b4_payload}[location] *** Keywords *** Setup Initial Context Source Registrations ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} ${second_entity_id}= Generate Random Parking Entity Id Set Suite Variable ${second_entity_id} ${response}= Create Entity ${first_entity_no_location_payload_filename} ${entity_id} broker_url=${b2_url} Check Response Status Code 201 ${response.status_code} ${response}= Create Entity ${second_entity_no_location_payload_filename} ${second_entity_id} broker_url=${b2_url} Check Response Status Code 201 ${response.status_code} ${response}= Create Entity ${first_full_entity_payload_filename} ${entity_id} broker_url=${b3_url} Check Response Status Code 201 ${response.status_code} ${response}= Create Entity ${second_full_entity_payload_filename} ${second_entity_id} broker_url=${b3_url} Check Response Status Code 201 ${response.status_code} ${response}= Create Entity ${location_name_payload_filename} ${entity_id} broker_url=${b4_url} Check Response Status Code 201 ${response.status_code} ${registration_id1}= Generate Random CSR Id Set Suite Variable ${registration_id1} ${registration_payload}= Prepare Context Source Registration From File ... ${registration_id1} ... ${inclusive_registration_payload_file_path} ... entity_id=${entity_id} ... broker_url=${b2_url} ... mode=inclusive ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id Set Suite Variable ${registration_id2} ${registration_payload}= Prepare Context Source Registration From File ... ${registration_id2} ... ${inclusive_registration_payload_file_path} ... entity_id=${second_entity_id} ... broker_url=${b2_url} ... mode=inclusive ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id Set Suite Variable ${registration_id3} ${registration_payload}= Prepare Context Source Registration From File ... ${registration_id3} ... ${first_redirect_registration_payload_file_path} ... entity_id=${entity_id} ... broker_url=${b3_url} ... mode=redirect ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} Check Response Status Code 201 ${response.status_code} ${registration_id4}= Generate Random CSR Id Set Suite Variable ${registration_id4} ${registration_payload}= Prepare Context Source Registration From File ... ${registration_id4} ... ${first_redirect_registration_payload_file_path} ... entity_id=${second_entity_id} ... broker_url=${b3_url} ... mode=redirect ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} Check Response Status Code 201 ${response.status_code} ${registration_id5}= Generate Random CSR Id Set Suite Variable ${registration_id5} ${registration_payload}= Prepare Context Source Registration From File ... ${registration_id5} ... ${second_redirect_registration_payload_file_path} ... entity_id=${entity_id} ... broker_url=${b4_url} ... mode=redirect ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} Check Response Status Code 201 ${response.status_code} Delete Entities And Delete Registrations Delete Context Source Registration ${registration_id1} broker_url=${b1_url} Delete Context Source Registration ${registration_id2} broker_url=${b1_url} Delete Context Source Registration ${registration_id3} broker_url=${b1_url} Delete Context Source Registration ${registration_id4} broker_url=${b1_url} Delete Context Source Registration ${registration_id5} broker_url=${b1_url} Delete Entity By Id ${entity_id} broker_url=${b2_url} Delete Entity by Id ${second_entity_id} broker_url=${b2_url} Delete Entity By Id ${entity_id} broker_url=${b3_url} Delete Entity By Id ${second_entity_id} broker_url=${b3_url} Delete Entity By Id ${entity_id} broker_url=${b4_url} No newline at end of file
data/csourceRegistrations/interoperability/context-source-registration-redirect-2.jsonld 0 → 100644 +22 −0 Original line number Diff line number Diff line { "id": "urn:ngsi-ld:ContextSourceRegistration:Redirect:2", "type": "ContextSourceRegistration", "information": [ { "entities": [ { "type": "OffStreetParking" } ], "propertyNames": [ "location" ] } ], "mode": "redirect", "operations": ["redirectionOps"], "endpoint": "xxx", "@context":[ "https://forge.etsi.org/rep/cim/ngsi-ld-test-suite/-/raw/develop/resources/jsonld-contexts/ngsi-ld-test-suite-compound.jsonld" ] } No newline at end of file
data/csourceRegistrations/interoperability/context-source-registration-redirect-3.jsonld 0 → 100644 +23 −0 Original line number Diff line number Diff line { "id": "urn:ngsi-ld:ContextSourceRegistration:Redirect:3", "type": "ContextSourceRegistration", "information": [ { "entities": [ { "type": "OffStreetParking", "id": "urn:ngsi-ld:OffStreetParking:2" } ], "propertyNames": [ "location" ] } ], "mode": "redirect", "operations": ["redirectionOps"], "endpoint": "xxx", "@context":[ "https://forge.etsi.org/rep/cim/ngsi-ld-test-suite/-/raw/develop/resources/jsonld-contexts/ngsi-ld-test-suite-compound.jsonld" ] } No newline at end of file
data/entities/interoperability/offstreet-parking1-no-location.jsonld 0 → 100644 +35 −0 Original line number Diff line number Diff line { "id": "urn:ngsi-ld:OffStreetParking:1", "type": "OffStreetParking", "name": { "type": "Property", "value": "Downtown One" }, "availableSpotsNumber": { "type": "Property", "value": 169, "observedAt": "2017-07-29T12:10:02Z", "reliability": { "type": "Property", "value": 0.3 } }, "totalSpotsNumber": { "type": "Property", "value": 200 }, "@context": [ { "OffStreetParking": "https://ngsi-ld-test-suite/context#OffStreetParking", "Vehicle": "https://ngsi-ld-test-suite/context#Vehicle", "availableSpotsNumber": "https://ngsi-ld-test-suite/context#availableSpotsNumber", "brandName": "https://ngsi-ld-test-suite/context#brandName", "isParked": "https://ngsi-ld-test-suite/context#isParked", "name": "https://ngsi-ld-test-suite/context#name", "source": "https://ngsi-ld-test-suite/context#source", "speed": "https://ngsi-ld-test-suite/context#speed", "totalSpotsNumber": "https://ngsi-ld-test-suite/context#totalSpotsNumber" }, "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context-v1.6.jsonld" ] } No newline at end of file
data/entities/interoperability/offstreet-parking2-location-and-name.jsonld 0 → 100644 +33 −0 Original line number Diff line number Diff line { "id": "urn:ngsi-ld:OffStreetParking:2", "type": "OffStreetParking", "name": { "type": "Property", "value": "Downtown Two" }, "location": { "type": "GeoProperty", "value": { "type": "Point", "coordinates": [ -8.46, 41.25 ] , "observedAt": "2021-04-04T11:46:00Z" } }, "@context": [ { "OffStreetParking": "https://ngsi-ld-test-suite/context#OffStreetParking", "Vehicle": "https://ngsi-ld-test-suite/context#Vehicle", "availableSpotsNumber": "https://ngsi-ld-test-suite/context#availableSpotsNumber", "brandName": "https://ngsi-ld-test-suite/context#brandName", "isParked": "https://ngsi-ld-test-suite/context#isParked", "name": "https://ngsi-ld-test-suite/context#name", "source": "https://ngsi-ld-test-suite/context#source", "speed": "https://ngsi-ld-test-suite/context#speed", "totalSpotsNumber": "https://ngsi-ld-test-suite/context#totalSpotsNumber" }, "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context-v1.6.jsonld" ] } No newline at end of file