diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_01.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_01.robot index 725fd77b721bfe874edde82cdbcc559985a29625..4de7f40ab6f574ea953bb334a0860f34517dbec8 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_01.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_01.robot @@ -33,4 +33,7 @@ Batch Create Entity Scenarios Check Response Status Code Set To 201 Check Response Body Containing Array Of URIs set to @{expected_entities_ids} + Query Entities ${expected_entities_ids} Building context=${ngsild_test_suite_context} + Check Created Resources Set To ${entities_to_be_created} + Batch Delete Entities @{expected_entities_ids} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_02.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_02.robot index bc248639bd6b9183d58eac9bfe3980212350f637..c7b24622754bf35793af4950801975ca30d4d11d 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_02.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_02.robot @@ -30,6 +30,10 @@ Create a batch of two valid entities and one invalid entity Check Response Status Code Set To 207 Check Response Body Containing Batch Operation Result ${expected_batch_operation_result} + Query Entities ${expected_successful_entities_ids} Building context=${ngsild_test_suite_context} + @{created_entities}= Create List ${first_entity} ${second_entity} + Check Created Resources Set To ${created_entities} + @{entities_ids_to_be_deleted}= Create List ${first_entity_id} ${second_entity_id} ${existing_entity_id} Batch Delete Entities @{entities_ids_to_be_deleted} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_01.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_01.robot index 13652a235818fe3a1bfa731328e50bd3fd36743c..f2f36c0e9b1f46ecaeb0f6db5a43d70ed35c273f 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_01.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_01.robot @@ -20,6 +20,9 @@ Delete a batch of entities Check Response Status Code Set To 204 + Query Entities ${entities_ids_to_be_deleted} Building context=${ngsild_test_suite_context} + Check SUT Not Containing Resources + *** Keywords *** Setup Initial Entities ${first_entity_id}= Generate Random Entity Id ${building_id_prefix} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_02.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_02.robot index 49246ae07ad058fb3e073d6b363b64bc61a0ac4c..7bd1b04fedb6bbffb20f873a4bb5433038509b28 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_02.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_02.robot @@ -25,6 +25,8 @@ Delete a batch of non existing and existing entities Check Response Status Code Set To 207 Check Response Body Containing Batch Operation Result ${expected_batch_operation_result} + Query Entities ${expected_successful_entities_ids} Building context=${ngsild_test_suite_context} + Check SUT Not Containing Resources *** Keywords *** Setup Initial Entities diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_01.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_01.robot index 4ecd867938b66f9b9e182f22dab51c8cb9e63558..8f176978bb1cb7b4b9fcaadea16988150157c08f 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_01.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_01.robot @@ -10,31 +10,42 @@ Suite Teardown Delete Initial Entities *** Variable *** ${building_id_prefix}= urn:ngsi-ld:Building: +${entity_payload_filename}= building-simple-attributes-sample.jsonld -*** Test Cases *** FILENAME -EntityWithSimpleProperties building-simple-attributes-sample.jsonld -EntityWithSimpleRelationships building-relationship-sample.jsonld -EntityWithRelationshipsProperties building-relationship-of-property-sample.jsonld +*** Test Cases *** FILENAME UPDATE_FRAGMENT_FILENAME +EntityWithSimpleProperties building-simple-attributes-sample.jsonld fragmentEntities/empty-fragment.json +EntityWithSimpleRelationships building-relationship-sample.jsonld fragmentEntities/locatedAt-fragment.json +EntityWithRelationshipsProperties building-relationship-of-property-sample.jsonld fragmentEntities/airQualityLevel-with-relationship-fragment.json *** Keywords *** Batch Update Entity Scenarios - [Arguments] ${filename} + [Arguments] ${filename} ${update_fragment_filename} [Documentation] Check that you can update a batch of entities [Tags] mandatory ${first_entity}= Load Entity ${filename} ${first_entity_id} ${second_entity}= Load Entity ${filename} ${second_entity_id} + @{entities_ids_to_be_updated}= Create List ${first_entity_id} ${second_entity_id} @{entities_to_be_updated}= Create List ${first_entity} ${second_entity} Batch Update Entities @{entities_to_be_updated} Check Response Status Code Set To 204 + ${first_created_entity}= Load Test Sample entities/${entity_payload_filename} ${first_entity_id} + ${second_created_entity}= Load Test Sample entities/${entity_payload_filename} ${second_entity_id} + ${update_fragment}= Load Test Sample entities/${update_fragment_filename} + ${first_updated_entity}= Upsert Element In Entity ${first_created_entity} ${update_fragment} + ${second_updated_entity}= Upsert Element In Entity ${second_created_entity} ${update_fragment} + @{updated_entities}= Create List ${first_updated_entity} ${second_updated_entity} + Query Entities ${entities_ids_to_be_updated} Building context=${ngsild_test_suite_context} + Check Updated Resources Set To ${updated_entities} + Setup Initial Entities ${first_entity_id}= Generate Random Entity Id ${building_id_prefix} ${second_entity_id}= Generate Random Entity Id ${building_id_prefix} - Create Entity building-simple-attributes-sample.jsonld ${first_entity_id} - Create Entity building-simple-attributes-sample.jsonld ${second_entity_id} + Create Entity ${entity_payload_filename} ${first_entity_id} + Create Entity ${entity_payload_filename} ${second_entity_id} Set Suite Variable ${first_entity_id} Set Suite Variable ${second_entity_id} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_02.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_02.robot index 45485a7de484f7ce94bb02f8f96b24ad572b5a79..1fc9498c0ec7d8a700a86d4a74a05d1d94bd5178 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_02.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_02.robot @@ -10,31 +10,42 @@ Suite Teardown Delete Initial Entities *** Variable *** ${building_id_prefix}= urn:ngsi-ld:Building: +${entity_payload_filename}= building-simple-attributes-sample.jsonld -*** Test Cases *** FILENAME -EntityWithSimpleProperties building-simple-attributes-sample.jsonld -EntityWithSimpleRelationships building-relationship-sample.jsonld -EntityWithRelationshipsProperties building-relationship-of-property-sample.jsonld +*** Test Cases *** FILENAME UPDATE_FRAGMENT_FILENAME +EntityWithSimpleProperties building-simple-attributes-sample.jsonld fragmentEntities/empty-fragment.json +EntityWithSimpleRelationships building-relationship-sample.jsonld fragmentEntities/locatedAt-fragment.json +EntityWithRelationshipsProperties building-relationship-of-property-sample.jsonld fragmentEntities/empty-fragment.json *** Keywords *** Batch Update Entity With NoOverwrite Option Scenarios - [Arguments] ${filename} + [Arguments] ${filename} ${update_fragment_filename} [Documentation] Check that you can update a batch of entities with noOverwrite option [Tags] mandatory ${first_entity}= Load Entity ${filename} ${first_entity_id} ${second_entity}= Load Entity ${filename} ${second_entity_id} @{entities_to_be_updated}= Create List ${first_entity} ${second_entity} + @{entities_ids_to_be_updated}= Create List ${first_entity_id} ${second_entity_id} Batch Update Entities @{entities_to_be_updated} overwrite_option=noOverwrite Check Response Status Code Set To 204 + ${first_created_entity}= Load Test Sample entities/${entity_payload_filename} ${first_entity_id} + ${second_created_entity}= Load Test Sample entities/${entity_payload_filename} ${second_entity_id} + ${update_fragment}= Load Test Sample entities/${update_fragment_filename} + ${first_updated_entity}= Upsert Element In Entity ${first_created_entity} ${update_fragment} + ${second_updated_entity}= Upsert Element In Entity ${second_created_entity} ${update_fragment} + @{updated_entities}= Create List ${first_updated_entity} ${second_updated_entity} + Query Entities ${entities_ids_to_be_updated} Building context=${ngsild_test_suite_context} + Check Updated Resources Set To ${updated_entities} + Setup Initial Entities ${first_entity_id}= Generate Random Entity Id ${building_id_prefix} ${second_entity_id}= Generate Random Entity Id ${building_id_prefix} - Create Entity building-simple-attributes-sample.jsonld ${first_entity_id} - Create Entity building-simple-attributes-sample.jsonld ${second_entity_id} + Create Entity ${entity_payload_filename} ${first_entity_id} + Create Entity ${entity_payload_filename} ${second_entity_id} Set Suite Variable ${first_entity_id} Set Suite Variable ${second_entity_id} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_03.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_03.robot index 6ea6ff51aa3d542e406fa3de3a233ec930d2f765..c274b8beab1433de1da141702db3601207cf34b9 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_03.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_03.robot @@ -8,6 +8,8 @@ Suite Setup Setup Initial Entities *** Variable *** ${building_id_prefix}= urn:ngsi-ld:Building: +${entity_payload_filename}= building-simple-attributes-sample.jsonld +${update_fragment_filename}= fragmentEntities/simple-attributes-relationship-of-property-fragment.json *** Test Case *** Update a batch of non existing and existing entities @@ -30,14 +32,23 @@ Update a batch of non existing and existing entities Check Response Status Code Set To 207 Check Response Body Containing Batch Operation Result ${expected_batch_operation_result} + ${first_created_entity}= Load Test Sample entities/${entity_payload_filename} ${first_existing_entity_id} + ${second_created_entity}= Load Test Sample entities/${entity_payload_filename} ${second_existing_entity_id} + ${update_fragment}= Load Test Sample entities/${update_fragment_filename} + ${first_updated_entity}= Upsert Element In Entity ${first_created_entity} ${update_fragment} + ${second_updated_entity}= Upsert Element In Entity ${second_created_entity} ${update_fragment} + @{updated_entities}= Create List ${first_updated_entity} ${second_updated_entity} + Query Entities ${expected_successful_entities_ids} Building context=${ngsild_test_suite_context} + Check Updated Resources Set To ${updated_entities} + Batch Delete Entities @{expected_successful_entities_ids} *** Keywords *** Setup Initial Entities ${first_existing_entity_id}= Generate Random Entity Id ${building_id_prefix} ${second_existing_entity_id}= Generate Random Entity Id ${building_id_prefix} - Create Entity building-simple-attributes-sample.jsonld ${first_existing_entity_id} - Create Entity building-simple-attributes-sample.jsonld ${second_existing_entity_id} + Create Entity ${entity_payload_filename} ${first_existing_entity_id} + Create Entity ${entity_payload_filename} ${second_existing_entity_id} Set Suite Variable ${first_existing_entity_id} Set Suite Variable ${second_existing_entity_id} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_01.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_01.robot index d3f746123b2110c69fde286849b1ee850829f19b..710f4c1386680e6cb7908eff78f049ca358cef5a 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_01.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_01.robot @@ -32,4 +32,7 @@ Batch Upsert Entity Scenarios Check Response Status Code Set To 201 Check Response Body Containing Array Of URIs set to @{expected_entities_ids} + Query Entities ${expected_entities_ids} Building context=${ngsild_test_suite_context} + Check Updated Resources Set To ${entities_to_be_upserted} + Batch Delete Entities @{expected_entities_ids} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_02.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_02.robot index 6ec7f5704f51a6038ea179060f71aef1f5985a90..3c643b81c102c9a09c98bd5f2b75c70e143418cb 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_02.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_02.robot @@ -34,6 +34,10 @@ Batch Upsert Non-existing And Existing Entities Scenarios Check Response Status Code Set To 201 Check Response Body Containing Array Of URIs set to @{expected_entities_ids} + @{upserted_entities_ids}= Create List ${new_entity_id} ${first_existing_entity_id} ${second_existing_entity_id} + Query Entities ${upserted_entities_ids} Building context=${ngsild_test_suite_context} + Check Updated Resources Set To ${entities_to_be_upserted} + @{entities_ids_to_be_deleted}= Create List ${new_entity_id} Batch Delete Entities @{entities_ids_to_be_deleted} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_03.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_03.robot index 24fe219499605f190d17462db4412d19b4412c01..16a632e2184e2161f2a678b97dfbe9fc899a8b2d 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_03.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_03.robot @@ -30,6 +30,10 @@ Batch Upsert Existing Entities Scenarios Check Response Status Code Set To 204 + @{upserted_entities_ids}= Create List ${first_existing_entity_id} ${second_existing_entity_id} + Query Entities ${upserted_entities_ids} Building context=${ngsild_test_suite_context} + Check Updated Resources Set To ${entities_to_be_upserted} + Setup Initial Entities ${first_existing_entity_id}= Generate Random Entity Id ${building_id_prefix} ${second_existing_entity_id}= Generate Random Entity Id ${building_id_prefix} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_04.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_04.robot index e9baf486faf08451f67fc340aca264aa1b137a4d..43bcedfb6e5729e3ce78438d401e2fdf367ec74d 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_04.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_04.robot @@ -10,15 +10,16 @@ Suite Teardown Delete Initial Entities *** Variable *** ${building_id_prefix}= urn:ngsi-ld:Building: +${existing_entity_payload_filename}= building-minimal-sample.jsonld -*** Test Cases *** FILENAME -EntityWithSimpleProperties building-simple-attributes-sample.jsonld -EntityWithSimpleRelationships building-relationship-sample.jsonld -EntityWithRelationshipsProperties building-relationship-of-property-sample.jsonld +*** Test Cases *** FILENAME UPDATE_FRAGMENT_FILENAME +EntityWithSimpleProperties building-simple-attributes-sample.jsonld fragmentEntities/simple-attributes-fragment.json +EntityWithSimpleRelationships building-relationship-sample.jsonld fragmentEntities/locatedAt-fragment.json +EntityWithRelationshipsProperties building-relationship-of-property-sample.jsonld fragmentEntities/simple-attributes-relationship-of-property-fragment.json *** Keywords *** Batch Upsert Entities With Update Option Scenarios - [Arguments] ${filename} + [Arguments] ${filename} ${update_fragment_filename} [Documentation] Check that you can upsert a batch of entities with update option [Tags] mandatory @@ -26,6 +27,7 @@ Batch Upsert Entities With Update Option Scenarios ${new_entity}= Load Entity ${filename} ${new_entity_id} ${existing_entity}= Load Entity ${filename} ${existing_entity_id} @{entities_to_be_upserted}= Create List ${new_entity} ${existing_entity} + @{entities_ids_to_be_upserted}= Create List ${existing_entity_id} ${new_entity_id} Batch Upsert Entities @{entities_to_be_upserted} update_option=update @@ -33,12 +35,19 @@ Batch Upsert Entities With Update Option Scenarios Check Response Status Code Set To 201 Check Response Body Containing Array Of URIs set to @{expected_entities_ids} + ${old_entity}= Load Test Sample entities/${existing_entity_payload_filename} ${existing_entity_id} + ${update_fragment}= Load Test Sample entities/${update_fragment_filename} + ${old_updated_entity}= Upsert Element In Entity ${old_entity} ${update_fragment} + @{updated_entities}= Create List ${new_entity} ${old_updated_entity} + Query Entities ${entities_ids_to_be_upserted} Building context=${ngsild_test_suite_context} + Check Updated Resources Set To ${updated_entities} + @{entities_ids_to_be_deleted}= Create List ${new_entity_id} Batch Delete Entities @{entities_ids_to_be_deleted} Setup Initial Entities ${existing_entity_id}= Generate Random Entity Id ${building_id_prefix} - Create Entity building-minimal-sample.jsonld ${existing_entity_id} + Create Entity ${existing_entity_payload_filename} ${existing_entity_id} Set Suite Variable ${existing_entity_id} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_05.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_05.robot index 5bb077237b9947a315a6f750d11fc81daa8c8227..91426f048fa6099f564362677f5067efaeeabe17 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_05.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_05.robot @@ -30,4 +30,8 @@ Upsert a batch of two valid entities and one invalid entity Check Response Status Code Set To 207 Check Response Body Containing Batch Operation Result ${expected_batch_operation_result} + Query Entities ${expected_successful_entities_ids} Building context=${ngsild_test_suite_context} + @{upserted_entities}= Create List ${first_entity} ${second_entity} + Check Updated Resources Set To ${upserted_entities} + Batch Delete Entities @{expected_successful_entities_ids} diff --git a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_01.robot b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_01.robot index 7f4ed1cc8a9b5bfe448c64539b4bc4bc8cc50938..b35b351b9b84ec4cfd135673dea49cf7ce123661 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_01.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_01.robot @@ -27,4 +27,9 @@ Create Entity Scenarios Check Response Status Code 201 ${response['status']} Check Response Headers Containing URI set to ${request['path']} ${entity_id} ${response} + ${created_entity}= Load Test Sample entities/${filename} ${entity_id} + Run Keyword If '${content_type}'=='application/json' Retrieve Entity by Id ${entity_id} ${content_type} + Run Keyword If '${content_type}'=='application/ld+json' Retrieve Entity by Id ${entity_id} ${content_type} context=${ngsild_test_suite_context} + Check Created Resource Set To ${created_entity} + [Teardown] Delete Entity by Id ${entity_id} \ No newline at end of file diff --git a/TP/NGSI-LD/ContextInformation/Provision/Entities/DeleteEntity/002_01.robot b/TP/NGSI-LD/ContextInformation/Provision/Entities/DeleteEntity/002_01.robot index 8254de9f6632aef2c7f8e4d47cba6e370f551b59..c7529b70b7d9ca4349fcbe7d422069288452948a 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/Entities/DeleteEntity/002_01.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/DeleteEntity/002_01.robot @@ -18,3 +18,6 @@ Delete an entity ${response}= Delete Entity by Id Returning Response ${entity_id} Check Response Status Code 204 ${response['status']} + + Retrieve Entity by Id ${entity_id} context=${ngsild_test_suite_context} + Check SUT Not Containing Resource diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_01.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_01.robot index 2e97d9ddc9a7442aaa5b2cd36e44750ed10ff931..aeb55b3c43d97dc1e6cba5e6bccd03047798836a 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_01.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_01.robot @@ -23,6 +23,10 @@ Create Context Source Registration Subscription Check Response Status Code Set To 201 Check Response Headers Containing URI set to ${request['path']}/ ${subscription_id} ${response} + Retrieve Context Source Registration Subscription ${subscription_id} context=${ngsild_test_suite_context} accept=${CONTENT_TYPE_LD_JSON} + ${ignored_attributes}= Create List ${status_regex_expr} + Check Created Resource Set To ${subscription_payload} ${ignored_attributes} + *** Keywords *** Generate Random Ids For Context Source Registration Subscriptions # TODO: Refactor Generate Random Entity Id to Generate Random Test Sample Id diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_02.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_02.robot index e5347ac431560d93439bd74e8a321298a6f9ed4e..d7019a9802f280b05558c081a066af32a49da9b5 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_02.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_02.robot @@ -25,6 +25,10 @@ Create Context Source Registration Subscription Without An Id Set Suite Variable ${subscription_id} + Retrieve Context Source Registration Subscription ${subscription_id} context=${ngsild_test_suite_context} accept=${CONTENT_TYPE_LD_JSON} + ${ignored_attributes}= Create List ${id_regex_expr} ${status_regex_expr} + Check Created Resource Set To ${subscription_payload} ${ignored_attributes} + *** Keywords *** Delete Created Context Source Registration Subscriptions Delete Context Source Registration Subscription ${subscription_id} diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_01.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_01.robot index e422665c6aa9e29c8bb63cc6d923b3e8ff5ec9d0..53629a0f398935f9352c9f222f68973e35e23036 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_01.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_01.robot @@ -19,6 +19,9 @@ Delete Context Source Registration Subscription Check Response Status Code Set To 204 + Retrieve Context Source Registration Subscription ${subscription_id} context=${ngsild_test_suite_context} + Check SUT Not Containing Resource + *** Keywords *** Setup Initial Context Source Registration Subscriptions ${subscription_id}= Generate Random Entity Id ${subscription_id_prefix} diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_01.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_01.robot index c72a111ccc70bf836da27240898db130f9f93c20..bca6b4d5084a5f266d099757f83d5635eee86938 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_01.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_01.robot @@ -22,6 +22,11 @@ Update Context Source Registration Subscription Check Response Status Code Set To 204 + ${subscription}= Upsert Element In Entity ${subscription_payload} ${subscription_update_fragment} + Retrieve Context Source Registration Subscription ${subscription_id} context=${ngsild_test_suite_context} accept=${CONTENT_TYPE_LD_JSON} + ${ignored_attributes}= Create List ${status_regex_expr} + Check Updated Resource Set To ${subscription} + *** Keywords *** Setup Initial Context Source Registration Subscriptions ${subscription_id}= Generate Random Entity Id ${subscription_id_prefix} @@ -30,6 +35,7 @@ Setup Initial Context Source Registration Subscriptions Create Context Source Registration Subscription ${subscription_payload} Set Suite Variable ${subscription_id} + Set Suite Variable ${subscription_payload} Delete Initial Context Source Registration Subscriptions Delete Context Source Registration Subscription ${subscription_id} diff --git a/data/entities/fragmentEntities/airQualityLevel-with-relationship-fragment.json b/data/entities/fragmentEntities/airQualityLevel-with-relationship-fragment.json new file mode 100644 index 0000000000000000000000000000000000000000..cbf121c35664e3fd0f173e23a6cf7aa0d52d064d --- /dev/null +++ b/data/entities/fragmentEntities/airQualityLevel-with-relationship-fragment.json @@ -0,0 +1,12 @@ +{ + "airQualityLevel": { + "type": "Property", + "value": 4, + "unitCode": "C62", + "observedAt": "2020-09-09T16:40:00.000Z", + "hasWeatherObserved": { + "type": "Relationship", + "object": "urn:ngsi-ld:Sensor:43a1af27-4aa7-44fe-bee9-fe76d56978a4" + } + } +} \ No newline at end of file diff --git a/data/entities/fragmentEntities/empty-fragment.json b/data/entities/fragmentEntities/empty-fragment.json new file mode 100644 index 0000000000000000000000000000000000000000..0db3279e44b0dc4fb7e694b6cb10210a96ba6ba5 --- /dev/null +++ b/data/entities/fragmentEntities/empty-fragment.json @@ -0,0 +1,3 @@ +{ + +} diff --git a/data/entities/fragmentEntities/locatedAt-fragment.json b/data/entities/fragmentEntities/locatedAt-fragment.json new file mode 100644 index 0000000000000000000000000000000000000000..c48f459a3ab4bfba3339e8fe3c5e69a546b02ec2 --- /dev/null +++ b/data/entities/fragmentEntities/locatedAt-fragment.json @@ -0,0 +1,6 @@ +{ + "locatedAt": { + "type": "Relationship", + "object": "urn:ngsi-ld:City:Paris" + } +} \ No newline at end of file diff --git a/data/entities/fragmentEntities/simple-attributes-fragment.json b/data/entities/fragmentEntities/simple-attributes-fragment.json new file mode 100644 index 0000000000000000000000000000000000000000..d682a53729946298eb682cf8c26747b9363951a5 --- /dev/null +++ b/data/entities/fragmentEntities/simple-attributes-fragment.json @@ -0,0 +1,22 @@ +{ + "name":{ + "type":"Property", + "value":"Eiffel Tower" + }, + "subCategory":{ + "type":"Property", + "value":[ + "tourism" + ] + }, + "airQualityLevel":{ + "type":"Property", + "value":4, + "unitCode":"C62", + "observedAt":"2020-09-09T16:40:00.000Z" + }, + "almostFull":{ + "type":"Property", + "value":false + } +} \ No newline at end of file diff --git a/data/entities/fragmentEntities/simple-attributes-relationship-of-property-fragment.json b/data/entities/fragmentEntities/simple-attributes-relationship-of-property-fragment.json new file mode 100644 index 0000000000000000000000000000000000000000..52660970971c9fe8783476a11d5ff9b30f6fc24c --- /dev/null +++ b/data/entities/fragmentEntities/simple-attributes-relationship-of-property-fragment.json @@ -0,0 +1,26 @@ +{ + "name":{ + "type":"Property", + "value":"Eiffel Tower" + }, + "subCategory":{ + "type":"Property", + "value":[ + "tourism" + ] + }, + "airQualityLevel":{ + "type":"Property", + "value":4, + "unitCode":"C62", + "observedAt":"2020-09-09T16:40:00.000Z", + "hasWeatherObserved":{ + "type":"Relationship", + "object":"urn:ngsi-ld:Sensor:43a1af27-4aa7-44fe-bee9-fe76d56978a4" + } + }, + "almostFull":{ + "type":"Property", + "value":false + } +} \ No newline at end of file diff --git a/resources/ApiUtils.resource b/resources/ApiUtils.resource index 74de3e93eaccb5aad36edfb00c130ab2dc523e48..90a9349f831e96916e77aaa290e2be654426a669 100755 --- a/resources/ApiUtils.resource +++ b/resources/ApiUtils.resource @@ -60,6 +60,7 @@ Query Entity ${response}= GET ${ENTITIES_ENDPOINT_PATH}${id} headers=${headers} query=${params} Output request Output response + Set Test Variable ${response} [return] ${response} Query Entities @@ -83,6 +84,7 @@ Query Entities ${response}= GET ${ENTITIES_ENDPOINT_PATH} headers=${headers} query=${params} Output request Output response + Set Test Variable ${response} [return] ${response} Query Entities Via POST @@ -569,9 +571,10 @@ Update Context Source Registration Subscription Set Test Variable ${response} Retrieve Context Source Registration Subscription - [Arguments] ${subscription_id} ${context}=${EMPTY} + [Arguments] ${subscription_id} ${context}=${EMPTY} ${accept}=${CONTENT_TYPE_JSON} &{headers}= Create Dictionary + Set To Dictionary ${headers} Accept ${accept} Run Keyword If '${context}'!='' Set To Dictionary ${headers} Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json" ${response}= GET ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_ENDPOINT_PATH}/${subscription_id} headers=${headers} Output request diff --git a/resources/AssertionUtils.resource b/resources/AssertionUtils.resource index ba0f8ca248d6bef5bede60a228aaa441323230b7..261fcd303f271905875fe22290fc5ebf13b2f9d7 100755 --- a/resources/AssertionUtils.resource +++ b/resources/AssertionUtils.resource @@ -2,7 +2,7 @@ Library ${EXECDIR}/libraries/assertionUtils.py *** Variable *** -${id_regex_expr}= root\\['@context'\\] +${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'\\] @@ -285,3 +285,36 @@ Check Pagination Prev And Next Headers Run Keyword If '${prev_link}'!='' and '${next_link}'!='' Lists Should Be Equal ${response['headers']['Link']} ${expected_links} ignore_order=True Run Keyword If '${prev_link}'!='' and '${next_link}'=='' Should Be Equal ${response['headers']['Link']} ${prev_link} Run Keyword If '${prev_link}'=='' and '${next_link}'!='' Should Be Equal ${response['headers']['Link']} ${next_link} + +Check Resource Set To + [Arguments] ${resource} ${ignored_keys}=${None} ${error_message}=${EMPTY} + + ${comparison_result}= Compare Dictionaries Ignoring Keys ${response['body']} ${resource} ${ignored_keys} + Should Be True ${comparison_result} msg=${error_message} + +Check Created Resource Set To + [Arguments] ${created_resource} ${ignored_keys}=${None} + + Check Resource Set To ${created_resource} ${ignored_keys} Created Resource Comparison Failed + +Check Created Resources Set To + [Arguments] ${created_resources} ${ignored_keys}=${None} + + Check Resource Set To ${created_resources} ${ignored_keys} Created Resources Comparison Failed + +Check Updated Resource Set To + [Arguments] ${updated_resource} ${ignored_keys}=${None} + + Check Resource Set To ${updated_resource} ${ignored_keys} Updated Resource Comparison Failed + +Check Updated Resources Set To + [Arguments] ${updated_resources} ${ignored_keys}=${None} + + Check Resource Set To ${updated_resources} ${ignored_keys} Updated Resources Comparison Failed + +Check SUT Not Containing Resource + ${response_status}= convert to string ${response['status']} + Should Be Equal ${response_status} 404 + +Check SUT Not Containing Resources + Should Be Empty ${response['body']} diff --git a/resources/JsonUtils.resource b/resources/JsonUtils.resource index 07767d1d49ae159b3ca00590c2585d52493a5ad7..9d633d56c506ef9ee9cf77c5ee4105eb2eef2c0c 100644 --- a/resources/JsonUtils.resource +++ b/resources/JsonUtils.resource @@ -64,3 +64,9 @@ Create Batch Operation Result &{batch_operation_result}= Create Dictionary success=${success} errors=${errors} [return] &{batch_operation_result} + +Upsert Element In Entity + [Arguments] ${initial_entity} ${fragment} ${jsonPath}=$ + + ${updated_entity}= Add Object To Json ${initial_entity} ${jsonPath} ${fragment} + [return] ${updated_entity}