diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_01_01.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_01_01.robot index 47dd66ac4689f62fefd4804329707027b9ef8871..dc289faebab12bf68b1b2a10cfad4dc05234c0f7 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_01_01.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_01_01.robot @@ -1,34 +1,23 @@ *** Settings *** -Documentation Three brokers are set up A, B and C. A has two registrations, one inclusive for the entities created in B and one exclusive for the entity created in C. -... The client sends a HTTP GET request to check that quering the offparking type returns the entities in B and C. -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 +Documentation Three brokers are set up A, B and C. A has two registrations, one inclusive for the entities created in B and one exclusive for the entity created in C. + +Resource ${EXECDIR}/resources/IOPUtils/InteroperabilityUtils.resource Test Setup Setup Initial Context Source Registrations Test Teardown Delete Entities and Delete Registrations *** Variables *** -${first_entity_payload_filename} interoperability/offstreet-parking1-full.jsonld -${second_entity_payload_filename} interoperability/offstreet-parking2-full.jsonld -${third_entity_payload_filename} interoperability/offstreet-parking2-no-location-and-totalspotsnumber.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 -${b1_url} -${b2_url} -${b3_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} *** Test Cases *** IOP_CNF_01_01 Query Entities Of Type OffstreetParking Via GET - [Documentation] Pre-conditions: no user context. Data only on leaves. B contains OffStreetParking1 and OffStreetParking2 without location and totalSpotsNumber. C contains OffStreetParking2. - ... Registrations established: Inclusive in A to B. Exclusive in A to C. + [Documentation] The client sends a HTTP GET request to check that quering the offparking type returns the entities in B and C. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive proxy-exclusive 4_3_6 5_7_2 6_4_3_1 #Agent queries all entities with type OffstreetParking in A and checks for a successful response that contains the attributes of both entities in B and C. - ${response}= Query Entities entity_types=OffstreetParking broker_url=${b1_url} + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} @{payload}= Set Variable ${response.json()} Should Contain ${payload}\[OffstreetParking1] availableSpotsNumber @@ -37,12 +26,12 @@ IOP_CNF_01_01 Query Entities Of Type OffstreetParking Via GET Should Contain ${payload}\[OffstreetParking2] location #Agent queries all entities with type OffstreetParking in B and C - ${response}= Query Entities entity_types=OffstreetParking broker_url=${b2_url} + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_B_url} @{first_expected_payload}= Set Variable ${response.json()} ${entity_ids}= Create List ${entity_id} ${second_entity_id} Check Response Body Containing Entities URIS set to ${entity_ids} ${response.json()} - ${response}= Query Entities entity_types=OffstreetParking broker_url=${b3_url} + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_C_url} @{second_expected_payload}= Set Variable ${response.json()} Check Response Body Containing Entities URIS set to ${entity_id} ${response.json()} @@ -53,54 +42,62 @@ IOP_CNF_01_01 Query Entities Of Type OffstreetParking Via GET *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: B contains OffStreetParking1 and OffStreetParking2 without location and totalSpotsNumber. C contains OffStreetParking2. + ... Registration established: Inclusive in A to B. Exclusive in A to C. + ${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_payload_filename} ${entity_id} broker_url=${b2_url} - Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${third_entity_payload_filename} ${second_entity_id} broker_url=${b2_url} - Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_entity_payload_filename} ${entity_id} broker_url=${b3_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} + ${response}= Create Entity + ... ${IOP_REGISTRY_URL}[parking][full_1] + ... ${entity_id} + ... broker_url=${broker_B_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} + ${response}= Create Entity + ... ${IOP_REGISTRY_URL}[parking][no_location_and_totalspotnumber_2] + ... ${second_entity_id} + ... broker_url=${broker_B_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} - ... ${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} + ${response}= Create Entity + ... ${IOP_REGISTRY_URL}[parking][full_2] + ... ${entity_id} + ... broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} + @{first_set}= Create List + ... ${entity_id} + ... ${IOP_REGISTRY_URL}[registration][inclusive_2] + ... inclusive + ... ${broker_B_url} + ... ${broker_A_url} + + @{second_set}= Create List + ... ${second_entity_id} + ... ${IOP_REGISTRY_URL}[registration][inclusive_2] + ... inclusive + ... ${broker_B_url} + ... ${broker_A_url} + + @{third_set}= Create List + ... ${entity_id} + ... ${IOP_REGISTRY_URL}[registration][exclusive_2] + ... exclusive + ... ${broker_C_url} + ... ${broker_A_url} + + Initialize IOP CNF 01 + ... ${first_set} + ... ${second_set} + ... ${third_set} + 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 ${entity_id} broker_url=${b2_url} - Delete Entity ${second_entity_id} broker_url=${b2_url} - Delete Entity ${entity_id} broker_url=${b3_url} \ No newline at end of file + + @{entities_to_delete}= Create List ${entity_id} ${second_entity_id} + @{broker_count}= Create List ${broker_A_url} ${broker_B_url} ${broker_C_url} + Delete Registrations And Entities + ... ${entities_to_delete} + ... ${broker_count} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_01_02.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_01_02.robot index 37233bbd57d26c13dda067acc5c1d86df39fe339..bca0ece3a063c6c8ff5e01199b78c2085d3a02e6 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_01_02.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_01_02.robot @@ -1,36 +1,24 @@ *** Settings *** Documentation Three brokers are set up A, B and C. A has two registrations, one inclusive for the entities created in B and one exclusive for the entity created in C. -... The client sends and HTTP POST request to check that the entities can be queried from all brokers. -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/IOPUtils/InteroperabilityUtils.resource Test Setup Setup Initial Context Source Registrations Test Teardown Delete Entities and Delete Registrations *** Variables *** -${first_entity_payload_filename} interoperability/offstreet-parking1-full.jsonld -${second_entity_payload_filename} interoperability/offstreet-parking2-full.jsonld -${third_entity_payload_filename} interoperability/offstreet-parking2-no-location-and-totalspotsnumber.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 -${b1_url} -${b2_url} -${b3_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} *** Test Cases *** -IOP_CNF_01_01 Query Entities Of Type OffstreetParking Via POST - [Documentation] Pre-conditions: no user context. Data only on leaves. B contains OffStreetParking1 and OffStreetParking2 without location and totalSpotsNumber. C contains OffStreetParking2. - ... Registrations established: Inclusive in A to B. Exclusive in A to C. +IOP_CNF_01_02 Query Entities Of Type OffstreetParking Via POST + [Documentation] The client sends and HTTP POST request to check that the entities can be queried from all brokers. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive proxy-exclusive 4_3_6 5_7_2 6_23_2_1 #Agent queries all entities with type OffstreetParking in A and checks for a successful response that contains the attributes of both entities in B and C. @{entities}= Create List ${entity_id} ${second_entity_id} - ${response}= Query Entities Via POST entities=${entities} broker_url=${b1_url} + ${response}= Query Entities Via POST entities=${entities} broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} @{payload}= Set Variable ${response.json()} Should Contain ${payload}\[OffstreetParking1] availableSpotsNumber @@ -39,11 +27,11 @@ IOP_CNF_01_01 Query Entities Of Type OffstreetParking Via POST Should Contain ${payload}\[OffstreetParking2] location #Agent queries all entities with type OffstreetParking in B and C - ${response}= Query Entities Via POST entities=${entities} broker_url=${b2_url} + ${response}= Query Entities Via POST entities=${entities} broker_url=${broker_B_url} @{first_expected_payload}= Set Variable ${response.json()} Check Response Body Containing Entities URIS set to ${entities} ${response.json()} - ${response}= Query Entities Via POST entities=${entity_id} broker_url=${b3_url} + ${response}= Query Entities Via POST entities=${entity_id} broker_url=${broker_C_url} @{second_expected_payload}= Set Variable ${response.json()} Check Response Body Containing Entities URIS set to ${entity_id} ${response.json()} @@ -54,54 +42,61 @@ IOP_CNF_01_01 Query Entities Of Type OffstreetParking Via POST *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: no user context. Data only on leaves. B contains OffStreetParking1 and OffStreetParking2 without location and totalSpotsNumber. C contains OffStreetParking2. + ... Registrations established: Inclusive in A to B. Exclusive in A to C. + ${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_payload_filename} ${entity_id} broker_url=${b2_url} - Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${third_entity_payload_filename} ${second_entity_id} broker_url=${b2_url} - Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_entity_payload_filename} ${entity_id} broker_url=${b3_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} + ${response}= Create Entity + ... ${IOP_REGISTRY_URL}[parking][full_1] + ... ${entity_id} + ... broker_url=${broker_B_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} + ${response}= Create Entity + ... ${IOP_REGISTRY_URL}[parking][no_location_and_totalspotnumber_2] + ... ${second_entity_id} + ... broker_url=${broker_B_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} - ... ${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} + ${response}= Create Entity + ... ${IOP_REGISTRY_URL}[parking][full_2] + ... ${entity_id} + ... broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} + @{first_set}= Create List + ... ${entity_id} + ... ${IOP_REGISTRY_URL}[registration][inclusive_2] + ... inclusive + ... ${broker_B_url} + ... ${broker_A_url} + + @{second_set}= Create List + ... ${second_entity_id} + ... ${IOP_REGISTRY_URL}[registration][inclusive_2] + ... inclusive + ... ${broker_B_url} + ... ${broker_A_url} + + @{third_set}= Create List + ... ${entity_id} + ... ${IOP_REGISTRY_URL}[registration][exclusive_2] + ... exclusive + ... ${broker_C_url} + ... ${broker_A_url} + + Initialize IOP CNF 01 + ... ${first_set} + ... ${second_set} + ... ${third_set} + 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 ${entity_id} broker_url=${b2_url} - Delete Entity ${second_entity_id} broker_url=${b2_url} - Delete Entity ${entity_id} broker_url=${b3_url} \ No newline at end of file + @{entities_to_delete}= Create List ${entity_id} ${second_entity_id} + @{broker_count}= Create List ${broker_A_url} ${broker_B_url} ${broker_C_url} + Delete Registrations And Entities + ... ${entities_to_delete} + ... ${broker_count} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_02_01.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_02_01.robot index 55db93a6bcb51b270b08d6bcbb778324329a84c9..8157bd9b53e33ae73b96758c971dd095d3631149 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_02_01.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_02_01.robot @@ -1,6 +1,6 @@ *** Settings *** Documentation Four brokers are set up A, B, C and D. A has three registrations, one inclusive for the entities created in B, one redirect for the entities created in C and D and one redirect for the entity created in D. -... The client sends a HTTP GET request to check that quering the offparking type returns the entities in B, C and D and said entities have the same attributes as the ones queried from A. + Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource @@ -20,64 +20,66 @@ ${second_full_entity_payload_filename} interoperability/offstreet ${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} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} *** Test Cases *** IOP_CNF_02_01 Query Entities Of Type OffstreetParking Via GET - [Documentation] Pre-conditions: no user context. Data on every broker. B contains OffStreetParking1 without location and OffStreetParking2 without location. C contains OffStreetParking1 and OffStreetParking2. D contains OffStreetParking2 with location and name only. - ... Registrations established: Inclusive in A to B. Redirect in A to C. Redirect in A to D. + [Documentation] The client sends a HTTP GET request to check that quering the offparking type returns the entities in B, C and D and said entities have the same attributes as the ones queried from A. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive proxy-redirect 4_3_6 5_7_2 6_4_3_1 #Agent queries all entities with type OffstreetParking in A and checks for a successful response not containing the name attribute. - ${response}= Query Entities entity_types=OffstreetParking broker_url=${b1_url} + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_A_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 + @{entities_A}= Set Variable ${response.json()} + ${first_payload}= Get From List ${entities_A} 0 + ${second_payload}= Get From List ${entities_A} 1 Should Not Contain ${first_payload} name Should Not Contain ${second_payload} name #Agent queries all entities with type OffstreetParking in B, C and D - ${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 + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_B_url} + @{entities_B}= Set Variable ${response.json()} + ${first_B_payload}= Get From List ${entities_B} 0 + ${second_B_payload}= Get From List ${entities_B} 1 + + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_C_url} + @{entities_C}= Set Variable ${response.json()} + ${C_payload}= Get From List ${entities_C} 0 + + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_D_url} + @{entities_D}= Set Variable ${response.json()} + ${D_payload}= Get From List ${entities_D} 0 #Agent checks that OffstreetParking1 in A has the same availableSpotsNumber and totalSpotsNumber as the one in B and the same location attribute found in C. The OffstreetParking2 entity in A contains the attributes of both OffstreetParking2 availableSpotsNumber and totalSpotsNumber in C and the same location found in D. - 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 ${first_payload}[availableSpotsNumber] ${first_B_payload}[availableSpotsNumber] + Should Be Equal ${first_payload}[totalSpotsNumber] ${first_B_payload}[totalSpotsNumber] + Should Be Equal ${first_payload}[location] ${C_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] + Should Be Equal ${second_payload}[availableSpotsNumber] ${second_B_payload}[availableSpotsNumber] + Should Be Equal ${second_payload}[totalSpotsNumber] ${second_B_payload}[totalSpotsNumber] + Should Be Equal ${second_payload}[location] ${D_payload}[location] *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: no user context. Data on every broker. B contains OffStreetParking1 without location and OffStreetParking2 without location. C contains OffStreetParking1 and OffStreetParking2. D contains OffStreetParking2 with location and name only. + ... Registrations established: Inclusive in A to B. Redirect in A to C. Redirect in A to D. + ${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} + ${response}= Create Entity ${first_entity_no_location_payload_filename} ${entity_id} broker_url=${broker_B_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} + ${response}= Create Entity ${second_entity_no_location_payload_filename} ${second_entity_id} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${first_full_entity_payload_filename} ${entity_id} broker_url=${b3_url} + ${response}= Create Entity ${first_full_entity_payload_filename} ${entity_id} broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_full_entity_payload_filename} ${second_entity_id} broker_url=${b3_url} + ${response}= Create Entity ${second_full_entity_payload_filename} ${second_entity_id} broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${location_name_payload_filename} ${entity_id} broker_url=${b4_url} + ${response}= Create Entity ${location_name_payload_filename} ${entity_id} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} ${registration_id1}= Generate Random CSR Id @@ -86,9 +88,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b2_url} + ... broker_url=${broker_B_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -97,9 +99,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${inclusive_registration_payload_file_path} ... entity_id=${second_entity_id} - ... broker_url=${b2_url} + ... broker_url=${broker_B_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -108,9 +110,9 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${first_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b3_url} + ... broker_url=${broker_C_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id4}= Generate Random CSR Id @@ -119,9 +121,9 @@ Setup Initial Context Source Registrations ... ${registration_id4} ... ${first_redirect_registration_payload_file_path} ... entity_id=${second_entity_id} - ... broker_url=${b3_url} + ... broker_url=${broker_C_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id5}= Generate Random CSR Id @@ -130,19 +132,19 @@ Setup Initial Context Source Registrations ... ${registration_id5} ... ${second_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b4_url} + ... broker_url=${broker_D_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_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 ${entity_id} broker_url=${b2_url} - Delete Entity ${second_entity_id} broker_url=${b2_url} - Delete Entity ${entity_id} broker_url=${b3_url} - Delete Entity ${second_entity_id} broker_url=${b3_url} - Delete Entity ${entity_id} broker_url=${b4_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id4} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id5} broker_url=${broker_A_url} + Delete Entity ${entity_id} broker_url=${broker_B_url} + Delete Entity ${second_entity_id} broker_url=${broker_B_url} + Delete Entity ${entity_id} broker_url=${broker_C_url} + Delete Entity ${second_entity_id} broker_url=${broker_C_url} + Delete Entity ${entity_id} broker_url=${broker_D_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_02_02.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_02_02.robot index e50c0535546fdbf0f58dc4207407d1107a5370d4..362b3f27597e41d29f615ca23c87ef9161e3b2bc 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_02_02.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_02_02.robot @@ -1,6 +1,6 @@ *** Settings *** Documentation Four brokers are set up A, B, C and D. A has five registrations, two inclusive for the entities created in B, one redirect for the entities created in C and two redirect for the entity created in D. -... Check that the entities in B, C and D and said entities have the same attributes as the ones queried from A. + Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource @@ -23,19 +23,18 @@ ${second_inclusive_registration_payload_file_path} csourceRegistrations/inter ${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 ${third_redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-4.jsonld -${b1_url} -${b2_url} -${b3_url} -${b4_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} *** Test Cases *** IOP_CNF_02_02 Query Entities Of Type OffstreetParking And Vehicle with attrs - [Documentation] Pre-conditions: no user context. Data only on leaves. B contains OffStreetParking1 and Vehicle1. C contains OffStreetParking1 with location and name only and OffStreetParking2. D contains OffStreetParking2 with location and name only and Vehicle2. - ... Registrations established: Inclusive in A to B. Redirect in A to C. Redirect in A to D. + [Documentation] Check that the entities in B, C and D and said entities have the same attributes as the ones queried from A. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive proxy-redirect 4_3_6 5_7_2 6_4_3_1 #Client queries all entities with type OffstreetParking and Vehicle in A and checks for a successful response that contains the location attribute for all entities. - ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${b1_url} + ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} &{payload}= Evaluate {i['id']: i for i in ${response.json()}} ${parking1_payload}= Get From Dictionary ${payload} ${first_parking_entity_id} @@ -48,11 +47,11 @@ IOP_CNF_02_02 Query Entities Of Type OffstreetParking And Vehicle with attrs Should Contain ${vehicle2_payload} location #Client queries all entities with type OffstreetParking and Vehicle in B, C and D. - ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${b2_url} + ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${broker_B_url} &{first_expected_payload}= Evaluate {i['id']: i for i in ${response.json()}} - ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${b3_url} + ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${broker_C_url} &{second_expected_payload}= Evaluate {i['id']: i for i in ${response.json()}} - ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${b4_url} + ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${broker_D_url} &{third_expected_payload}= Evaluate {i['id']: i for i in ${response.json()}} #Client checks that the attributes of the entities in A are the same as the ones in B, C and D. @@ -67,6 +66,9 @@ IOP_CNF_02_02 Query Entities Of Type OffstreetParking And Vehicle with attrs *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: no user context. Data only on leaves. B contains OffStreetParking1 and Vehicle1. C contains OffStreetParking1 with location and name only and OffStreetParking2. D contains OffStreetParking2 with location and name only and Vehicle2. + ... Registrations established: Inclusive in A to B. Redirect in A to C. Redirect in A to D. + ${first_parking_entity_id}= Generate Random Parking Entity Id Set Suite Variable ${first_parking_entity_id} ${second_parking_entity_id}= Generate Random Parking Entity Id @@ -76,17 +78,17 @@ Setup Initial Context Source Registrations ${second_vehicle_entity_id}= Generate Random Vehicle Entity Id Set Suite Variable ${second_vehicle_entity_id} - ${response}= Create Entity ${first_vehicle_payload_filename} ${first_vehicle_entity_id} broker_url=${b2_url} + ${response}= Create Entity ${first_vehicle_payload_filename} ${first_vehicle_entity_id} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${first_offstreet_payload_filename} ${first_parking_entity_id} broker_url=${b2_url} + ${response}= Create Entity ${first_offstreet_payload_filename} ${first_parking_entity_id} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${first_parking_location_name_payload_filename} ${first_parking_entity_id} broker_url=${b3_url} + ${response}= Create Entity ${first_parking_location_name_payload_filename} ${first_parking_entity_id} broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_offstreet_payload_filename} ${second_parking_entity_id} broker_url=${b3_url} + ${response}= Create Entity ${second_offstreet_payload_filename} ${second_parking_entity_id} broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_parking_location_name_payload_filename} ${second_parking_entity_id} broker_url=${b4_url} + ${response}= Create Entity ${second_parking_location_name_payload_filename} ${second_parking_entity_id} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_vehicle_payload_filename} ${second_vehicle_entity_id} broker_url=${b4_url} + ${response}= Create Entity ${second_vehicle_payload_filename} ${second_vehicle_entity_id} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} ${registration_id1}= Generate Random CSR Id @@ -95,9 +97,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${first_inclusive_registration_payload_file_path} ... entity_id=${first_parking_entity_id} - ... endpoint=${b2_url} + ... endpoint=${broker_B_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -106,9 +108,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${second_inclusive_registration_payload_file_path} ... entity_id=${first_vehicle_entity_id} - ... endpoint=${b2_url} + ... endpoint=${broker_B_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -117,8 +119,8 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${first_redirect_registration_payload_file_path} ... entity_id=${first_parking_entity_id} - ... endpoint=${b3_url} - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ... endpoint=${broker_C_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id4}= Generate Random CSR Id @@ -127,8 +129,8 @@ Setup Initial Context Source Registrations ... ${registration_id4} ... ${second_redirect_registration_payload_file_path} ... entity_id=${second_parking_entity_id} - ... endpoint=${b4_url} - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ... endpoint=${broker_D_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id5}= Generate Random CSR Id @@ -137,19 +139,19 @@ Setup Initial Context Source Registrations ... ${registration_id5} ... ${third_redirect_registration_payload_file_path} ... entity_id=${second_vehicle_entity_id} - ... endpoint=${b4_url} - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ... endpoint=${broker_D_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_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 ${first_parking_entity_id} broker_url=${b2_url} - Delete Entity ${first_vehicle_entity_id} broker_url=${b2_url} - Delete Entity ${first_parking_entity_id} broker_url=${b3_url} - Delete Entity ${second_parking_entity_id} broker_url=${b3_url} - Delete Entity ${second_vehicle_entity_id} broker_url=${b4_url} - Delete Entity ${second_parking_entity_id} broker_url=${b4_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id4} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id5} broker_url=${broker_A_url} + Delete Entity ${first_parking_entity_id} broker_url=${broker_B_url} + Delete Entity ${first_vehicle_entity_id} broker_url=${broker_B_url} + Delete Entity ${first_parking_entity_id} broker_url=${broker_C_url} + Delete Entity ${second_parking_entity_id} broker_url=${broker_C_url} + Delete Entity ${second_vehicle_entity_id} broker_url=${broker_D_url} + Delete Entity ${second_parking_entity_id} broker_url=${broker_D_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_03_01.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_03_01.robot index 03947177ab9bbad63571181037d52d0c02fd7a57..35d9fccdeac1a136bfd5be27785cfb174b9596b9 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_03_01.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_03_01.robot @@ -1,6 +1,6 @@ *** Settings *** Documentation Four brokers are set up A, B, C and D. A has three registrations, one auxiliary for the entities created in B, one inclusive for the entities created in C and one inclusive for the entity created in D. -... Check that the entity returned from A match the attributes from the entity in B, C and D. + Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource @@ -18,19 +18,18 @@ ${second_full_offstreet_payload_filename} interoperability/offstreet ${first_inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-1.jsonld ${second_inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-2.jsonld ${auxiliary_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-auxiliary-1.jsonld -${b1_url} -${b2_url} -${b3_url} -${b4_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} *** Test Cases *** IOP_CNF_03_01 Query Entities Of Type OffstreetParking Via GET - [Documentation] Pre-conditions: No user context. Data only on leaves. B contains OffStreetParking2 without location. C contains OffStreetParking1. D contains OffStreetParking1 without location. - ... Registration established: Auxiliary in A to B. Inclusive in A to C. Inclusive in A to D. + [Documentation] Check that the entities returned from A match the attributes from the entities in B, C and D. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive additive-auxiliary 4_3_6 5_7_2 6_4_3_1 #Client queries all entities with type OffstreetParking in A and checks for a successful response. - ${response}= Query Entities entity_types=OffstreetParking broker_url=${b1_url} + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} &{payload}= Evaluate {i['id']: i for i in ${response.json()}} @@ -38,15 +37,15 @@ IOP_CNF_03_01 Query Entities Of Type OffstreetParking Via GET ${second_parking_payload}= Get From Dictionary ${payload} OffstreetParking:2 #Client queries all entities with type OffstreetParking in B, C and D. - ${response}= Query Entities entity_types=OffstreetParking broker_url=${b2_url} + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_B_url} ${payload}= Evaluate {i['id']: i for i in ${response.json()}} ${expected_parking1}= Get From Dictionary ${payload} OffstreetParking:2 - ${response}= Query Entities entity_types=OffstreetParking broker_url=${b3_url} + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_C_url} ${payload}= Evaluate {i['id']: i for i in ${response.json()}} ${expected_parking2}= Get From Dictionary ${payload} OffstreetParking:1 - ${response}= Query Entities entity_types=OffstreetParking broker_url=${b4_url} + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_D_url} ${payload}= Evaluate {i['id']: i for i in ${response.json()}} ${expected_parking3}= Get From Dictionary ${payload} OffstreetParking:2 @@ -59,14 +58,17 @@ IOP_CNF_03_01 Query Entities Of Type OffstreetParking Via GET *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: No user context. Data only on leaves. B contains OffStreetParking2 without location. C contains OffStreetParking1. D contains OffStreetParking1 without location. + ... Registration established: Auxiliary in A to B. Inclusive in A to C. Inclusive in A to D. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} - ${response}= Create Entity ${offstreet_no_location_payload_filename} ${entity_id} broker_url=${b2_url} + ${response}= Create Entity ${offstreet_no_location_payload_filename} ${entity_id} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${first_full_offstreet_payload_filename} ${entity_id} broker_url=${b3_url} + ${response}= Create Entity ${first_full_offstreet_payload_filename} ${entity_id} broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_full_offstreet_payload_filename} ${entity_id} broker_url=${b4_url} + ${response}= Create Entity ${second_full_offstreet_payload_filename} ${entity_id} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} ${registration_id1}= Generate Random CSR Id @@ -75,9 +77,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${auxiliary_registration_payload_file_path} ... entity_id=${entity_id} - ... endpoint=${b2_url} + ... endpoint=${broker_B_url} ... mode=auxiliary - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -86,9 +88,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${first_inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... endpoint=${b3_url} + ... endpoint=${broker_C_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -97,14 +99,14 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${second_inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... endpoint=${b4_url} - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ... endpoint=${broker_D_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_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 ${entity_id} broker_url=${b2_url} - Delete Entity ${entity_id} broker_url=${b3_url} - Delete Entity ${entity_id} broker_url=${b4_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_A_url} + Delete Entity ${entity_id} broker_url=${broker_B_url} + Delete Entity ${entity_id} broker_url=${broker_C_url} + Delete Entity ${entity_id} broker_url=${broker_D_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_03_02.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_03_02.robot index a06424c60cc76e6540238b2f81463daa05e7bc5d..41cf7c5b7c2b21246b6809976fda9c953235534e 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_03_02.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_03_02.robot @@ -1,6 +1,6 @@ *** Settings *** Documentation Four brokers are set up A, B, C and D. A has three registrations, one auxiliary for the entities created in B, one inclusive for the entities created in C and one inclusive for the entity created in D. -... Check that queried entities returned from B, C and D match the attributes from the entities in A. + Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource @@ -19,19 +19,18 @@ ${second_full_offstreet_payload_filename} interoperability/offstreet-parki ${parking_location_name_payload_filename} interoperability/offstreet-parking1-location-and-name.jsonld ${inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-1.jsonld ${auxiliary_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-auxiliary-3.jsonld -${b1_url} -${b2_url} -${b3_url} -${b4_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} *** Test Cases *** IOP_CNF_03_02 Query Entities Of Type OffstreetParking And Vehicle with attrs - [Documentation] Pre-conditions: No user context. Data only on leaves. B contains Vehicle:1. C contains OffStreetParking:1 with location and name only. D contains OffStreetParking:1, OffStreetParking:2 and Vehicle2. - ... Registrations established: Auxiliary in A to B. Inclusive in A to C. Inclusive in A to D. + [Documentation] Check that queried entities returned from B, C and D match the attributes from the entities in A. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive additive-auxiliary 4_3_6 5_7_2 6_4_3_1 #Client retrieves the location property from all entities with type OffstreetParking and Vehicle in A and checks for a successful response. - ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${b1_url} + ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} &{payload}= Evaluate {i['id']: i for i in ${response.json()}} @@ -42,15 +41,15 @@ IOP_CNF_03_02 Query Entities Of Type OffstreetParking And Vehicle with attrs Should Contain ${second_parking_payload} location #Client queries all entities with type OffstreetParking and Vehicle in B, C and D. - ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${b2_url} + ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${broker_B_url} ${payload}= Evaluate {i['id']: i for i in ${response.json()}} ${expected_entity1}= Get From Dictionary ${payload} Vehicle:1 - ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${b3_url} + ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${broker_C_url} ${payload}= Evaluate {i['id']: i for i in ${response.json()}} ${expected_entity2}= Get From Dictionary ${payload} OffstreetParking:1 - ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${b4_url} + ${response}= Query Entities entity_types=OffstreetParking,Vehicle attrs=location broker_url=${broker_D_url} ${payload}= Evaluate {i['id']: i for i in ${response.json()}} ${expected_entity3}= Get From Dictionary ${payload} OffstreetParking:1 ${expected_entity4}= Get From Dictionary ${payload} OffstreetParking:2 @@ -65,6 +64,9 @@ IOP_CNF_03_02 Query Entities Of Type OffstreetParking And Vehicle with attrs *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: No user context. Data only on leaves. B contains Vehicle:1. C contains OffStreetParking:1 with location and name only. D contains OffStreetParking:1, OffStreetParking:2 and Vehicle2. + ... Registrations established: Auxiliary in A to B. Inclusive in A to C. Inclusive in A to D. + ${parking_entity_id1}= Generate Random Parking Entity Id Set Suite Variable ${parking_entity_id1} ${parking_entity_id2}= Generate Random Parking Entity Id @@ -74,15 +76,15 @@ Setup Initial Context Source Registrations ${vehicle_entity_id2}= Generate Random Vehicle Entity Id Set Suite Variable ${vehicle_entity_id2} - ${response}= Create Entity ${first_vehicle_payload_filename} ${vehicle_entity_id1} broker_url=${b2_url} + ${response}= Create Entity ${first_vehicle_payload_filename} ${vehicle_entity_id1} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${parking_location_name_payload_filename} ${parking_entity_id1} broker_url=${b3_url} + ${response}= Create Entity ${parking_location_name_payload_filename} ${parking_entity_id1} broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${first_full_offstreet_payload_filename} ${parking_entity_id1} broker_url=${b4_url} + ${response}= Create Entity ${first_full_offstreet_payload_filename} ${parking_entity_id1} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_full_offstreet_payload_filename} ${parking_entity_id2} broker_url=${b4_url} + ${response}= Create Entity ${second_full_offstreet_payload_filename} ${parking_entity_id2} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${first_vehicle_payload_filename} ${vehicle_entity_id2} broker_url=${b4_url} + ${response}= Create Entity ${first_vehicle_payload_filename} ${vehicle_entity_id2} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} ${registration_id1}= Generate Random CSR Id @@ -91,9 +93,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${auxiliary_registration_payload_file_path} ... entity_id=${vehicle_entity_id1} - ... endpoint=${b2_url} + ... endpoint=${broker_B_url} ... mode=auxiliary - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -102,9 +104,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${inclusive_registration_payload_file_path} ... entity_id=${parking_entity_id1} - ... endpoint=${b3_url} + ... endpoint=${broker_C_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -113,9 +115,9 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${inclusive_registration_payload_file_path} ... entity_id=${vehicle_entity_id2} - ... endpoint=${b4_url} + ... endpoint=${broker_D_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id4}= Generate Random CSR Id @@ -124,8 +126,8 @@ Setup Initial Context Source Registrations ... ${registration_id4} ... ${inclusive_registration_payload_file_path} ... entity_id=${parking_entity_id1} - ... endpoint=${b3_url} - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ... endpoint=${broker_C_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id5}= Generate Random CSR Id @@ -134,19 +136,19 @@ Setup Initial Context Source Registrations ... ${registration_id5} ... ${inclusive_registration_payload_file_path} ... entity_id=${parking_entity_id2} - ... endpoint=${b4_url} + ... endpoint=${broker_D_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_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 ${vehicle_entity_id1} broker_url=${b2_url} - Delete Entity ${parking_entity_id1} broker_url=${b3_url} - Delete Entity ${parking_entity_id1} broker_url=${b4_url} - Delete Entity ${parking_entity_id2} broker_url=${b4_url} - Delete Entity ${vehicle_entity_id2} broker_url=${b4_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id4} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id5} broker_url=${broker_A_url} + Delete Entity ${vehicle_entity_id1} broker_url=${broker_B_url} + Delete Entity ${parking_entity_id1} broker_url=${broker_C_url} + Delete Entity ${parking_entity_id1} broker_url=${broker_D_url} + Delete Entity ${parking_entity_id2} broker_url=${broker_D_url} + Delete Entity ${vehicle_entity_id2} broker_url=${broker_D_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_04_01.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_04_01.robot index 4b8a4f66b7575fe7c29c44e9aa3782cc7d96f1cd..eb22dac89533453b74724d40c2f202f9fd904c64 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_04_01.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_04_01.robot @@ -1,6 +1,6 @@ *** Settings *** Documentation Five brokers are set up A, B, C, D and E. A has two registrations, one auxiliary for the entity created in B, one inclusive for the entity created in C. B has two registrations, one redirect for the entity created in D and one redirect for the entity created in E. C has two exclusive registrations to E. -... Check that the entities found in B, C, D and E can be queried from A via HTTP GET and said entities have the same attributes as the ones queried from A. + Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource @@ -22,20 +22,19 @@ ${first_exclusive_registration_payload_file_path} csourceRegistrations/inter ${second_exclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-exclusive-3.jsonld ${first_redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-1.jsonld ${second_redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-2.jsonld -${b1_url} -${b2_url} -${b3_url} -${b4_url} -${b5_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} +${broker_E_url} *** Test Cases *** IOP_CNF_04_01 Query Entities Of Type OffstreetParking Via GET - [Documentation] Pre-conditions: No user context. Data only on leaves. D contains OffStreetParking:1 with location and name only and OffStreetParking:2. E contains OffStreetParking:1 and OffStreetParking:2 with location and name only. - ... Registrations established: Auxiliary in A to B and Inclusive in A to C. Redirect in B to D and Redirect in B to E. Exclusive in C to E. + [Documentation] Check that the entities found in B, C, D and E can be queried from A via HTTP GET and said entities have the same attributes as the ones queried from A. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive additive-auxiliary proxy-exclusive proxy-redirect 4_3_6 5_7_2 6_4_3_1 #Client queries all entities with type OffstreetParking in A and checks for a successful response. - ${response}= Query Entities entity_types=OffstreetParking broker_url=${b1_url} + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} &{payload}= Evaluate {i['id']: i for i in ${response.json()}} @@ -47,10 +46,10 @@ IOP_CNF_04_01 Query Entities Of Type OffstreetParking Via GET Should Contain ${second_parking_payload} location #Client queries all entities with type OffstreetParking in D and E. - ${response}= Query Entities entity_types=OffstreetParking broker_url=${b4_url} + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_D_url} ${payload}= Evaluate {i['id']: i for i in ${response.json()}} ${expected_entity1}= Get From Dictionary ${payload} OffstreetParking:2 - ${response}= Query Entities entity_types=OffstreetParking broker_url=${b5_url} + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_E_url} ${payload}= Evaluate {i['id']: i for i in ${response.json()}} ${expected_entity2}= Get From Dictionary ${payload} OffstreetParking:1 ${expected_entity3}= Get From Dictionary ${payload} OffstreetParking:2 @@ -63,16 +62,19 @@ IOP_CNF_04_01 Query Entities Of Type OffstreetParking Via GET *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: No user context. Data only on leaves. D contains OffStreetParking:1 with location and name only and OffStreetParking:2. E contains OffStreetParking:1 and OffStreetParking:2 with location and name only. + ... Registrations established: Auxiliary in A to B and Inclusive in A to C. Redirect in B to D and Redirect in B to E. Exclusive in C to E. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} - ${response}= Create Entity ${first_parking_location_name_payload_filename} ${entity_id} broker_url=${b4_url} + ${response}= Create Entity ${first_parking_location_name_payload_filename} ${entity_id} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_full_parking_payload_filename} ${entity_id} broker_url=${b4_url} + ${response}= Create Entity ${second_full_parking_payload_filename} ${entity_id} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${first_full_parking_payload_filename} ${entity_id} broker_url=${b5_url} + ${response}= Create Entity ${first_full_parking_payload_filename} ${entity_id} broker_url=${broker_E_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_parking_location_name_payload_filename} ${entity_id} broker_url=${b5_url} + ${response}= Create Entity ${second_parking_location_name_payload_filename} ${entity_id} broker_url=${broker_E_url} Check Response Status Code 201 ${response.status_code} ${registration_id1}= Generate Random CSR Id @@ -81,9 +83,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${auxiliary_registration_payload_file_path} ... entity_id=${entity_id} - ... endpoint=${b2_url} + ... endpoint=${broker_B_url} ... mode=auxiliary - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -92,9 +94,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${first_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... endpoint=${b4_url} + ... endpoint=${broker_D_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b2_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -103,9 +105,9 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${second_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... endpoint=${b5_url} + ... endpoint=${broker_E_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b2_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} ${registration_id4}= Generate Random CSR Id @@ -114,9 +116,9 @@ Setup Initial Context Source Registrations ... ${registration_id4} ... ${inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... endpoint=${b3_url} + ... endpoint=${broker_C_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id5}= Generate Random CSR Id @@ -125,9 +127,9 @@ Setup Initial Context Source Registrations ... ${registration_id5} ... ${first_exclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... endpoint=${b5_url} + ... endpoint=${broker_E_url} ... mode=exclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b3_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} ${registration_id6}= Generate Random CSR Id @@ -136,19 +138,19 @@ Setup Initial Context Source Registrations ... ${registration_id6} ... ${second_exclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... endpoint=${b5_url} + ... endpoint=${broker_E_url} ... mode=exclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b3_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_C_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=${b2_url} - Delete Context Source Registration ${registration_id3} broker_url=${b2_url} - Delete Context Source Registration ${registration_id4} broker_url=${b1_url} - Delete Context Source Registration ${registration_id5} broker_url=${b3_url} - Delete Context Source Registration ${registration_id6} broker_url=${b3_url} - Delete Entity ${entity_id} broker_url=${b4_url} - Delete Entity ${entity_id} broker_url=${b4_url} - Delete Entity ${entity_id} broker_url=${b5_url} - Delete Entity ${entity_id} broker_url=${b5_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_B_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_B_url} + Delete Context Source Registration ${registration_id4} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id5} broker_url=${broker_C_url} + Delete Context Source Registration ${registration_id6} broker_url=${broker_C_url} + Delete Entity ${entity_id} broker_url=${broker_D_url} + Delete Entity ${entity_id} broker_url=${broker_D_url} + Delete Entity ${entity_id} broker_url=${broker_E_url} + Delete Entity ${entity_id} broker_url=${broker_E_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_04_02.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_04_02.robot index 5651aa0c4c4bd7cdcf196fbab7e9d21e885261bf..1c2a4f140252be05441986645dbd37d9615ab25e 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_04_02.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/QueryEntities/IOP_CNF_04_02.robot @@ -1,6 +1,6 @@ *** Settings *** Documentation Five brokers are set up A, B, C, D and E. A has two registrations, one auxiliary for the entity created in B, one inclusive for the entity created in C. B has two registrations, one redirect for the entity created in D and one redirect for the entity created in E. C has two exclusive registrations to E. -... Check that the entities found in B, C, D and E can be queried from A via HTTP POST and said entities have the same attributes as the ones queried from A. + Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource @@ -22,20 +22,19 @@ ${first_exclusive_registration_payload_file_path} csourceRegistrations/inter ${second_exclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-exclusive-3.jsonld ${first_redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-1.jsonld ${second_redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-2.jsonld -${b1_url} -${b2_url} -${b3_url} -${b4_url} -${b5_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} +${broker_E_url} *** Test Cases *** IOP_CNF_04_02 Query Entities Of Type OffstreetParking Via POST - [Documentation] Pre-conditions: No user context. Data only on leaves. D contains OffStreetParking:1 with location and name only and OffStreetParking2. E contains OffStreetParking:1 and OffStreetParking:2 with location and name only. - ... Registrations established: Auxiliary in A to B and Inclusive in A to C. Redirect in B to D and Redirect in B to E. Exclusive in C to E. + [Documentation] Check that the entities found in B, C, D and E can be queried from A via HTTP POST and said entities have the same attributes as the ones queried from A. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive additive-auxiliary proxy-exclusive proxy-redirect 4_3_6 5_7_2 6_23_2_1 #Client queries all entities with type OffstreetParking in A and checks for a successful response. - ${response}= Query Entities Via POST entity_types=OffstreetParking broker_url=${b1_url} + ${response}= Query Entities Via POST entity_types=OffstreetParking broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} &{payload}= Evaluate {i['id']: i for i in ${response.json()}} @@ -47,10 +46,10 @@ IOP_CNF_04_02 Query Entities Of Type OffstreetParking Via POST Should Contain ${second_parking_payload} location #Client queries all entities with type OffstreetParking in D and E. - ${response}= Query Entities entity_types=OffstreetParking broker_url=${b4_url} + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_D_url} ${payload}= Evaluate {i['id']: i for i in ${response.json()}} ${expected_entity1}= Get From Dictionary ${payload} OffstreetParking:2 - ${response}= Query Entities entity_types=OffstreetParking broker_url=${b5_url} + ${response}= Query Entities entity_types=OffstreetParking broker_url=${broker_E_url} ${payload}= Evaluate {i['id']: i for i in ${response.json()}} ${expected_entity2}= Get From Dictionary ${payload} OffstreetParking:1 ${expected_entity3}= Get From Dictionary ${payload} OffstreetParking:2 @@ -63,16 +62,19 @@ IOP_CNF_04_02 Query Entities Of Type OffstreetParking Via POST *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: No user context. Data only on leaves. D contains OffStreetParking:1 with location and name only and OffStreetParking2. E contains OffStreetParking:1 and OffStreetParking:2 with location and name only. + ... Registrations established: Auxiliary in A to B and Inclusive in A to C. Redirect in B to D and Redirect in B to E. Exclusive in C to E. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} - ${response}= Create Entity ${first_parking_location_name_payload_filename} ${entity_id} broker_url=${b4_url} + ${response}= Create Entity ${first_parking_location_name_payload_filename} ${entity_id} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_full_parking_payload_filename} ${entity_id} broker_url=${b4_url} + ${response}= Create Entity ${second_full_parking_payload_filename} ${entity_id} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${first_full_parking_payload_filename} ${entity_id} broker_url=${b5_url} + ${response}= Create Entity ${first_full_parking_payload_filename} ${entity_id} broker_url=${broker_E_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_parking_location_name_payload_filename} ${entity_id} broker_url=${b5_url} + ${response}= Create Entity ${second_parking_location_name_payload_filename} ${entity_id} broker_url=${broker_E_url} Check Response Status Code 201 ${response.status_code} ${registration_id1}= Generate Random CSR Id @@ -81,9 +83,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${auxiliary_registration_payload_file_path} ... entity_id=${entity_id} - ... endpoint=${b2_url} + ... endpoint=${broker_B_url} ... mode=auxiliary - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -92,9 +94,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${first_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... endpoint=${b4_url} + ... endpoint=${broker_D_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b2_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -103,9 +105,9 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${second_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... endpoint=${b5_url} + ... endpoint=${broker_E_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b2_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} ${registration_id4}= Generate Random CSR Id @@ -114,9 +116,9 @@ Setup Initial Context Source Registrations ... ${registration_id4} ... ${inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... endpoint=${b3_url} + ... endpoint=${broker_C_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id5}= Generate Random CSR Id @@ -125,9 +127,9 @@ Setup Initial Context Source Registrations ... ${registration_id5} ... ${first_exclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... endpoint=${b5_url} + ... endpoint=${broker_E_url} ... mode=exclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b3_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} ${registration_id6}= Generate Random CSR Id @@ -136,19 +138,19 @@ Setup Initial Context Source Registrations ... ${registration_id6} ... ${second_exclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... endpoint=${b5_url} + ... endpoint=${broker_E_url} ... mode=exclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b3_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_C_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=${b2_url} - Delete Context Source Registration ${registration_id3} broker_url=${b2_url} - Delete Context Source Registration ${registration_id4} broker_url=${b1_url} - Delete Context Source Registration ${registration_id5} broker_url=${b3_url} - Delete Context Source Registration ${registration_id6} broker_url=${b3_url} - Delete Entity ${entity_id} broker_url=${b4_url} - Delete Entity ${entity_id} broker_url=${b4_url} - Delete Entity ${entity_id} broker_url=${b5_url} - Delete Entity ${entity_id} broker_url=${b5_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_B_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_B_url} + Delete Context Source Registration ${registration_id4} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id5} broker_url=${broker_C_url} + Delete Context Source Registration ${registration_id6} broker_url=${broker_C_url} + Delete Entity ${entity_id} broker_url=${broker_D_url} + Delete Entity ${entity_id} broker_url=${broker_D_url} + Delete Entity ${entity_id} broker_url=${broker_E_url} + Delete Entity ${entity_id} broker_url=${broker_E_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_01_01.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_01_01.robot index d98e5e7476d05b45a122dc91a1b05222f221bb62..ea5ea6f8f742f5b52df849337eac1bfa4bd08937 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_01_01.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_01_01.robot @@ -1,40 +1,30 @@ *** Settings *** -Documentation Three brokers are set up A, B and C. A has two registrations, one inclusive for the entities created in B and one exclusive for the entity created in C. Check that the same entity created in B and C can be returned from A. +Documentation Three brokers are set up A, B and C. A has two registrations, one inclusive for the entities created in B and one exclusive for the entity created in C. -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/IOPUtils/InteroperabilityUtils.resource Test Setup Setup Initial Context Source Registrations Test Teardown Delete Entities and Delete Registrations *** Variables *** -${first_entity_payload_filename} interoperability/offstreet-parking1-full.jsonld -${second_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 -${b1_url} -${b2_url} -${b3_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} *** Test Cases *** IOP_CNF_01_01 Retrieve OffStreetParking:1 - [Documentation] Pre-conditions: no user context. Data only on leaves. B contains OffStreetParking1 and OffStreetParking2. C contains OffStreetParking2. - ... Registrations established: Inclusive in A to B. Exclusive in A to C. + [Documentation] Check that the same entity created in B and C can be returned from A. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive proxy-exclusive 4_3_6 5_7_1 #Client retrieves OffStreetParking:1 in A and checks for a successful response. - ${response}= Retrieve Entity ${entity_id1} broker_url=${b1_url} + ${response}= Retrieve Entity ${entity_id1} broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} Should Contain ${response.json()} availableSpotsNumber Should Contain ${response.json()} totalSpotsNumber #Client retrieves OffStreetParking:1 in B. ${expected_payload}= Load Entity ${first_entity_payload_filename} ${entity_id1} - ${response}= Retrieve Entity ${entity_id1} broker_url=${b2_url} + ${response}= Retrieve Entity ${entity_id1} broker_url=${broker_B_url} Check Response Status Code 200 ${response.status_code} #Client checks that the entity returned is the full entity. @@ -42,43 +32,53 @@ IOP_CNF_01_01 Retrieve OffStreetParking:1 *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: No user context. Data only on leaves. B contains OffStreetParking:1 and OffStreetParking:2. C contains OffStreetParking:2. + ... Registrations established: Inclusive in A to B. Exclusive in A to C. + ${entity_id1}= Generate Random Parking Entity Id Set Suite Variable ${entity_id1} - ${response}= Create Entity ${first_entity_payload_filename} ${entity_id1} broker_url=${b2_url} - Check Response Status Code 201 ${response.status_code} - ${entity_id2}= Generate Random Parking Entity Id Set Suite Variable ${entity_id2} - ${response}= Create Entity ${second_entity_payload_filename} ${entity_id2} broker_url=${b2_url} - Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_entity_payload_filename} ${entity_id2} broker_url=${b3_url} + + ${response}= Create Entity + ... ${IOP_REGISTRY_URL}[parking][full_1] + ... ${entity_id1} + ... broker_url=${broker_B_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_id1} - ... broker_url=${b2_url} - ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Entity + ... ${IOP_REGISTRY_URL}[parking][full_2] + ... ${entity_id2} + ... broker_url=${broker_B_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_id2} - ... broker_url=${b3_url} - ... mode=exclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Entity + ... ${IOP_REGISTRY_URL}[parking][full_2] + ... ${entity_id2} + ... broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} + @{first_set}= Create List + ... ${entity_id1} + ... ${IOP_REGISTRY_URL}[registration][inclusive_2] + ... inclusive + ... ${broker_B_url} + ... ${broker_A_url} + + @{second_set}= Create List + ... ${entity_id2} + ... ${IOP_REGISTRY_URL}[registration][exclusive_2] + ... exclusive + ... ${broker_C_url} + ... ${broker_A_url} + + Initialize IOP CNF 01 + ... ${first_set} + ... ${second_set} + 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 ${entity_id1} broker_url=${b2_url} - Delete Entity ${entity_id2} broker_url=${b2_url} - Delete Entity ${entity_id2} broker_url=${b3_url} \ No newline at end of file + @{entities_to_delete}= Create List ${entity_id1} ${entity_id2} + @{broker_count}= Create List ${broker_A_url} ${broker_B_url} ${broker_C_url} + Delete Registrations And Entities + ... ${entities_to_delete} + ... ${broker_count} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_01_02.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_01_02.robot index d5994bdd0262a5006aafa45c802d58a11dc3f819..f538dc5aee06e3ff612ed1355e6f87e00bcb4eef 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_01_02.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_01_02.robot @@ -1,40 +1,30 @@ *** Settings *** -Documentation Three brokers are set up A, B and C. A has two registrations, one inclusive for the the entity created in B and one exclusive for the entity created in C. Check that the entity returned from A has attributes from both entities in B and C. +Documentation Three brokers are set up A, B and C. A has two registrations, one inclusive for the the entity created in B and one exclusive for the entity created in C. -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/IOPUtils/InteroperabilityUtils.resource Test Setup Setup Initial Context Source Registrations Test Teardown Delete Entities and Delete Registrations *** Variables *** -${entity_payload_filename} interoperability/offstreet-parking2-no-location.jsonld -${full_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 -${b1_url} -${b2_url} -${b3_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} *** Test Cases *** IOP_CNF_01_02 Retrieve OffStreetParking:2 - [Documentation] Pre-conditions: no user context. Data only on leaves. B contains OffStreetParking2 without location. C contains OffStreetParking2. - ... Registrations established: Inclusive in A to B. Exclusive in A to C. + [Documentation] Check that the entity returned from A has attributes from both entities in B and C. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive proxy-exclusive 4_3_6 5_7_1 #Client retrieves OffStreetParking:2 in A and checks for a successful response. - ${response}= Retrieve Entity ${entity_id} broker_url=${b1_url} + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} ${payload}= Set To Dictionary ${response.json()} #Client retrieves OffStreetParking:2 in B and C. - ${response}= Retrieve Entity ${entity_id} broker_url=${b2_url} + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_B_url} ${first_expected_payload}= Set To Dictionary ${response.json()} - ${response}= Retrieve Entity ${entity_id} broker_url=${b3_url} + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_C_url} ${second_expected_payload}= Set To Dictionary ${response.json()} #Client checks that the entity returned from A has attributes from both entities in B and C. @@ -44,37 +34,45 @@ IOP_CNF_01_02 Retrieve OffStreetParking:2 *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: no user context. Data only on leaves. B contains OffStreetParking2 without location. C contains OffStreetParking2. + ... Registrations established: Inclusive in A to B. Exclusive in A to C. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} - ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${b2_url} - Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${full_entity_payload_filename} ${entity_id} broker_url=${b3_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} + ${response}= Create Entity + ... ${IOP_REGISTRY_URL}[parking][no_location_2] + ... ${entity_id} + ... broker_url=${broker_B_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} + ${response}= Create Entity + ... ${IOP_REGISTRY_URL}[parking][full_2] + ... ${entity_id} + ... broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} + @{first_set}= Create List + ... ${entity_id} + ... ${IOP_REGISTRY_URL}[registration][inclusive_2] + ... inclusive + ... ${broker_B_url} + ... ${broker_A_url} + + @{second_set}= Create List + ... ${entity_id} + ... ${IOP_REGISTRY_URL}[registration][exclusive_2] + ... exclusive + ... ${broker_C_url} + ... ${broker_A_url} + + Initialize IOP CNF 01 + ... ${first_set} + ... ${second_set} + 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 ${entity_id} broker_url=${b2_url} - Delete Entity ${entity_id} broker_url=${b3_url} \ No newline at end of file + @{entities_to_delete}= Create List ${entity_id} + @{broker_count}= Create List ${broker_A_url} ${broker_B_url} ${broker_C_url} + Delete Registrations And Entities + ... ${entities_to_delete} + ... ${broker_count} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_02_01.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_02_01.robot index a5ea69884581c52085d5bfd2a10679c53e1a95e6..af84712525b555b988edb0ff1ee0952c3f0aac2f 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_02_01.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_02_01.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation Four brokers are set up A, B, C and D. A has three registrations, one inclusive for the entity created in B, one redirect for the entity created in C and one redirect for the entity created in D. Check that the entity returned from A has attributes from the entities in B and C. +Documentation Four brokers are set up A, B, C and D. A has three registrations, one inclusive for the entity created in B, one redirect for the entity created in C and one redirect for the entity created in D. Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource @@ -17,28 +17,27 @@ ${first_full_entity_payload_filename} interoperability/offstreet-parkin ${second_full_entity_payload_filename} interoperability/offstreet-parking2-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 -${b1_url} -${b2_url} -${b3_url} -${b4_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} *** Test Cases *** IOP_CNF_02_01 Retrieve OffStreetParking:1 - [Documentation] Pre-conditions: no user context. Data only on leaves. B contains OffStreetParking1 without location. C contains OffStreetParking1. D contains OffStreetParking2. - ... Registrations established: Inclusive in A to B. Redirect in A to C. Redirect in A to D. + [Documentation] Check that the entity returned from A has attributes from the entities in B and C. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive proxy-redirect 4_3_6 5_7_1 #Client retrieves OffStreetParking:1 in A and checks for a partial successful. The entity returned should be the whole entity. - ${response}= Retrieve Entity ${entity_id} broker_url=${b1_url} + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_A_url} Check Response Status Code 207 ${response.status_code} ${payload}= Set To Dictionary ${response.json()} Should Be Equal ${payload} ${first_full_entity_payload_filename} #Client retrieves OffStreetParking:1 in B and C. - ${response}= Retrieve Entity ${entity_id} broker_url=${b2_url} + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_B_url} ${first_expected_payload}= Set To Dictionary ${response.json()} - ${response}= Retrieve Entity ${entity_id} broker_url=${b3_url} + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_C_url} ${second_expected_payload}= Set To Dictionary ${response.json()} #Client checks that the entity returned from A has attributes from the entities in B and C. @@ -48,13 +47,16 @@ IOP_CNF_02_01 Retrieve OffStreetParking:1 *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: no user context. Data only on leaves. B contains OffStreetParking1 without location. C contains OffStreetParking1. D contains OffStreetParking2. + ... Registrations established: Inclusive in A to B. Redirect in A to C. Redirect in A to D. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} - ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${b2_url} + ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${first_full_entity_payload_filename} ${entity_id} broker_url=${b3_url} + ${response}= Create Entity ${first_full_entity_payload_filename} ${entity_id} broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_full_entity_payload_filename} ${entity_id} broker_url=${b4_url} + ${response}= Create Entity ${second_full_entity_payload_filename} ${entity_id} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} ${registration_id1}= Generate Random CSR Id @@ -63,9 +65,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b2_url} + ... broker_url=${broker_B_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -74,9 +76,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b3_url} + ... broker_url=${broker_C_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -85,15 +87,15 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b4_url} + ... broker_url=${broker_D_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_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 ${entity_id} broker_url=${b2_url} - Delete Entity ${entity_id} broker_url=${b3_url} - Delete Entity ${entity_id} broker_url=${b4_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_A_url} + Delete Entity ${entity_id} broker_url=${broker_B_url} + Delete Entity ${entity_id} broker_url=${broker_C_url} + Delete Entity ${entity_id} broker_url=${broker_D_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_02_02.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_02_02.robot index 1f26d3a0aebb055b16f417d05bd645dc55aa393c..5f676afedcb32e469a3f84e4a64efa5846cda8b7 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_02_02.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_02_02.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation Four brokers are set up A, B, C and D. A has three registrations, one inclusive for the entity created in B, one redirect for the entity created in C and one redirect for the entity created in D. Check that the entity returned from C has the same location attribute found in A. +Documentation Four brokers are set up A, B, C and D. A has three registrations, one inclusive for the entity created in B, one redirect for the entity created in C and one redirect for the entity created in D. Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource @@ -17,25 +17,24 @@ ${first_full_entity_payload_filename} interoperability/offstreet-parkin ${second_full_entity_payload_filename} interoperability/offstreet-parking2-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 -${b1_url} -${b2_url} -${b3_url} -${b4_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} *** Test Cases *** IOP_CNF_02_02 Retrieve OffStreetParking:1 Location Attribute - [Documentation] Pre-conditions: no user context. Data only on leaves. B contains OffStreetParking1. C contains OffStreetParking1 with location and name only. D contains OffStreetParking2. - ... Registrations established: Inclusive in A to B. Redirect in A to C. Redirect in A to D. + [Documentation] Check that the entity returned from C has the same location attribute found in A. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive proxy-redirect 4_3_6 5_7_1 #Client retrieves OffStreetParking:1 in A and checks for a partial successful. The entity returned should contain the location attribute. - ${response}= Retrieve Entity ${entity_id} broker_url=${b1_url} + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_A_url} Check Response Status Code 207 ${response.status_code} ${payload}= Set To Dictionary ${response.json()} Should Contain ${payload} location #Client retrieves OffStreetParking:1 in C with local=true. - ${response}= Retrieve Entity ${entity_id} broker_url=${b3_url} local=true + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_C_url} local=true ${expected_payload}= Set To Dictionary ${response.json()} #Client checks that the location attribute in C is the same as the one in A. @@ -43,13 +42,16 @@ IOP_CNF_02_02 Retrieve OffStreetParking:1 Location Attribute *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: no user context. Data only on leaves. B contains OffStreetParking1. C contains OffStreetParking1 with location and name only. D contains OffStreetParking2. + ... Registrations established: Inclusive in A to B. Redirect in A to C. Redirect in A to D. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} - ${response}= Create Entity ${first_full_entity_payload_filename} ${entity_id} broker_url=${b2_url} + ${response}= Create Entity ${first_full_entity_payload_filename} ${entity_id} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${b3_url} + ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_full_entity_payload_filename} ${entity_id} broker_url=${b4_url} + ${response}= Create Entity ${second_full_entity_payload_filename} ${entity_id} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} ${registration_id1}= Generate Random CSR Id @@ -58,9 +60,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b2_url} + ... broker_url=${broker_B_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -69,9 +71,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b3_url} + ... broker_url=${broker_C_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -80,15 +82,15 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b4_url} + ... broker_url=${broker_D_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_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 ${entity_id} broker_url=${b2_url} - Delete Entity ${entity_id} broker_url=${b3_url} - Delete Entity ${entity_id} broker_url=${b4_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_A_url} + Delete Entity ${entity_id} broker_url=${broker_B_url} + Delete Entity ${entity_id} broker_url=${broker_C_url} + Delete Entity ${entity_id} broker_url=${broker_D_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_03_01.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_03_01.robot index 4128d647bc7044d1850902a28a69ce8e5b3760d4..de21b790c7cf6e67dbd662349e54b3c3cfe5befd 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_03_01.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_03_01.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation Four brokers are set up A, B, C and D. A has three registrations, one auxiliary for the entity created in B, one inclusive for the entity created in C and one inclusive for the entity created in D. Check that a partial response was returned from A and that the entity matches the one in B and it does not contain the attribute location found in C. +Documentation Four brokers are set up A, B, C and D. A has three registrations, one auxiliary for the entity created in B, one inclusive for the entity created in C and one inclusive for the entity created in D. Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource @@ -18,29 +18,28 @@ ${second_full_entity_payload_filename} interoperability/offstreet ${first_inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-1.jsonld ${second_inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-2.jsonld ${auxiliary_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-auxiliary-2.jsonld -${b1_url} -${b2_url} -${b3_url} -${b4_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} *** Test Cases *** IOP_CNF_03_01 Retrieve OffStreetParking:1 - [Documentation] Pre-conditions: no user context. Data on every broker. A contains OffStreetParking1 without location. B contains OffStreetParking1. C contains OffStreetParking1 without location. D contains OffStreetParking2. - ... Registrations established: Auxiliary in A to B. Inclusive in A to C. Inclusive in A to D. + [Documentation] Check that a partial response was returned from A and that the entity matches the one in B and it does not contain the attribute location found in C. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive additive-auxiliary 4_3_6 5_7_1 #Client retrieves OffStreetParking:1 in A and checks for a partial successful. The entity returned should not contain the location attribute. - ${response}= Retrieve Entity ${entity_id} broker_url=${b1_url} + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_A_url} Check Response Status Code 207 ${response.status_code} ${payload}= Set To Dictionary ${response.json()} Should Not Contain ${payload} location #Client retrieves OffStreetParking:1 in B, C and D with the local=true flag. - ${response}= Retrieve Entity ${entity_id} broker_url=${b1_url} local=true + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_A_url} local=true ${first_payload}= Set To Dictionary ${response.json()} - ${response}= Retrieve Entity ${entity_id} broker_url=${b2_url} local=true + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_B_url} local=true ${second_payload}= Set To Dictionary ${response.json()} - ${response}= Retrieve Entity ${entity_id} broker_url=${b3_url} local=true + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_C_url} local=true ${third_payload}= Set To Dictionary ${response.json()} #Client checks that the entity returned from A should have the same attributes as the one in B and it should not contain the attribute location found in C. @@ -49,15 +48,18 @@ IOP_CNF_03_01 Retrieve OffStreetParking:1 *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: no user context. Data on every broker. A contains OffStreetParking1 without location. B contains OffStreetParking1. C contains OffStreetParking1 without location. D contains OffStreetParking2. + ... Registrations established: Auxiliary in A to B. Inclusive in A to C. Inclusive in A to D. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} - ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${b1_url} + ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${first_full_entity_payload_filename} ${entity_id} broker_url=${b2_url} + ${response}= Create Entity ${first_full_entity_payload_filename} ${entity_id} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${b3_url} + ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${second_full_entity_payload_filename} ${entity_id} broker_url=${b4_url} + ${response}= Create Entity ${second_full_entity_payload_filename} ${entity_id} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} ${registration_id1}= Generate Random CSR Id @@ -66,9 +68,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${auxiliary_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b2_url} + ... broker_url=${broker_B_url} ... mode=auxiliary - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -77,9 +79,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${first_inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b3_url} + ... broker_url=${broker_C_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -88,15 +90,15 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${second_inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b4_url} + ... broker_url=${broker_D_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_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 ${entity_id} broker_url=${b2_url} - Delete Entity ${entity_id} broker_url=${b3_url} - Delete Entity ${entity_id} broker_url=${b4_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_A_url} + Delete Entity ${entity_id} broker_url=${broker_B_url} + Delete Entity ${entity_id} broker_url=${broker_C_url} + Delete Entity ${entity_id} broker_url=${broker_D_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_03_02.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_03_02.robot index f4ac18b968a0835d6657cdfde0455daaf91ec4a2..ee0a7e95732194c19941e8ce43603001049411e5 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_03_02.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_03_02.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation Four brokers are set up A, B, C and D. A has three registrations, one auxiliary for the entity created in B, one inclusive for the entity created in C and one inclusive for the entity created in D. Check the entity returned from A contains the location property and said attribute is the same as the one returned from C. +Documentation Four brokers are set up A, B, C and D. A has three registrations, one auxiliary for the entity created in B, one inclusive for the entity created in C and one inclusive for the entity created in D. Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource @@ -18,25 +18,24 @@ ${full_entity_payload_filename} interoperability/offstreet ${first_inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-1.jsonld ${second_inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-2.jsonld ${auxiliary_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-auxiliary-2.jsonld -${b1_url} -${b2_url} -${b3_url} -${b4_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} *** Test Cases *** IOP_CNF_03_02 Retrieve OffStreetParking:1 Location Attribute - [Documentation] Pre-conditions: no user context. Data on every broker. A contains OffStreetParking1 without location. B contains OffStreetParking1. C contains OffStreetParking1 with location and name only. D contains OffStreetParking1 without location. - ... Registrations established: Auxiliary in A to B. Inclusive in A to C. Inclusive in A to D. + [Documentation] Check the entity returned from A contains the location property and said attribute is the same as the one returned from C. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive additive-auxiliary 4_3_6 5_7_1 #Client retrieves OffStreetParking:1 in A and checks for a partial successful. The entity returned should only contain the location attribute. - ${response}= Retrieve Entity ${entity_id} broker_url=${b1_url} + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_A_url} Check Response Status Code 207 ${response.status_code} ${payload}= Set To Dictionary ${response.json()} Should Contain ${payload} location #Client retrieves OffStreetParking:1 in C with local=true. - ${response}= Retrieve Entity ${entity_id} broker_url=${b3_url} local=true + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_C_url} local=true ${expected_payload}= Set To Dictionary ${response.json()} #Client checks that the location attribute in A is the same as the one in C. @@ -44,15 +43,18 @@ IOP_CNF_03_02 Retrieve OffStreetParking:1 Location Attribute *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: no user context. Data on every broker. A contains OffStreetParking1 without location. B contains OffStreetParking1. C contains OffStreetParking1 with location and name only. D contains OffStreetParking1 without location. + ... Registrations established: Auxiliary in A to B. Inclusive in A to C. Inclusive in A to D. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} - ${response}= Create Entity ${no_location_entity_payload_filename} ${entity_id} broker_url=${b1_url} + ${response}= Create Entity ${no_location_entity_payload_filename} ${entity_id} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${full_entity_payload_filename} ${entity_id} broker_url=${b2_url} + ${response}= Create Entity ${full_entity_payload_filename} ${entity_id} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${location_name_entity_payload_filename} ${entity_id} broker_url=${b3_url} + ${response}= Create Entity ${location_name_entity_payload_filename} ${entity_id} broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${no_location_entity_payload_filename} ${entity_id} broker_url=${b4_url} + ${response}= Create Entity ${no_location_entity_payload_filename} ${entity_id} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} ${registration_id1}= Generate Random CSR Id @@ -61,9 +63,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${auxiliary_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b2_url} + ... broker_url=${broker_B_url} ... mode=auxiliary - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -72,9 +74,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${first_inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b3_url} + ... broker_url=${broker_C_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -83,15 +85,15 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${second_inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b4_url} + ... broker_url=${broker_D_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_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 ${entity_id} broker_url=${b2_url} - Delete Entity ${entity_id} broker_url=${b3_url} - Delete Entity ${entity_id} broker_url=${b4_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_A_url} + Delete Entity ${entity_id} broker_url=${broker_B_url} + Delete Entity ${entity_id} broker_url=${broker_C_url} + Delete Entity ${entity_id} broker_url=${broker_D_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_04_01.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_04_01.robot index 4e9c9279cfaa6d94d18cafb98374a1554f0810dd..ddfd993cb630f9983c2d1704cc1da6d9486d612c 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_04_01.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_04_01.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation Five brokers are set up A, B, C, D and E. A has two registrations, one auxiliary for the entity created in B, one inclusive for the entity created in C. B has two registrations, one redirect for the entity created in D and one redirect for the entity created in E. C shall establish one exclusive registration to E. Check that the entity returned from A has attributes from the entity in D and E. +Documentation Five brokers are set up A, B, C, D and E. A has two registrations, one auxiliary for the entity created in B, one inclusive for the entity created in C. B has two registrations, one redirect for the entity created in D and one redirect for the entity created in E. C shall establish one exclusive registration to E. Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource @@ -19,27 +19,26 @@ ${auxiliary_registration_payload_file_path} csourceRegistrations/intero ${exclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-exclusive-1.jsonld ${first_redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-1.jsonld ${second_redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-2.jsonld -${b1_url} -${b2_url} -${b3_url} -${b4_url} -${b5_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} +${broker_E_url} *** Test Cases *** IOP_CNF_04_01 Retrieve OffStreetParking:1 - [Documentation] Pre-conditions: no user context. Data only on leaves. D contains OffStreetParking1 without location. E contains OffStreetParking1. - ... Registrations established: Auxiliary in A to B and Inclusive in A to C. Redirect in B to D and Redirect in B to E. Exclusive in C to E. + [Documentation] Check that the entity returned from A has attributes from the entity in D and E. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive additive-auxiliary proxy-redirect proxy-exclusive 4_3_6 5_7_1 #Client retrieves OffStreetParking:1 in A and checks for a successful response. - ${response}= Retrieve Entity ${entity_id} broker_url=${b1_url} + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} ${payload}= Set To Dictionary ${response.json()} #Client retrieves OffStreetParking:1 in D and E. - ${response}= Retrieve Entity ${entity_id} broker_url=${b4_url} + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_D_url} ${first_expected_payload}= Set To Dictionary ${response.json()} - ${response}= Retrieve Entity ${entity_id} broker_url=${b5_url} + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_E_url} ${second_expected_payload}= Set To Dictionary ${response.json()} #Client checks that the entity returned from A has attributes from the entity in D and E. @@ -49,11 +48,14 @@ IOP_CNF_04_01 Retrieve OffStreetParking:1 *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: no user context. Data only on leaves. D contains OffStreetParking1 without location. E contains OffStreetParking1. + ... Registrations established: Auxiliary in A to B and Inclusive in A to C. Redirect in B to D and Redirect in B to E. Exclusive in C to E. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} - ${response}= Create Entity ${no_location_entity_payload_filename} ${entity_id} broker_url=${b4_url} + ${response}= Create Entity ${no_location_entity_payload_filename} ${entity_id} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${full_entity_payload_filename} ${entity_id} broker_url=${b5_url} + ${response}= Create Entity ${full_entity_payload_filename} ${entity_id} broker_url=${broker_E_url} Check Response Status Code 201 ${response.status_code} ${registration_id1}= Generate Random CSR Id @@ -62,9 +64,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${auxiliary_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b2_url} + ... broker_url=${broker_B_url} ... mode=auxiliary - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -73,9 +75,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${first_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b4_url} + ... broker_url=${broker_D_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b2_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -84,9 +86,9 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${second_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b5_url} + ... broker_url=${broker_E_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b2_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} ${registration_id4}= Generate Random CSR Id @@ -95,9 +97,9 @@ Setup Initial Context Source Registrations ... ${registration_id4} ... ${inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b3_url} + ... broker_url=${broker_C_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id5}= Generate Random CSR Id @@ -106,16 +108,16 @@ Setup Initial Context Source Registrations ... ${registration_id5} ... ${exclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b5_url} + ... broker_url=${broker_E_url} ... mode=exclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b3_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_C_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=${b2_url} - Delete Context Source Registration ${registration_id3} broker_url=${b2_url} - Delete Context Source Registration ${registration_id4} broker_url=${b1_url} - Delete Context Source Registration ${registration_id5} broker_url=${b3_url} - Delete Entity ${entity_id} broker_url=${b4_url} - Delete Entity ${entity_id} broker_url=${b5_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_B_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_B_url} + Delete Context Source Registration ${registration_id4} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id5} broker_url=${broker_C_url} + Delete Entity ${entity_id} broker_url=${broker_D_url} + Delete Entity ${entity_id} broker_url=${broker_E_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_04_02.robot b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_04_02.robot index ab2f5b4e4661566bf87aa18eb8ada1b8345ec588..e9f473b92353119e3b724e28ad7dbdeb17dbcbf6 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_04_02.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Consumption/Entity/RetrieveEntity/IOP_CNF_04_02.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation Five brokers are set up A, B, C, D and E. A has two registrations, one auxiliary for the entity created in B, one inclusive for the entity created in C. B has two registrations, one redirect for the entity created in D and one redirect for the entity created in E. C shall establish one exclusive registration to E. Check that the entity returned from A match the attributes from the entity in B, C and E. +Documentation Five brokers are set up A, B, C, D and E. A has two registrations, one auxiliary for the entity created in B, one inclusive for the entity created in C. B has two registrations, one redirect for the entity created in D and one redirect for the entity created in E. C shall establish one exclusive registration to E. Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource @@ -20,30 +20,29 @@ ${auxiliary_registration_payload_file_path} csourceRegistrations/intero ${exclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-exclusive-3.jsonld ${second_redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-2.jsonld ${third_redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-3.jsonld -${b1_url} -${b2_url} -${b3_url} -${b4_url} -${b5_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} +${broker_E_url} *** Test Cases *** IOP_CNF_04_02 Retrieve OffStreetParking:1 Location Attribute - [Documentation] Pre-conditions: no user context. Data on every broker. A contains OffStreetParking1 without location. B contains OffStreetParking1 without location. C contains OffStreetParking1 without location. D contains OffStreetParking1. E contains OffStreetParking1 with location and name only. - ... Registrations established: Auxiliary in A to B and Inclusive in A to C. Redirect in B to D and Redirect in B to E. Exclusive in C to E. + [Documentation] Check that the entity returned from A match the attributes from the entity in B, C and E. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive additive-auxiliary proxy-redirect proxy-exclusive 4_3_6 5_7_1 #Client retrieves OffStreetParking:1 in A and checks for a successful response. - ${response}= Retrieve Entity ${entity_id} broker_url=${b1_url} + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} ${payload}= Set To Dictionary ${response.json()} Should Contain ${payload} location #Client retrieves OffStreetParking:1 in B, C and E with local=true. - ${response}= Retrieve Entity ${entity_id} broker_url=${b2_url} local=true + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_B_url} local=true ${first_expected_payload}= Set To Dictionary ${response.json()} - ${response}= Retrieve Entity ${entity_id} broker_url=${b3_url} local=true + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_C_url} local=true ${second_expected_payload}= Set To Dictionary ${response.json()} - ${response}= Retrieve Entity ${entity_id} broker_url=${b5_url} local=true + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_E_url} local=true ${third_expected_payload}= Set To Dictionary ${response.json()} #Client checks that the entity returned from A should have the same attributes as the one in B, C and E. @@ -54,17 +53,20 @@ IOP_CNF_04_02 Retrieve OffStreetParking:1 Location Attribute *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Pre-conditions: no user context. Data on every broker. A contains OffStreetParking1 without location. B contains OffStreetParking1 without location. C contains OffStreetParking1 without location. D contains OffStreetParking1. E contains OffStreetParking1 with location and name only. + ... Registrations established: Auxiliary in A to B and Inclusive in A to C. Redirect in B to D and Redirect in B to E. Exclusive in C to E. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} - ${response}= Create Entity ${no_location_entity_payload_filename} ${entity_id} broker_url=${b1_url} + ${response}= Create Entity ${no_location_entity_payload_filename} ${entity_id} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${no_location_entity_payload_filename} ${entity_id} broker_url=${b2_url} + ${response}= Create Entity ${no_location_entity_payload_filename} ${entity_id} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${no_location_entity_payload_filename} ${entity_id} broker_url=${b3_url} + ${response}= Create Entity ${no_location_entity_payload_filename} ${entity_id} broker_url=${broker_C_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${full_entity_payload_filename} ${entity_id} broker_url=${b4_url} + ${response}= Create Entity ${full_entity_payload_filename} ${entity_id} broker_url=${broker_D_url} Check Response Status Code 201 ${response.status_code} - ${response}= Create Entity ${location_name_entity_payload_filename} ${entity_id} broker_url=${b5_url} + ${response}= Create Entity ${location_name_entity_payload_filename} ${entity_id} broker_url=${broker_E_url} Check Response Status Code 201 ${response.status_code} ${registration_id1}= Generate Random CSR Id @@ -73,9 +75,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${auxiliary_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b2_url} + ... broker_url=${broker_B_url} ... mode=auxiliary - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -84,9 +86,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${second_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b4_url} + ... broker_url=${broker_D_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b2_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -95,9 +97,9 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${third_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b5_url} + ... broker_url=${broker_E_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b2_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} ${registration_id4}= Generate Random CSR Id @@ -106,9 +108,9 @@ Setup Initial Context Source Registrations ... ${registration_id4} ... ${inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b3_url} + ... broker_url=${broker_C_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id5}= Generate Random CSR Id @@ -117,19 +119,19 @@ Setup Initial Context Source Registrations ... ${registration_id5} ... ${exclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b5_url} + ... broker_url=${broker_E_url} ... mode=exclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b3_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_C_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=${b2_url} - Delete Context Source Registration ${registration_id3} broker_url=${b2_url} - Delete Context Source Registration ${registration_id4} broker_url=${b1_url} - Delete Context Source Registration ${registration_id5} broker_url=${b3_url} - Delete Entity ${entity_id} broker_url=${b1_url} - Delete Entity ${entity_id} broker_url=${b2_url} - Delete Entity ${entity_id} broker_url=${b3_url} - Delete Entity ${entity_id} broker_url=${b4_url} - Delete Entity ${entity_id} broker_url=${b5_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_B_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_B_url} + Delete Context Source Registration ${registration_id4} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id5} broker_url=${broker_C_url} + Delete Entity ${entity_id} broker_url=${broker_A_url} + Delete Entity ${entity_id} broker_url=${broker_B_url} + Delete Entity ${entity_id} broker_url=${broker_C_url} + Delete Entity ${entity_id} broker_url=${broker_D_url} + Delete Entity ${entity_id} broker_url=${broker_E_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_01_01.robot b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_01_01.robot index b5f6ed3ec1508b09487011a463e15012fe9ca2f1..bd134815098094bb8bf8f6b2bc3da1722e1ba2bf 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_01_01.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_01_01.robot @@ -1,43 +1,33 @@ *** Settings *** Documentation Three brokers are set up A, B and C. A has two registrations, one inclusive for the entities created in B and one exclusive for the entity created in C. -... Check that the entity is created in A and B but not in C. -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/IOPUtils/InteroperabilityUtils.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 -${b1_url} -${b2_url} -${b3_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} *** Test Cases *** IOP_CNF_01_01 Create OffStreetParking:1 - [Documentation] Pre-conditions: No user context. No data in any broker. - ... Registrations established: Inclusive in A to B. Exclusive in A to C. + [Documentation] Check that the entity is created in A and B but not in C. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive proxy-exclusive 4_3_6 5_6_1 #Create OffStreetParking:1 in A and check for a successful response - ${expected_payload}= Load Entity ${entity_payload_filename} ${entity_id} - ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${b1_url} + ${expected_payload}= Load Entity ${IOP_REGISTRY_URL}[parking][full_1] ${entity_id} + ${response}= Create Entity ${IOP_REGISTRY_URL}[parking][full_1] ${entity_id} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} - + #Agent checks, with local=true, that the entity is created in A - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b1_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} Should Be Equal ${response.json()} ${expected_payload} #Agent checks, with local=true, that the entity is created in B and only contains the attributes availableSpotsNumber and totalSpotsNumber - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b2_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_B_url} Check Response Status Code 200 ${response.status_code} Should Contain ${response.json()} availableSpotsNumber Should Contain ${response.json()} totalSpotsNumber @@ -45,37 +35,37 @@ IOP_CNF_01_01 Create OffStreetParking:1 Should Not Contain ${response.json()} location #Agent checks, with local=true, that the entity is not created in C - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b3_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_C_url} Check Response Status Code 404 ${response.status_code} *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Registrations established: Inclusive in A to B. Exclusive in A to C. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} - ${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} + @{first_set}= Create List + ... ${entity_id} + ... ${IOP_REGISTRY_URL}[registration][inclusive_2] + ... inclusive + ... ${broker_B_url} + ... ${broker_A_url} - ${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} + @{second_set}= Create List + ... ${entity_id} + ... ${IOP_REGISTRY_URL}[registration][exclusive_2] + ... exclusive + ... ${broker_C_url} + ... ${broker_A_url} + + Initialize IOP CNF 01 + ... ${first_set} + ... ${second_set} 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 ${entity_id} broker_url=${b1_url} \ No newline at end of file + @{entities_to_delete}= Create List ${entity_id} + @{broker_count}= Create List ${broker_A_url} ${broker_B_url} ${broker_C_url} + Delete Registrations And Entities + ... ${entities_to_delete} + ... ${broker_count} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_01_02.robot b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_01_02.robot index da5c166986ad2116a62ff22ab9964f182879b3f0..cf48e65565ad17a61fa812e5af83ddbec1bb7117 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_01_02.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_01_02.robot @@ -1,50 +1,37 @@ *** Settings *** Documentation Three brokers are set up A, B and C. A has two registrations, one inclusive for the entities created in B and one exclusive for the entity created in C. -... Check that, in A and B, the entity is created containing the location attribute, while in C it is not contained. - -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 +Resource ${EXECDIR}/resources/IOPUtils/InteroperabilityUtils.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 -${b1_url} -${b2_url} -${b3_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} *** Test Cases *** IOP_CNF_01_02 Create OffStreetParking:2 - [Documentation] Pre-conditions: No user context. No data in any broker. - ... Registrations established: Inclusive in A to B. Exclusive in A to C. + [Documentation] Check that, in A and B, the entity is created containing the location attribute, while in C it is not contained. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive proxy-exclusive 4_3_6 5_6_1 #Create the full entity of OffStreetParking:2 in A and check for a successful response - ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${b1_url} + ${response}= Create Entity ${IOP_REGISTRY_URL}[parking][full_2] ${entity_id} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} #Agent checks, with local=true, that the entity is created in A and does not contain the location property - ${response}= Retrieve Entity ${entity_id} broker_url=${b1_url} local=true + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_A_url} local=true Check Response Status Code 200 ${response.status_code} Should Not Contain ${response.json()} location #Agent checks, with local=true, that the entity is created in B and does not contain the location property - ${response}= Retrieve Entity ${entity_id} broker_url=${b2_url} local=true + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_B_url} local=true Check Response Status Code 200 ${response.status_code} Should Not Contain ${response.json()} location #Agent checks, with local=true, that the entity is created in C and only contains the location property - ${response}= Retrieve Entity ${entity_id} broker_url=${b3_url} local=true + ${response}= Retrieve Entity ${entity_id} broker_url=${broker_C_url} local=true Check Response Status Code 200 ${response.status_code} Should Contain ${response.json()} location Should Not Contain ${response.json()} name @@ -53,32 +40,32 @@ IOP_CNF_01_02 Create OffStreetParking:2 *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Registrations established: Inclusive in A to B. Exclusive in A to C. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} - ${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} + @{first_set}= Create List + ... ${entity_id} + ... ${IOP_REGISTRY_URL}[registration][inclusive_2] + ... inclusive + ... ${broker_B_url} + ... ${broker_A_url} - ${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} + @{second_set}= Create List + ... ${entity_id} + ... ${IOP_REGISTRY_URL}[registration][exclusive_2] + ... exclusive + ... ${broker_C_url} + ... ${broker_A_url} + + Initialize IOP CNF 01 + ... ${first_set} + ... ${second_set} 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 ${entity_id} broker_url=${b1_url} + @{entities_to_delete}= Create List ${entity_id} + @{brokers_to_delete}= Create List ${broker_A_url} ${broker_B_url} ${broker_C_url} + Delete Registrations And Entities + ... ${entities_to_delete} + ... ${brokers_to_delete} diff --git a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_02_01.robot b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_02_01.robot index 1e47eb1f8e13a9f58239ffba9392837caf10f088..4bf17e412b2087646e7e3adc0804cfa483d6090d 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_02_01.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_02_01.robot @@ -1,6 +1,5 @@ *** Settings *** Documentation Four brokers are set up A, B, C and D. A has three registrations, one inclusive for the entities created in B, one redirect for the entity created in C and one redirect for the entities created in D. -... The client creates the entity in A. The entity should not contain the location attribute in A and B. The C and D brokers should only contain the location attribute. Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource @@ -16,34 +15,33 @@ Test Teardown Delete Entities and Delete Registrations ${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 -${b1_url} -${b2_url} -${b3_url} -${b4_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} *** Test Cases *** IOP_CNF_02_01 Create OffStreetParking:1 - [Documentation] Pre-conditions: No user context. No data in any broker. - ... Registrations established: Inclusive in A to B. Redirect in A to C. Redirect in A to D. + [Documentation] The client creates the entity in A. The entity should not contain the location attribute in A and B. The C and D brokers should only contain the location attribute. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive proxy-redirect 4_3_6 5_6_1 #The agent creates the full entity of OffStreetParking:1 in A and check for a successful response - ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${b1_url} + ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} #Agent checks, with local=true, that the entity is created in A and does not contain the location property - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b1_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} Should Not Contain ${response.json()} location #Agent checks, with local=true, that the entity is created in B and does not contain the location and name properties - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b2_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_B_url} Check Response Status Code 200 ${response.status_code} Should Not Contain ${response.json()} location Should Not Contain ${response.json()} name #Agent checks, with local=true, that the entity is created in C and only contains the location property - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b3_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_C_url} Check Response Status Code 200 ${response.status_code} Should Contain ${response.json()} location Should Not Contain ${response.json()} name @@ -51,7 +49,7 @@ IOP_CNF_02_01 Create OffStreetParking:1 Should Not Contain ${response.json()} totalSpotsNumber #Agent checks, with local=true, that the entity is created in D and only contains the location property - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b4_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_D_url} Check Response Status Code 200 ${response.status_code} Should Contain ${response.json()} location Should Not Contain ${response.json()} name @@ -60,6 +58,8 @@ IOP_CNF_02_01 Create OffStreetParking:1 *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Registrations established: Inclusive in A to B. Redirect in A to C. Redirect in A to D. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} @@ -69,9 +69,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b2_url} + ... broker_url=${broker_B_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -80,9 +80,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b3_url} + ... broker_url=${broker_C_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -91,13 +91,13 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b4_url} + ... broker_url=${broker_D_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_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 ${entity_id} broker_url=${b1_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_A_url} + Delete Entity ${entity_id} broker_url=${broker_A_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_02_02.robot b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_02_02.robot index a7e23874fdd040097e8cda96273fad12488554b8..05b16b18a8d946c2ef0ee7d316d13e6f8c6a94b5 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_02_02.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_02_02.robot @@ -1,6 +1,5 @@ *** Settings *** Documentation Four brokers are set up A, B, C and D. A has three registrations, one inclusive for the entities created in B, one redirect for the entity created in C and one redirect for the entities created in D. -... The client creates the entity in A. The entity should not contain the location attribute in A and B. The C and D brokers should only contain the location attribute. Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource @@ -17,44 +16,45 @@ ${entity_payload_filename} interoperability/offstre ${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} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} *** Test Cases *** IOP_CNF_02_02 Create OffStreetParking:2 - [Documentation] Pre-conditions: No user context. No data in any broker. - ... Registrations established: Inclusive in A to B. Redirect in A to C. Redirect in A to D. + [Documentation] The client creates the entity in A. The entity should not contain the location attribute in A and B. The C and D brokers should only contain the location attribute. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive proxy-redirect 4_3_6 5_6_1 #Create the full entity of OffStreetParking:2 in A and check for a successful response - ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${b1_url} + ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} #Agent checks, with local=true, that the entity is created in A and does not contain the location property - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b1_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} Should Not Contain ${response.json()} location #Agent checks, with local=true, that the entity is created in B and does not contain the location and name properties - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b2_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_B_url} Check Response Status Code 200 ${response.status_code} Should Not Contain ${response.json()} location Should Not Contain ${response.json()} name #Agent checks, with local=true, that the entity is created in C and only contains the location property - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b3_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_C_url} Check Response Status Code 200 ${response.status_code} Should Contain ${response.json()} location #Agent checks, with local=true, that the entity is created in D and only contains the location property - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b4_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_D_url} Check Response Status Code 200 ${response.status_code} Should Contain ${response.json()} location *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Registrations established: Inclusive in A to B. Redirect in A to C. Redirect in A to D. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} @@ -64,9 +64,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b2_url} + ... broker_url=${broker_B_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -75,9 +75,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${first_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b3_url} + ... broker_url=${broker_C_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -86,13 +86,13 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${second_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b4_url} + ... broker_url=${broker_D_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_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 ${entity_id} broker_url=${b1_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_A_url} + Delete Entity ${entity_id} broker_url=${broker_A_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_03_01.robot b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_03_01.robot index d1795bda3f2c9904671edee85eaa32c213571851..c2782ec410a3fe42952bf21569520f8ab943af28 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_03_01.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_03_01.robot @@ -1,6 +1,5 @@ *** Settings *** Documentation Four brokers are set up A, B, C and D. A has three registrations, one auxiliary for the entities created in B, one inclusive for the entity created in C and one inclusive for the entities created in D. -... The client creates the entity in A. The entity should be present in A and B, should not be present in C and should only contain some attributes in D. Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource @@ -17,18 +16,17 @@ ${entity_payload_filename} interoperability/offstre ${auxiliary_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-auxiliary-2.jsonld ${first_inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-1.jsonld ${second_inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-2.jsonld -${b1_url} -${b2_url} -${b3_url} -${b4_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} *** Test Cases *** IOP_CNF_03_01 Create OffStreetParking:1 - [Documentation] Pre-conditions: No user context. No data in any broker. - ... Registrations established: Auxiliary in A to B. Inclusive in A to C. Inclusive in A to D. + [Documentation] The client creates the entity in A. The entity should be present in A and B, should not be present in C and should only contain some attributes in D. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive additive-auxiliary 4_3_6 5_6_1 #Agent checks that the full entity of OffStreetParking:1 is created in A and check for a successful response - ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${b1_url} + ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} Should Contain ${response.json()} name Should Contain ${response.json()} location @@ -36,21 +34,21 @@ IOP_CNF_03_01 Create OffStreetParking:1 Should Contain ${response.json()} totalSpotsNumber #Agent checks, with local=true, that the entity is created in A - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b1_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_A_url} Should Be Equal ${response.json()} ${entity_payload_filename} Check Response Status Code 200 ${response.status_code} #Agent checks, with local=true, that the entity was not created in B - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b2_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_B_url} Check Response Status Code 404 ${response.status_code} #Agent checks, with local=true, that the entity is created in C - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b3_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_C_url} Check Response Status Code 200 ${response.status_code} Should Be Equal ${response.json()} ${entity_payload_filename} #Agent checks, with local=true, that the entity is created in D and only contains the properties availableSpotsNumber and totalSpotsNumber - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b4_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_D_url} Check Response Status Code 200 ${response.status_code} Should Contain ${response.json()} availableSpotsNumber Should Contain ${response.json()} totalSpotsNumber @@ -59,6 +57,8 @@ IOP_CNF_03_01 Create OffStreetParking:1 *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Registrations established: Auxiliary in A to B. Inclusive in A to C. Inclusive in A to D. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} @@ -68,9 +68,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${auxiliary_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b2_url} + ... broker_url=${broker_B_url} ... mode=auxiliary - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -79,9 +79,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${first_inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b3_url} + ... broker_url=${broker_C_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -90,13 +90,13 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${second_inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b4_url} + ... broker_url=${broker_D_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_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 ${entity_id} broker_url=${b1_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_A_url} + Delete Entity ${entity_id} broker_url=${broker_A_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_03_02.robot b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_03_02.robot index e10f98ca5e75c42bd2d5f2ec110535a033a7b152..2f875f99131dc8e0c3aa3c02d6bfc1425cfb6aed 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_03_02.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_03_02.robot @@ -1,6 +1,5 @@ *** Settings *** Documentation Four brokers are set up A, B, C and D. A has three registrations, one auxiliary for the entities created in B, one inclusive for the entity created in C and one inclusive for the entities created in D. -... The client creates the entity in A. The entity should be present in C, should not be present in both B and D. Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource @@ -17,38 +16,39 @@ ${entity_payload_filename} interoperability/offstre ${auxiliary_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-auxiliary-2.jsonld ${first_inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-1.jsonld ${second_inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-2.jsonld -${b1_url} -${b2_url} -${b3_url} -${b4_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} *** Test Cases *** IOP_CNF_03_02 Create Partial OffStreetParking:1 - [Documentation] Pre-conditions: No user context. No data in any broker. - ... Registrations established: Auxiliary in A to B. Inclusive in A to C. Inclusive in A to D. + [Documentation] The client creates the entity in A. The entity should be present in C, should not be present in both B and D. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive additive-auxiliary 4_3_6 5_6_1 #Check that the the entity of OffStreetParking:1 with location and name only is created in A and check for a successful response - ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${b1_url} + ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} Should Contain ${response.json()} name Should Contain ${response.json()} location #Agent checks, with local=true, that the entity is created in A - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b1_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} #Agent checks, with local=true, that the entity was not created in B - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b2_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_B_url} Check Response Status Code 404 ${response.status_code} #Agent checks, with local=true, that the entity is created in C - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b3_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_C_url} Check Response Status Code 200 ${response.status_code} #Agent checks, with local=true, that the entity was not created in D - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b4_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_D_url} Check Response Status Code 404 ${response.status_code} *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Registrations established: Auxiliary in A to B. Inclusive in A to C. Inclusive in A to D. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} @@ -58,9 +58,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${auxiliary_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b2_url} + ... broker_url=${broker_B_url} ... mode=auxiliary - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -69,9 +69,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${first_inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b3_url} + ... broker_url=${broker_C_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -80,13 +80,13 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${second_inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b4_url} + ... broker_url=${broker_D_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_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 ${entity_id} broker_url=${b1_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_A_url} + Delete Entity ${entity_id} broker_url=${broker_A_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_04_01.robot b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_04_01.robot index 79aa63392900f2ddabd8f870ca9fa8bf19eb162d..a3c589d36c35732f007e03c69253df8d94852ca8 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_04_01.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_04_01.robot @@ -1,6 +1,5 @@ *** Settings *** Documentation Five brokers are set up A, B, C, D and E. A has two registrations, one auxiliary for the entities created in B and one inclusive for the entity created in C. B has two registration, one redirect for the entities created in D, one redirect for the entity created in E. C has one exclusive registration to E. -... The client creates the entity in A. The entity should be present in C, it should not be present in B, D and E. Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource @@ -19,40 +18,41 @@ ${first_redirect_registration_payload_file_path} csourceRegistrations/inte ${second_redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-2.jsonld ${inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-1.jsonld ${exclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-exclusive-1.jsonld -${b1_url} -${b2_url} -${b3_url} -${b4_url} -${b5_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} +${broker_E_url} *** Test Cases *** IOP_CNF_04_01 Create OffStreetParking:1 - [Documentation] Pre-conditions: No user context. No data in any broker. - ... Registrations established: Auxiliary in A to B. Inclusive in A to C. Redirect in B to D. Redirect in B to E. Exclusive in C to E. + [Documentation] The client creates the entity in A. The entity should be present in C, it should not be present in B, D and E. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive additive-auxiliary proxy-exclusive proxy-redirect 4_3_6 5_6_1 #Create the full entity of OffStreetParking:1 in A and check for a successful response - ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${b1_url} + ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} #Agent checks, with local=true, that the entity is created in A - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b1_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} #Agent checks, with local=true, that the entity was not created in B - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b2_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_B_url} Check Response Status Code 404 ${response.status_code} #Agent checks, with local=true, that the entity is created in C - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b3_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_C_url} Check Response Status Code 200 ${response.status_code} #Agent checks, with local=true, that the entity was not created in D - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b4_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_D_url} Check Response Status Code 404 ${response.status_code} #Agent checks, with local=true, that the entity was not created in E - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b5_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_E_url} Check Response Status Code 404 ${response.status_code} *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Registrations established: Auxiliary in A to B. Inclusive in A to C. Redirect in B to D. Redirect in B to E. Exclusive in C to E. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} @@ -62,9 +62,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${auxiliary_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b2_url} + ... broker_url=${broker_B_url} ... mode=auxiliary - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -73,9 +73,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${first_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b4_url} + ... broker_url=${broker_D_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b2_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -84,9 +84,9 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${second_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b5_url} + ... broker_url=${broker_E_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b2_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} ${registration_id4}= Generate Random CSR Id @@ -95,9 +95,9 @@ Setup Initial Context Source Registrations ... ${registration_id4} ... ${inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b3_url} + ... broker_url=${broker_C_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id5}= Generate Random CSR Id @@ -106,15 +106,15 @@ Setup Initial Context Source Registrations ... ${registration_id5} ... ${exclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b5_url} + ... broker_url=${broker_E_url} ... mode=exclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b3_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_B_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=${b2_url} - Delete Context Source Registration ${registration_id3} broker_url=${b2_url} - Delete Context Source Registration ${registration_id4} broker_url=${b1_url} - Delete Context Source Registration ${registration_id5} broker_url=${b3_url} - Delete Entity ${entity_id} broker_url=${b1_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_B_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_B_url} + Delete Context Source Registration ${registration_id4} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id5} broker_url=${broker_B_url} + Delete Entity ${entity_id} broker_url=${broker_A_url} \ No newline at end of file diff --git a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_04_02.robot b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_04_02.robot index 62cd60be84f14d9430531bd40036d60a34cc2bcc..d57e401ce4b2c93c080bf4a4c3f87b3f11853e9c 100644 --- a/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_04_02.robot +++ b/IOP_TP/NGSI-LD/Interoperability/Provision/CreateEntity/IOP_CNF_04_02.robot @@ -1,6 +1,5 @@ *** Settings *** Documentation Five brokers are set up A, B, C, D and E. A has two registrations, one auxiliary for the entities created in B and one inclusive for the entity created in C. B has two registration, one redirect for the entities created in D, one redirect for the entity created in E. C has one exclusive registration to E. -... The client creates the entity in A. The entity should be present in C and in E with only one attribute. The entity shall not be present in B and E. Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource @@ -19,45 +18,46 @@ ${first_redirect_registration_payload_file_path} csourceRegistrations/inte ${second_redirect_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-redirect-2.jsonld ${inclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-inclusive-1.jsonld ${exclusive_registration_payload_file_path} csourceRegistrations/interoperability/context-source-registration-exclusive-1.jsonld -${b1_url} -${b2_url} -${b3_url} -${b4_url} -${b5_url} +${broker_A_url} +${broker_B_url} +${broker_C_url} +${broker_D_url} +${broker_E_url} *** Test Cases *** IOP_CNF_04_02 Create OffStreetParking:2 - [Documentation] Pre-conditions: No user context. No data in any broker. - ... Registrations established: Auxiliary in A to B. Inclusive in A to C. Redirect in B to D. Redirect in B to E. Exclusive in C to E. + [Documentation] The client creates the entity in A. The entity should be present in C and in E with only one attribute. The entity shall not be present in B and E. [Tags] since_v1.6.1 iop 4_3_3 cf_06 additive-inclusive additive-auxiliary proxy-exclusive proxy-redirect 4_3_6 5_6_1 #Create the full entity of OffStreetParking:2 in A and check for a successful response - ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${b1_url} + ${response}= Create Entity ${entity_payload_filename} ${entity_id} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} #Agent checks, with local=true, that the entity is created in A - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b1_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_A_url} Check Response Status Code 200 ${response.status_code} #Agent checks, with local=true, that the entity was not created in B - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b2_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_B_url} Check Response Status Code 404 ${response.status_code} #Agent checks, with local=true, that the entity is created in C - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b3_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_C_url} Check Response Status Code 200 ${response.status_code} #Agent checks, with local=true, that the entity was not created in D - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b4_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_D_url} Check Response Status Code 404 ${response.status_code} #Agent checks, with local=true, that the entity is created in E and only contains the totalSpotsNumber property - ${response}= Retrieve Entity ${entity_id} local=true broker_url=${b5_url} + ${response}= Retrieve Entity ${entity_id} local=true broker_url=${broker_E_url} Check Response Status Code 200 ${response.status_code} Should Contain ${response.json()} totalSpotsNumber *** Keywords *** Setup Initial Context Source Registrations + [Documentation] Registrations established: Auxiliary in A to B. Inclusive in A to C. Redirect in B to D. Redirect in B to E. Exclusive in C to E. + ${entity_id}= Generate Random Parking Entity Id Set Suite Variable ${entity_id} @@ -67,9 +67,9 @@ Setup Initial Context Source Registrations ... ${registration_id1} ... ${auxiliary_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b2_url} + ... broker_url=${broker_B_url} ... mode=auxiliary - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id2}= Generate Random CSR Id @@ -78,9 +78,9 @@ Setup Initial Context Source Registrations ... ${registration_id2} ... ${first_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b4_url} + ... broker_url=${broker_D_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b2_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} ${registration_id3}= Generate Random CSR Id @@ -89,9 +89,9 @@ Setup Initial Context Source Registrations ... ${registration_id3} ... ${second_redirect_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b5_url} + ... broker_url=${broker_E_url} ... mode=redirect - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b2_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_B_url} Check Response Status Code 201 ${response.status_code} ${registration_id4}= Generate Random CSR Id @@ -100,9 +100,9 @@ Setup Initial Context Source Registrations ... ${registration_id4} ... ${inclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b3_url} + ... broker_url=${broker_C_url} ... mode=inclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b1_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_A_url} Check Response Status Code 201 ${response.status_code} ${registration_id5}= Generate Random CSR Id @@ -111,17 +111,17 @@ Setup Initial Context Source Registrations ... ${registration_id5} ... ${exclusive_registration_payload_file_path} ... entity_id=${entity_id} - ... broker_url=${b5_url} + ... broker_url=${broker_E_url} ... mode=exclusive - ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${b3_url} + ${response}= Create Context Source Registration With Return ${registration_payload} broker_url=${broker_B_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=${b2_url} - Delete Context Source Registration ${registration_id3} broker_url=${b2_url} - Delete Context Source Registration ${registration_id4} broker_url=${b1_url} - Delete Context Source Registration ${registration_id5} broker_url=${b3_url} - Delete Entity ${entity_id} broker_url=${b1_url} - Delete Entity ${entity_id} broker_url=${b3_url} - Delete Entity ${entity_id} broker_url=${b5_url} \ No newline at end of file + Delete Context Source Registration ${registration_id1} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id2} broker_url=${broker_B_url} + Delete Context Source Registration ${registration_id3} broker_url=${broker_B_url} + Delete Context Source Registration ${registration_id4} broker_url=${broker_A_url} + Delete Context Source Registration ${registration_id5} broker_url=${broker_B_url} + Delete Entity ${entity_id} broker_url=${broker_A_url} + Delete Entity ${entity_id} broker_url=${broker_C_url} + Delete Entity ${entity_id} broker_url=${broker_E_url} \ No newline at end of file diff --git a/README.md b/README.md index 19316fcbffbf0a2d106b2d4ae000987466076cd7..074d36c5aad24e0fe2dce420317227c5ce681d2a 100644 --- a/README.md +++ b/README.md @@ -164,15 +164,17 @@ test launch command followed by the file name. - The Interoperability tests assume that it will manage multiple brokers - Multiple NGSI-LD brokers will be running simultaneously on different ports - Terminal will pass the broker URLs as a variable + - All broker environments are initialized as empty. Test-specific entities and source registrations are dynamically + created during the setup phase of each test case. The following example shows how to run an interoperability test with multiple brokers: ``` - robot --variable b1_url:http://localhost:8080/ngsi-ld/v1 \ - --variable b2_url:http://localhost:8081/ngsi-ld/v1 \ - --variable b3_url:http://localhost:8082/ngsi-ld/v1 \ - --variable b4_url:http://localhost:8083/ngsi-ld/v1 \ - --variable b5_url:http://localhost:8084/ngsi-ld/v1 \ + robot --variable broker_A_url:http://localhost:8080/ngsi-ld/v1 \ + --variable broker_B_url:http://localhost:8081/ngsi-ld/v1 \ + --variable broker_C_url:http://localhost:8082/ngsi-ld/v1 \ + --variable broker_D_url:http://localhost:8083/ngsi-ld/v1 \ + --variable broker_E_url:http://localhost:8084/ngsi-ld/v1 \ ./TP/NGSI-LD/Interoperability/Provision/Entities/CreateEntity/IOP_CNF_01_01.robot ``` diff --git a/resources/IOPUtils/IOPRegistry.py b/resources/IOPUtils/IOPRegistry.py new file mode 100644 index 0000000000000000000000000000000000000000..4ce0f85a8494ec5e161e015e8cbb93f666996702 --- /dev/null +++ b/resources/IOPUtils/IOPRegistry.py @@ -0,0 +1,16 @@ +import os + +IOP_REGISTRY_URL = { + "parking": { + "full_1": "interoperability/offstreet-parking1-full.jsonld", + "full_2": "interoperability/offstreet-parking2-full.jsonld", + "no_location_and_totalspotnumber_2": "interoperability/offstreet-parking2-no-location-and-totalspotsnumber.jsonld", + "no_location_2": "interoperability/offstreet-parking2-no-location.jsonld" + }, + "registration": { + "inclusive_1": "csourceRegistrations/interoperability/context-source-registration-inclusive-1.jsonld", + "inclusive_2": "csourceRegistrations/interoperability/context-source-registration-inclusive-2.jsonld", + "exclusive_1": "csourceRegistrations/interoperability/context-source-registration-exclusive-1.jsonld", + "exclusive_2": "csourceRegistrations/interoperability/context-source-registration-exclusive-2.jsonld" + } +} \ No newline at end of file diff --git a/resources/IOPUtils/InteroperabilityUtils.resource b/resources/IOPUtils/InteroperabilityUtils.resource new file mode 100644 index 0000000000000000000000000000000000000000..446e109619dcb2bfad3bbb1b9b3a1ea5080386da --- /dev/null +++ b/resources/IOPUtils/InteroperabilityUtils.resource @@ -0,0 +1,60 @@ +*** Settings *** +Documentation Common keywords used in setup steps for interoperability + +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 +Variables ${EXECDIR}/resources/IOPUtils/IOPRegistry.py + +*** Keywords *** +Setup Brokers And Registrations + [Arguments] ${sets} + + ${len}= Get Length ${sets} + FOR ${i} IN RANGE ${len}-1 + ${entity_id}= Get From List ${sets}[${i}] 0 + ${registration_filename}= Get From List ${sets}[${i}] 1 + ${mode}= Get From List ${sets}[${i}] 2 + ${broker_url}= Get From List ${sets}[${i}] 3 + ${registration_broker_url}= Get From List ${sets}[${i}] 4 + ${registration_id${i+1}}= Generate Random CSR Id + Set Suite Variable ${registration_id${i+1}} + ${registration_payload}= Prepare Context Source Registration From File + ... ${registration_id${i+1}} + ... ${registration_filename} + ... entity_id=${entity_id} + ... mode=${mode} + ... broker_url=${broker_url} + ${response}= Create Context Source Registration With Return + ... ${registration_payload} + ... content_type=${CONTENT_TYPE_LD_JSON} + ... broker_url=${registration_broker_url} + Check Response Status Code 201 ${response.status_code} + END + +Initialize IOP CNF 01 + [Arguments] ${first_set} + ... ${second_set} + ... ${third_set}=${EMPTY} + + IF '$third_set' != '' + @{sets}= Create List ${first_set} ${second_set} ${third_set} + ELSE + @{sets}= Create List ${first_set} ${second_set} + END + + Setup Brokers And Registrations + ... ${sets} + +Delete Registrations And Entities + [Arguments] ${brokers_url} + ... ${entities} + + ${len}= Get Length ${brokers_url} + FOR ${i} IN RANGE ${len}-1 + Delete Entity ${entities}[${i}] + Delete Context Source Registration ${registration_id${i+1}} + END \ No newline at end of file