diff --git a/TP/NGSI-LD/Interoperability/Provision/Entities/CreateEntity/IOP_CNF_01_01.robot b/TP/NGSI-LD/Interoperability/Provision/Entities/CreateEntity/IOP_CNF_01_01.robot new file mode 100644 index 0000000000000000000000000000000000000000..58a364ece06f9b8cb7b0e720d56ea3f0ac442e4b --- /dev/null +++ b/TP/NGSI-LD/Interoperability/Provision/Entities/CreateEntity/IOP_CNF_01_01.robot @@ -0,0 +1,75 @@ +*** Settings *** +Documentation Verify that the broker b2 mirrors the information stored in the b1 broker and broker b3 contains some exclusive data. + +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 *** +${entity_payload_filename} interoperability/offstreet-parking1-full.jsonld +${inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-2.jsonld +${exclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-exclusive-2.jsonld +${entity_id} urn:ngsi-ld:OffStreetParking:1 +${b1_url} +${b2_url} +${b3_url} + +*** Test Cases *** +IOP_CNF_01_01 Create Entity In B1 And Retrieve Entity In All Brokers + [Documentation] Check that entities are created in b1 and b2 but not in b3. + [Tags] 6_1 I6_1_1_1 Inclusive Exclusive Interoperability + + ${expected_payload}= Load Entity ${entity_payload_filename} ${entity_id} + ${response}= Create Entity From File ${entity_payload_filename} broker_url=${b1_url} + Check Response Status Code 201 ${response.status_code} + + ${response}= Retrieve Entity by Id ${entity_id} local=true broker_url=${b1_url} context=${ngsild_test_suite_context} + Check Response Status Code 200 ${response.status_code} + Should Be Equal ${response.json()} ${expected_payload} + + ${response}= Retrieve Entity by Id ${entity_id} local=true broker_url=${b2_url} context=${ngsild_test_suite_context} + Check Response Status Code 200 ${response.status_code} + Should Contain ${response.json()} availableSpotsNumber + Should Contain ${response.json()} totalSpotsNumber + Should Not Contain ${response.json()} location + + ${response}= Retrieve Entity by Id ${entity_id} local=true broker_url=${b3_url} + Check Response Status Code 404 ${response.status_code} + +*** Keywords *** +Setup Initial Context Source Registrations + + ${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} + ... ${exclusive_registration_payload_file_path} + ... entity_id=${entity_id} + ... broker_url=${b3_url} + ... mode=exclusive + ${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 Entity By Id ${entity_id} broker_url=${b1_url} + Delete Entity By Id ${entity_id} broker_url=${b2_url} + Delete Entity By Id ${entity_id} broker_url=${b3_url} \ No newline at end of file diff --git a/TP/NGSI-LD/Interoperability/Provision/Entities/CreateEntity/IOP_CNF_01_02.robot b/TP/NGSI-LD/Interoperability/Provision/Entities/CreateEntity/IOP_CNF_01_02.robot new file mode 100644 index 0000000000000000000000000000000000000000..9630f25e8d61991d3a3f7a82b02cf1d5046d9b98 --- /dev/null +++ b/TP/NGSI-LD/Interoperability/Provision/Entities/CreateEntity/IOP_CNF_01_02.robot @@ -0,0 +1,75 @@ +*** Settings *** +Documentation Verify that the brokers b1 and b2 do not contain an exclusive attributes found in the b3 broker. + +Resource ${EXECDIR}/resources/ApiUtils/Common.resource +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 +Resource ${EXECDIR}/resources/MockServerUtils.resource + +Test Setup Setup Initial Context Source Registrations +Test Teardown Delete Entities and Delete Registrations + +*** Variables *** +${entity_payload_filename} interoperability/offstreet-parking2-full.jsonld +${inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-2.jsonld +${exclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-exclusive-2.jsonld +${entity_id} urn:ngsi-ld:OffStreetParking:2 +${b1_url} +${b2_url} +${b3_url} + +*** Test Cases *** +IOP_CNF_01_02 Create Entity In B1 And Retrieve Entity In All Brokers + [Documentation] Check that, in b1 and b2, the entity does not contain the attribute location, said attribute will be contained in b3 thanks to an exclusive registration. + [Tags] 6_1 I6_1_1_2 Inclusive Exclusive Interoperability + + ${response}= Create Entity From File ${entity_payload_filename} ${b1_url} + Check Response Status Code 201 ${response.status_code} + + ${response}= Retrieve Entity by Id ${entity_id} context=${ngsild_test_suite_context} broker_url=${b1_url} local=true + Check Response Status Code 200 ${response.status_code} + Should Not Contain ${response.json()} location + + ${response}= Retrieve Entity by Id ${entity_id} context=${ngsild_test_suite_context} broker_url=${b2_url} local=true + Check Response Status Code 200 ${response.status_code} + Should Not Contain ${response.json()} location + + ${response}= Retrieve Entity by Id ${entity_id} context=${ngsild_test_suite_context} broker_url=${b3_url} local=true + Check Response Status Code 200 ${response.status_code} + Should Contain ${response.json()} location + +*** Keywords *** +Setup Initial Context Source Registrations + + ${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} + ... ${exclusive_registration_payload_file_path} + ... entity_id=${entity_id} + ... broker_url=${b3_url} + ... mode=exclusive + ${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 Entity By Id ${entity_id} broker_url=${b1_url} + Delete Entity By Id ${entity_id} broker_url=${b2_url} + Delete Entity By Id ${entity_id} broker_url=${b3_url} diff --git a/TP/NGSI-LD/Interoperability/Provision/Entities/CreateEntity/IOP_CNF_02_01.robot b/TP/NGSI-LD/Interoperability/Provision/Entities/CreateEntity/IOP_CNF_02_01.robot new file mode 100644 index 0000000000000000000000000000000000000000..8a24de4b2bd04c2f8aaaaf3e5cab2230559e7ec0 --- /dev/null +++ b/TP/NGSI-LD/Interoperability/Provision/Entities/CreateEntity/IOP_CNF_02_01.robot @@ -0,0 +1,93 @@ +*** Settings *** +Documentation Verify that broker b2 mirrors the information in b1 and the b3 and b4 brokers contain only the location property. + +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 *** +${entity_payload_filename} interoperability/offstreet-parking1-full.jsonld +${inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-2.jsonld +${redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-2.jsonld +${entity_id} urn:ngsi-ld:OffStreetParking:1 +${b1_url} +${b2_url} +${b3_url} +${b4_url} + +*** Test Cases *** +IOP_CNF_02_01 Create Entity In B1 And Retrieve Entity In All Brokers + [Documentation] Check that entities are created in b1 and b2 but not in b3. + [Tags] 6_1 I6_1_2_1 Inclusive Redirect Interoperability + + ${expected_payload}= Load Entity ${entity_payload_filename} ${entity_id} + ${response}= Create Entity From File ${entity_payload_filename} broker_url=${b1_url} + Check Response Status Code 201 ${response.status_code} + + ${response}= Retrieve Entity by Id ${entity_id} local=true broker_url=${b1_url} context=${ngsild_test_suite_context} + Check Response Status Code 200 ${response.status_code} + Should Not Contain ${response.json()} location + + ${response}= Retrieve Entity by Id ${entity_id} local=true broker_url=${b2_url} context=${ngsild_test_suite_context} + Check Response Status Code 200 ${response.status_code} + Should Not Contain ${response.json()} location + Should Not Contain ${response.json()} name + + ${response}= Retrieve Entity by Id ${entity_id} local=true broker_url=${b3_url} context=${ngsild_test_suite_context} + Check Response Status Code 200 ${response.status_code} + Should Contain ${response.json()} location + + ${response}= Retrieve Entity by Id ${entity_id} local=true broker_url=${b4_url} context=${ngsild_test_suite_context} + Check Response Status Code 200 ${response.status_code} + Should Contain ${response.json()} location + +*** Keywords *** +Setup Initial Context Source Registrations + + ${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} + ... ${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_id3}= Generate Random CSR Id + Set Suite Variable ${registration_id3} + ${registration_payload}= Prepare Context Source Registration From File + ... ${registration_id3} + ... ${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 Entity By Id ${entity_id} broker_url=${b1_url} + Delete Entity By Id ${entity_id} broker_url=${b2_url} + Delete Entity By Id ${entity_id} broker_url=${b3_url} + Delete Entity By Id ${entity_id} broker_url=${b4_url} \ No newline at end of file diff --git a/data/csourceRegistrations/interoperability/context-source-registration-auxiliary-1.jsonld b/data/csourceRegistrations/interoperability/context-source-registration-auxiliary-1.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..8fe63a7800ea9ac77b186c2902f8c43da8af8b7e --- /dev/null +++ b/data/csourceRegistrations/interoperability/context-source-registration-auxiliary-1.jsonld @@ -0,0 +1,18 @@ +{ + "id": "urn:ngsi-ld:ContextSourceRegistration:Auxiliary:1", + "type": "ContextSourceRegistration", + "information": [ + { + "entities": [ + { + "type": "OffStreetParking" + } + ] + } + ], + "mode": "auxiliary", + "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 diff --git a/data/csourceRegistrations/interoperability/context-source-registration-auxiliary-2.jsonld b/data/csourceRegistrations/interoperability/context-source-registration-auxiliary-2.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..1d0373098a60475adbc0a28f2a0d0cbec3f5a0e1 --- /dev/null +++ b/data/csourceRegistrations/interoperability/context-source-registration-auxiliary-2.jsonld @@ -0,0 +1,22 @@ +{ + "id": "urn:ngsi-ld:ContextSourceRegistration:Auxiliary:2", + "type": "ContextSourceRegistration", + "information": [ + { + "entities": [ + { + "type": "OffStreetParking" + } + ], + "propertyNames": [ + "availableSpotsNumber", + "totalSpotsNumber" + ] + } + ], + "mode": "auxiliary", + "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 diff --git a/data/csourceRegistrations/interoperability/context-source-registration-exclusive-1.jsonld b/data/csourceRegistrations/interoperability/context-source-registration-exclusive-1.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..f11d58dee6fea19cefc17c70572f1273f0808e2c --- /dev/null +++ b/data/csourceRegistrations/interoperability/context-source-registration-exclusive-1.jsonld @@ -0,0 +1,21 @@ +{ + "id": "urn:ngsi-ld:ContextSourceRegistration:Exclusive:1", + "type": "ContextSourceRegistration", + "information": [ + { + "entities": [ + { + "id": "urn:ngsi-ld:OffStreetParking:2" + } + ], + "propertyNames": [ + "totalSpotsNumber" + ] + } + ], + "mode": "exclusive", + "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 diff --git a/data/csourceRegistrations/interoperability/context-source-registration-exclusive-2.jsonld b/data/csourceRegistrations/interoperability/context-source-registration-exclusive-2.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..fdc4730a159f07015bdce5309cf4e5cc491d786b --- /dev/null +++ b/data/csourceRegistrations/interoperability/context-source-registration-exclusive-2.jsonld @@ -0,0 +1,22 @@ +{ + "id": "urn:ngsi-ld:ContextSourceRegistration:Exclusive:2", + "type": "ContextSourceRegistration", + "information": [ + { + "entities": [ + { + "id": "urn:ngsi-ld:OffStreetParking:2", + "type": "OffStreetParking" + } + ], + "propertyNames": [ + "location" + ] + } + ], + "mode": "exclusive", + "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 diff --git a/data/csourceRegistrations/interoperability/context-source-registration-inclusive-1.jsonld b/data/csourceRegistrations/interoperability/context-source-registration-inclusive-1.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..42145ec138ba9d656d3e5328070750af0c5d83ec --- /dev/null +++ b/data/csourceRegistrations/interoperability/context-source-registration-inclusive-1.jsonld @@ -0,0 +1,18 @@ +{ + "id": "urn:ngsi-ld:ContextSourceRegistration:Inclusive:1", + "type": "ContextSourceRegistration", + "information": [ + { + "entities": [ + { + "type": "OffStreetParking" + } + ] + } + ], + "mode": "inclusive", + "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 diff --git a/data/csourceRegistrations/interoperability/context-source-registration-inclusive-2.jsonld b/data/csourceRegistrations/interoperability/context-source-registration-inclusive-2.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..4f835c57cee8119ba85c319a3f5de2feb4e95cfa --- /dev/null +++ b/data/csourceRegistrations/interoperability/context-source-registration-inclusive-2.jsonld @@ -0,0 +1,22 @@ +{ + "id": "urn:ngsi-ld:ContextSourceRegistration:Inclusive:2", + "type": "ContextSourceRegistration", + "information": [ + { + "entities": [ + { + "type": "OffStreetParking" + } + ], + "propertyNames": [ + "availableSpotsNumber", + "totalSpotsNumber" + ] + } + ], + "mode": "inclusive", + "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 diff --git a/data/csourceRegistrations/interoperability/context-source-registration-redirect-1.jsonld b/data/csourceRegistrations/interoperability/context-source-registration-redirect-1.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..754d1c63b74748ebb0e7051313f22c5bf84ebf67 --- /dev/null +++ b/data/csourceRegistrations/interoperability/context-source-registration-redirect-1.jsonld @@ -0,0 +1,18 @@ +{ + "id": "urn:ngsi-ld:ContextSourceRegistration:Redirect:1", + "type": "ContextSourceRegistration", + "information": [ + { + "entities": [ + { + "type": "OffStreetParking" + } + ] + } + ], + "mode": "redirect", + "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 diff --git a/data/csourceRegistrations/interoperability/context-source-registration-redirect-2.jsonld b/data/csourceRegistrations/interoperability/context-source-registration-redirect-2.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..2cc6e981befbce4fdeb2f6b3defcb206d936f4c0 --- /dev/null +++ b/data/csourceRegistrations/interoperability/context-source-registration-redirect-2.jsonld @@ -0,0 +1,21 @@ +{ + "id": "urn:ngsi-ld:ContextSourceRegistration:Redirect:2", + "type": "ContextSourceRegistration", + "information": [ + { + "entities": [ + { + "type": "OffStreetParking" + } + ], + "propertyNames": [ + "location" + ] + } + ], + "mode": "redirect", + "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 diff --git a/data/entities/interoperability/offstreet-parking1-full.jsonld b/data/entities/interoperability/offstreet-parking1-full.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..d9edbd75428858dba13732c9e440d381dc8983d9 --- /dev/null +++ b/data/entities/interoperability/offstreet-parking1-full.jsonld @@ -0,0 +1,34 @@ +{ + "id": "urn:ngsi-ld:OffStreetParking:1", + "type": "OffStreetParking", + "name": { + "type": "Property", + "value": "Downtown One" + }, + "availableSpotsNumber": { + "type": "Property", + "value": 121, + "observedAt": "2017-07-29T12:05:02Z", + "reliability": { + "type": "Property", + "value": 0.7 + } + }, + "totalSpotsNumber": { + "type": "Property", + "value": 200 + }, + "location": { + "type": "GeoProperty", + "value": { + "type": "Point", + "coordinates": [ + -8.5, + 41.2 + ] + } + }, + "@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 diff --git a/data/entities/interoperability/offstreet-parking2-full.jsonld b/data/entities/interoperability/offstreet-parking2-full.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..0260a33247f1b6bd089895e16184172665a9dd20 --- /dev/null +++ b/data/entities/interoperability/offstreet-parking2-full.jsonld @@ -0,0 +1,34 @@ +{ + "id": "urn:ngsi-ld:OffStreetParking:2", + "type": "OffStreetParking", + "name": { + "type": "Property", + "value": "Downtown Two" + }, + "availableSpotsNumber": { + "type": "Property", + "value": 112, + "observedAt": "2017-07-29T12:05:02Z", + "reliability": { + "type": "Property", + "value": 0.4 + } + }, + "totalSpotsNumber": { + "type": "Property", + "value": 150 + }, + "location": { + "type": "GeoProperty", + "value": { + "type": "Point", + "coordinates": [ + -8.45, + 41.2 + ] + } + }, + "@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 diff --git a/resources/ApiUtils/ContextInformationConsumption.resource b/resources/ApiUtils/ContextInformationConsumption.resource index a80e892a8099b19c168ae0a102ea68f1d9949e10..1036917b73d561a1dfa7ad21d19efc167556fdee 100755 --- a/resources/ApiUtils/ContextInformationConsumption.resource +++ b/resources/ApiUtils/ContextInformationConsumption.resource @@ -244,9 +244,11 @@ Retrieve Entity by Id ... ${context}=${EMPTY} ... ${local}=${EMPTY} ... ${options}=${EMPTY} + ... ${broker_url}=${EMPTY} ${headers}= Create Dictionary &{params}= Create Dictionary ${options_length}= Get Length ${options} + ${final_url}= Set Variable If '${broker_url}' != '' ${broker_url} ${url} Set To Dictionary ${headers} Accept ${accept} IF '${context}'!='' ${context_link}= Build Context Link ${context} @@ -259,7 +261,7 @@ Retrieve Entity by Id Set To Dictionary ${params} options=${options} END ${response}= GET - ... url=${url}/${ENTITIES_ENDPOINT_PATH}${id} + ... url=${final_url}/${ENTITIES_ENDPOINT_PATH}${id} ... headers=${headers} ... params=${params} ... expected_status=any diff --git a/resources/ApiUtils/ContextInformationProvision.resource b/resources/ApiUtils/ContextInformationProvision.resource index a38e9d8bbf3c95c83c652f2e5ee46491a71508ff..fc61c48ab17b14251c1a1b1d7f4cb590b22c7c40 100755 --- a/resources/ApiUtils/ContextInformationProvision.resource +++ b/resources/ApiUtils/ContextInformationProvision.resource @@ -207,11 +207,12 @@ Create Entity Selecting Content Type RETURN ${response} Create Entity From File - [Arguments] ${filename} + [Arguments] ${filename} ${broker_url}=${EMPTY} ${file_content}= Get File ${EXECDIR}/data/entities/${filename} + ${final_url}= Set Variable If '${broker_url}' != '' ${broker_url} ${url} &{headers}= Create Dictionary Content-Type=application/ld+json ${response}= POST - ... url=${url}/${ENTITIES_ENDPOINT_PATH} + ... url=${final_url}/${ENTITIES_ENDPOINT_PATH} ... data=${file_content} ... headers=${headers} ... expected_status=any diff --git a/resources/ApiUtils/ContextSourceRegistration.resource b/resources/ApiUtils/ContextSourceRegistration.resource index e4d2d98e3028518b3397a458a551a3f0a9d728f0..64de511d96bfaa9efbe1e93655a449f75d8c5692 100755 --- a/resources/ApiUtils/ContextSourceRegistration.resource +++ b/resources/ApiUtils/ContextSourceRegistration.resource @@ -31,9 +31,10 @@ Prepare Context Source Registration From File ... ${entity_id_pattern}=${EMPTY} ... ${mode}=${EMPTY} ... ${endpoint}=${EMPTY} + ... ${broker_url}=${EMPTY} ... ${operations}=[] - ${payload}= Load JSON From File ${EXECDIR}/data/${registration_file} + ${final_context_source_url}= Set Variable If '${broker_url}' != '' ${broker_url} ${context_source_url} ${registration_payload}= Update Value To JSON ... ${payload} ... $.id @@ -41,7 +42,7 @@ Prepare Context Source Registration From File ${registration_payload}= Update Value To JSON ... ${registration_payload} ... $..endpoint - ... ${context_source_url}${endpoint} + ... ${final_context_source_url}${endpoint} IF '${entity_id}' != '' ${dict}= Create Dictionary id=${entity_id} ${registration_payload}= Add Object To JSON @@ -85,8 +86,10 @@ Create Context Source Registration RETURN ${response} Create Context Source Registration With Return - [Arguments] ${payload} ${content_type}=${CONTENT_TYPE_LD_JSON} ${context}=${EMPTY} ${accept}=${EMPTY} + [Arguments] ${payload} ${content_type}=${CONTENT_TYPE_LD_JSON} ${context}=${EMPTY} ${accept}=${EMPTY} ${broker_url}=${EMPTY} &{headers}= Create Dictionary Content-Type=${content_type} + # Se broker_url non รจ passato, usa la variabile globale ${url} + ${final_url}= Set Variable If '${broker_url}' != '' ${broker_url} ${url} IF '${accept}'!='' Set To Dictionary ${headers} Accept=${context} END @@ -97,7 +100,7 @@ Create Context Source Registration With Return ... Link=${context_link} END ${response}= POST - ... url=${url}/${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH} + ... url=${final_url}/${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH} ... json=${payload} ... headers=${headers} ... expected_status=any @@ -105,16 +108,18 @@ Create Context Source Registration With Return RETURN ${response} Delete Context Source Registration - [Arguments] ${context_source_registration_id} - - ${response}= DELETE url=${url}/${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH}/${context_source_registration_id} + [Arguments] ${context_source_registration_id} ${broker_url}=${EMPTY} + + ${final_url}= Set Variable If '${broker_url}' != '' ${broker_url} ${url} + ${response}= DELETE url=${final_url}/${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH}/${context_source_registration_id} Output ${response} Delete Context Source Registration RETURN ${response} Delete Context Source Registration With Return - [Arguments] ${registration_id} + [Arguments] ${registration_id} ${broker_url}=${EMPTY} + ${final_url}= Set Variable If '${broker_url}' != '' ${broker_url} ${url} ${response}= DELETE - ... url=${url}/${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH}/${registration_id} + ... url=${final_url}/${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH}/${registration_id} ... expected_status=any Output ${response} Delete Context Source Registration RETURN ${response}