Loading TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_08.robot +27 −17 Original line number Diff line number Diff line Loading @@ -12,38 +12,40 @@ Test Template Query entities with multiple types using Entity Type Selecti *** Variables *** ${entity_id_prefix}= urn:ngsi-ld:MultiTypes: ${first_entity_filename}= building-simple-attributes-sample.jsonld ${second_entity_filename}= building-with-different-type-sample.jsonld ${third_entity_filename}= building-with-two-types-sample.jsonld ${first_entity_type}= Building ${second_entity_type}= Parking ${third_entity_type}= TouristDestination ${options_parameter}= keyValues ${entity_id_prefix} urn:ngsi-ld:MultiTypes: ${first_entity_filename} building-simple-attributes-sample.jsonld ${second_entity_filename} building-with-different-type-sample.jsonld ${third_entity_filename} building-with-two-types-sample.jsonld ${first_entity_type} Building ${second_entity_type} Parking ${third_entity_type} TouristDestination ${options_parameter} keyValues *** Test Cases *** ENTITY_TYPES_SELECTION EXPECTED_COUNT 019_08_01 entities first query ${first_entity_type} 2 019_08_02 entities second query (${first_entity_type};${third_entity_type}) 1 019_08_03 entities third query ${first_entity_type},${second_entity_type} 3 019_08_04 entities fourth query ${second_entity_type},${third_entity_type} 2 019_08_05 entities fifth query (${first_entity_type};${second_entity_type}),${third_entity_type} 1 *** Test Cases *** ENTITY_TYPES_SELECTION EXPECTED_ENTITIES_IDS EXPECTED_LENGTH 019_08_01 entities first query ${first_entity_type} ${first_expected_entities_ids} 2 019_08_02 entities second query (${first_entity_type};${third_entity_type}) ${third_entity_id_as_a_list} 1 019_08_03 entities third query ${first_entity_type},${second_entity_type} ${second_expected_entities_ids} 3 019_08_04 entities fourth query ${second_entity_type},${third_entity_type} ${third_expected_entities_ids} 2 019_08_05 entities fifth query (${first_entity_type};${second_entity_type}),${third_entity_type} ${third_entity_id_as_a_list} 1 *** Keywords *** Query entities with multiple types using Entity Type Selection Language [Documentation] Query entities with Entity Type Selection Language. [Tags] e-query 4_17 [Arguments] ${entity_types_selection} ${expected_count} [Arguments] ${entity_types_selection} ${expected_entities_ids} ${expected_length} ${response}= Query Entities ... entity_types=${entity_types_selection} ... context=${ngsild_test_suite_context} ... count=${True} ... options=${options_parameter} Check Response Status Code 200 ${response.status_code} Check Response Headers Containing NGSILD-Results-Count Equals To ${expected_count} ${response.headers} Check Response Body Containing Entities URIS set to ... ${expected_entities_ids} ... ${response.json()} ... ${expected_length} Setup Initial Entities ${first_entity_id}= Generate Random Entity Id ${entity_id_prefix} Loading @@ -67,6 +69,14 @@ Setup Initial Entities ... ${third_entity_id} ... ${CONTENT_TYPE_LD_JSON} Check Response Status Code 201 ${create_response3.status_code} @{first_expected_entities_ids}= Create List ${first_entity_id} ${third_entity_id} Set Suite Variable ${first_expected_entities_ids} @{second_expected_entities_ids}= Create List ${first_entity_id} ${second_entity_id} ${third_entity_id} Set Suite Variable @{second_expected_entities_ids} @{third_expected_entities_ids}= Create List ${second_entity_id} ${third_entity_id} Set Suite Variable @{third_expected_entities_ids} @{third_entity_id_as_a_list}= Create List ${third_entity_id} Set Suite Variable @{third_entity_id_as_a_list} Delete Initial Entities Delete Entity by Id ${first_entity_id} Loading doc/analysis/checks.py +11 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,8 @@ class Checks: Checks.check_response_status_code, 'Check Response Body Containing Array Of URIs set to': Checks.check_response_body_containing_array_of_uris_set_to, 'Check Response Body Containing Entities URIS set to' : Checks.check_response_body_containing_entities_uris_set_to, 'Check Created Resources Set To': Checks.check_created_resources_set_to, 'Check Response Headers Containing Content-Type set to': Loading Loading @@ -117,6 +119,10 @@ class Checks: 'params': ['expected_entities_ids', 'response_body'], 'position': [0, 1] }, 'Check Response Body Containing Entities URIS set to': { 'params': ['expected_entities_ids', 'response_body', 'expected_length'], 'position': [0, 1, 2] }, 'Check Response Body Containing ProblemDetails Element Containing Type Element set to': { 'params': ['type'], 'position': [1] Loading Loading @@ -394,6 +400,10 @@ class Checks: def check_response_body_containing_array_of_uris_set_to(kwargs: list) -> str: return 'Response Body set to an array of created entities ids' @staticmethod def check_response_body_containing_entities_uris_set_to(kwargs: list) -> str: return 'Response Body contains entities ids' @staticmethod def check_created_resources_set_to(kwargs: list) -> str: return 'Created resources set to ${entities}' Loading Loading @@ -896,6 +906,7 @@ if __name__ == "__main__": print(data.get_checks(checks='Check Response Status Code', status_code=201)) print(data.get_checks(checks='Check Response Body Containing Array Of URIs set to')) print(data.get_checks(checks='Check Response Body Containing Entities URIS set to')) print(data.get_checks(checks='Check Created Resources Set To')) print(data.get_checks(checks='Check Response Headers Containing Content-Type set to', content_type='application/json')) Loading resources/AssertionUtils.resource +17 −6 Original line number Diff line number Diff line Loading @@ -8,12 +8,12 @@ Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource *** Variables *** ${id_regex_expr}= root\\['id'\\] ${instance_id_regex_expr}= root\\[.*\\]\\['instanceId'\\] ${notification_timestamps_regex_expr}= root\\['last.*'\\] ${notification_endpoint_uri_regex_expr}= root\\['endpoint'\\]\\['uri'\\] ${context_regex_expr}= root\\['@context'\\] ${status_regex_expr}= root\\['status'\\] ${id_regex_expr} root\\['id'\\] ${instance_id_regex_expr} root\\[.*\\]\\['instanceId'\\] ${notification_timestamps_regex_expr} root\\['last.*'\\] ${notification_endpoint_uri_regex_expr} root\\['endpoint'\\]\\['uri'\\] ${context_regex_expr} root\\['@context'\\] ${status_regex_expr} root\\['status'\\] *** Keywords *** Loading @@ -29,6 +29,17 @@ Check Response Body Containing Array Of URIs set to [Arguments] ${expected_entities_ids} ${response_body} Lists Should Be Equal ${expected_entities_ids} ${response_body} ignore_order=True Check Response Body Containing Entities URIS set to [Arguments] ${expected_entities_ids} ${response_body} ${expected_length} @{response_entities_ids}= Create List FOR ${item} IN ${response_body} FOR ${index} IN RANGE ${expected_length} Append To List ${response_entities_ids} ${item[${index}]['id']} END END Lists Should Be Equal ${expected_entities_ids} ${response_entities_ids} Check Response Body Content [Arguments] ${expectation_filename} ${response_body} ${additional_ignored_path}=${EMPTY} ${entity_payload}= Load JSON From File ${EXECDIR}/data/entities/expectations/${expectation_filename} Loading Loading
TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_08.robot +27 −17 Original line number Diff line number Diff line Loading @@ -12,38 +12,40 @@ Test Template Query entities with multiple types using Entity Type Selecti *** Variables *** ${entity_id_prefix}= urn:ngsi-ld:MultiTypes: ${first_entity_filename}= building-simple-attributes-sample.jsonld ${second_entity_filename}= building-with-different-type-sample.jsonld ${third_entity_filename}= building-with-two-types-sample.jsonld ${first_entity_type}= Building ${second_entity_type}= Parking ${third_entity_type}= TouristDestination ${options_parameter}= keyValues ${entity_id_prefix} urn:ngsi-ld:MultiTypes: ${first_entity_filename} building-simple-attributes-sample.jsonld ${second_entity_filename} building-with-different-type-sample.jsonld ${third_entity_filename} building-with-two-types-sample.jsonld ${first_entity_type} Building ${second_entity_type} Parking ${third_entity_type} TouristDestination ${options_parameter} keyValues *** Test Cases *** ENTITY_TYPES_SELECTION EXPECTED_COUNT 019_08_01 entities first query ${first_entity_type} 2 019_08_02 entities second query (${first_entity_type};${third_entity_type}) 1 019_08_03 entities third query ${first_entity_type},${second_entity_type} 3 019_08_04 entities fourth query ${second_entity_type},${third_entity_type} 2 019_08_05 entities fifth query (${first_entity_type};${second_entity_type}),${third_entity_type} 1 *** Test Cases *** ENTITY_TYPES_SELECTION EXPECTED_ENTITIES_IDS EXPECTED_LENGTH 019_08_01 entities first query ${first_entity_type} ${first_expected_entities_ids} 2 019_08_02 entities second query (${first_entity_type};${third_entity_type}) ${third_entity_id_as_a_list} 1 019_08_03 entities third query ${first_entity_type},${second_entity_type} ${second_expected_entities_ids} 3 019_08_04 entities fourth query ${second_entity_type},${third_entity_type} ${third_expected_entities_ids} 2 019_08_05 entities fifth query (${first_entity_type};${second_entity_type}),${third_entity_type} ${third_entity_id_as_a_list} 1 *** Keywords *** Query entities with multiple types using Entity Type Selection Language [Documentation] Query entities with Entity Type Selection Language. [Tags] e-query 4_17 [Arguments] ${entity_types_selection} ${expected_count} [Arguments] ${entity_types_selection} ${expected_entities_ids} ${expected_length} ${response}= Query Entities ... entity_types=${entity_types_selection} ... context=${ngsild_test_suite_context} ... count=${True} ... options=${options_parameter} Check Response Status Code 200 ${response.status_code} Check Response Headers Containing NGSILD-Results-Count Equals To ${expected_count} ${response.headers} Check Response Body Containing Entities URIS set to ... ${expected_entities_ids} ... ${response.json()} ... ${expected_length} Setup Initial Entities ${first_entity_id}= Generate Random Entity Id ${entity_id_prefix} Loading @@ -67,6 +69,14 @@ Setup Initial Entities ... ${third_entity_id} ... ${CONTENT_TYPE_LD_JSON} Check Response Status Code 201 ${create_response3.status_code} @{first_expected_entities_ids}= Create List ${first_entity_id} ${third_entity_id} Set Suite Variable ${first_expected_entities_ids} @{second_expected_entities_ids}= Create List ${first_entity_id} ${second_entity_id} ${third_entity_id} Set Suite Variable @{second_expected_entities_ids} @{third_expected_entities_ids}= Create List ${second_entity_id} ${third_entity_id} Set Suite Variable @{third_expected_entities_ids} @{third_entity_id_as_a_list}= Create List ${third_entity_id} Set Suite Variable @{third_entity_id_as_a_list} Delete Initial Entities Delete Entity by Id ${first_entity_id} Loading
doc/analysis/checks.py +11 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,8 @@ class Checks: Checks.check_response_status_code, 'Check Response Body Containing Array Of URIs set to': Checks.check_response_body_containing_array_of_uris_set_to, 'Check Response Body Containing Entities URIS set to' : Checks.check_response_body_containing_entities_uris_set_to, 'Check Created Resources Set To': Checks.check_created_resources_set_to, 'Check Response Headers Containing Content-Type set to': Loading Loading @@ -117,6 +119,10 @@ class Checks: 'params': ['expected_entities_ids', 'response_body'], 'position': [0, 1] }, 'Check Response Body Containing Entities URIS set to': { 'params': ['expected_entities_ids', 'response_body', 'expected_length'], 'position': [0, 1, 2] }, 'Check Response Body Containing ProblemDetails Element Containing Type Element set to': { 'params': ['type'], 'position': [1] Loading Loading @@ -394,6 +400,10 @@ class Checks: def check_response_body_containing_array_of_uris_set_to(kwargs: list) -> str: return 'Response Body set to an array of created entities ids' @staticmethod def check_response_body_containing_entities_uris_set_to(kwargs: list) -> str: return 'Response Body contains entities ids' @staticmethod def check_created_resources_set_to(kwargs: list) -> str: return 'Created resources set to ${entities}' Loading Loading @@ -896,6 +906,7 @@ if __name__ == "__main__": print(data.get_checks(checks='Check Response Status Code', status_code=201)) print(data.get_checks(checks='Check Response Body Containing Array Of URIs set to')) print(data.get_checks(checks='Check Response Body Containing Entities URIS set to')) print(data.get_checks(checks='Check Created Resources Set To')) print(data.get_checks(checks='Check Response Headers Containing Content-Type set to', content_type='application/json')) Loading
resources/AssertionUtils.resource +17 −6 Original line number Diff line number Diff line Loading @@ -8,12 +8,12 @@ Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource *** Variables *** ${id_regex_expr}= root\\['id'\\] ${instance_id_regex_expr}= root\\[.*\\]\\['instanceId'\\] ${notification_timestamps_regex_expr}= root\\['last.*'\\] ${notification_endpoint_uri_regex_expr}= root\\['endpoint'\\]\\['uri'\\] ${context_regex_expr}= root\\['@context'\\] ${status_regex_expr}= root\\['status'\\] ${id_regex_expr} root\\['id'\\] ${instance_id_regex_expr} root\\[.*\\]\\['instanceId'\\] ${notification_timestamps_regex_expr} root\\['last.*'\\] ${notification_endpoint_uri_regex_expr} root\\['endpoint'\\]\\['uri'\\] ${context_regex_expr} root\\['@context'\\] ${status_regex_expr} root\\['status'\\] *** Keywords *** Loading @@ -29,6 +29,17 @@ Check Response Body Containing Array Of URIs set to [Arguments] ${expected_entities_ids} ${response_body} Lists Should Be Equal ${expected_entities_ids} ${response_body} ignore_order=True Check Response Body Containing Entities URIS set to [Arguments] ${expected_entities_ids} ${response_body} ${expected_length} @{response_entities_ids}= Create List FOR ${item} IN ${response_body} FOR ${index} IN RANGE ${expected_length} Append To List ${response_entities_ids} ${item[${index}]['id']} END END Lists Should Be Equal ${expected_entities_ids} ${response_entities_ids} Check Response Body Content [Arguments] ${expectation_filename} ${response_body} ${additional_ignored_path}=${EMPTY} ${entity_payload}= Load JSON From File ${EXECDIR}/data/entities/expectations/${expectation_filename} Loading