diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_01.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_01.robot new file mode 100644 index 0000000000000000000000000000000000000000..725fd77b721bfe874edde82cdbcc559985a29625 --- /dev/null +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_01.robot @@ -0,0 +1,36 @@ +*** Settings *** +Documentation Check that you can create a batch of entities +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource + +Test Template Batch Create Entity Scenarios + +*** Variable *** +${building_id_prefix}= urn:ngsi-ld:Building: + +*** Test Cases *** FILENAME +MinimalEntity building-minimal-sample.jsonld +EntityWithSimpleProperties building-simple-attributes-sample.jsonld +EntityWithSimpleRelationships building-relationship-sample.jsonld +EntityWithRelationshipsProperties building-relationship-of-property-sample.jsonld + +*** Keywords *** +Batch Create Entity Scenarios + [Arguments] ${filename} + [Documentation] Check that you can create a batch of entities + [Tags] mandatory entityOperations + + ${first_entity_id}= Generate Random Entity Id ${building_id_prefix} + ${second_entity_id}= Generate Random Entity Id ${building_id_prefix} + ${first_entity}= Load Entity ${filename} ${first_entity_id} + ${second_entity}= Load Entity ${filename} ${second_entity_id} + @{entities_to_be_created}= Create List ${first_entity} ${second_entity} + + Batch Create Entities @{entities_to_be_created} + + @{expected_entities_ids}= Create List ${first_entity_id} ${second_entity_id} + Check Response Status Code Set To 201 + Check Response Body Containing Array Of URIs set to @{expected_entities_ids} + + Batch Delete Entities @{expected_entities_ids} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/partialSuccess.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_02.robot similarity index 80% rename from TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/partialSuccess.robot rename to TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_02.robot index 6440376b5f2371f1640d4d1da9c41463beb58743..83533186c35266d3faa9e8954907778a3227f9c0 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/partialSuccess.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_02.robot @@ -1,26 +1,18 @@ *** Settings *** Documentation Check that you can create a batch of entities where some will succeed and others will fail -Variables ../../../../../../resources/variables.py -Resource ../../../../../../resources/ApiUtils.resource -Resource ../../../../../../resources/AssertionUtils.resource -Resource ../../../../../../resources/JsonUtils.resource -Library REST ${url} -Library JSONLibrary -Library String -Library Collections +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource Suite Setup Setup Initial Entities *** Variable *** -${batch_endpoint}= entityOperations/create -${batch_delete_endpoint}= entityOperations/delete -${endpoint}= entities ${building_id_prefix}= urn:ngsi-ld:Building: *** Test Case *** Create a batch of two valid entities and one invalid entity [Documentation] Check that you can create a batch of two valid entities and one invalid entity - [Tags] critical + [Tags] mandatory ${first_entity_id}= Generate Random Entity Id ${building_id_prefix} ${second_entity_id}= Generate Random Entity Id ${building_id_prefix} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_03.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_03.robot new file mode 100644 index 0000000000000000000000000000000000000000..916fcd5c4185040797726190adf685de35691bca --- /dev/null +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_03.robot @@ -0,0 +1,21 @@ +*** Settings *** +Documentation Check that you cannot create a batch of entities with an invalid request +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource + +Test Template Create Batch Entity With Invalid Request Scenarios + +*** Test Cases *** FILENAME +InvalidJson batch/invalid-json-sample.jsonld +EmptyJson batch/empty-sample.jsonld + +*** Keywords *** +Create Batch Entity With Invalid Request Scenarios + [Arguments] ${filename} + [Documentation] Check that you cannot create a batch of entities with an invalid request + [Tags] mandatory + + Batch Request Entities From File create filename=${filename} + + Check RL Response Status Code Set To 400 + Check RL Response Body Containing Problem Details Element Containing Detail Element ${response} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/failure.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/failure.robot deleted file mode 100644 index 18e6cec857647046f77d52ff58ee11293ff012d8..0000000000000000000000000000000000000000 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/failure.robot +++ /dev/null @@ -1,32 +0,0 @@ -*** Settings *** -Documentation Check that you cannot create a batch of entities with an invalid request -Variables ../../../../../../resources/variables.py -Resource ../../../../../../resources/ApiUtils.resource -Resource ../../../../../../resources/AssertionUtils.resource -Library RequestsLibrary -Library JSONLibrary -Library OperatingSystem - - -*** Variable *** -${batch_endpoint}= entityOperations/create -${endpoint}= entities - -*** Test Case *** -With invalid json document - [Documentation] Check that you cannot create a batch of entities with an invalid json document - [Tags] critical - - Batch Request Entities From File batch/invalid-json-sample.jsonld - - Check Response Status Code Set To 400 - Check Response Body Containing Problem Details Element Containing Detail Element ${response} - -With empty json document - [Documentation] Check that you cannot create a batch of entities with an empty json document - [Tags] critical - - Batch Request Entities From File batch/empty-sample.jsonld - - Check Response Status Code Set To 400 - Check Response Body Containing Problem Details Element Containing Detail Element ${response} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/fullSuccess.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/fullSuccess.robot deleted file mode 100644 index 56bda491e3115a1c657c7d46eb7a5d1a9837efbb..0000000000000000000000000000000000000000 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/fullSuccess.robot +++ /dev/null @@ -1,71 +0,0 @@ -*** Settings *** -Documentation Check that you can create a batch of entities -Variables ../../../../../../resources/variables.py -Resource ../../../../../../resources/ApiUtils.resource -Resource ../../../../../../resources/AssertionUtils.resource -Resource ../../../../../../resources/JsonUtils.resource -Library REST ${url} -Library JSONLibrary -Library String -Library Collections - -*** Variable *** -${batch_endpoint}= entityOperations/create -${batch_delete_endpoint}= entityOperations/delete -${endpoint}= entities -${building_id_prefix}= urn:ngsi-ld:Building: - -*** Test Case *** -Create a batch of minimal entities - [Documentation] Check that you can create a batch of minimal entities - [Tags] critical - - ${first_entity_id}= Generate Random Entity Id ${building_id_prefix} - ${second_entity_id}= Generate Random Entity Id ${building_id_prefix} - ${first_entity}= Load Entity building-minimal-sample.jsonld ${first_entity_id} - ${second_entity}= Load Entity building-minimal-sample.jsonld ${second_entity_id} - @{entities_to_be_created}= Create List ${first_entity} ${second_entity} - - Batch Create Entities @{entities_to_be_created} - - @{expected_entities_ids}= Create List ${first_entity_id} ${second_entity_id} - Check Response Status Code Set To 201 - Check Response Body Containing Array Of URIs set to @{expected_entities_ids} - - Batch Delete Entities @{expected_entities_ids} - -Create a batch of entities having only simple properties - [Documentation] Check that you can create a batch of entities having only simple properties - [Tags] critical - - ${first_entity_id}= Generate Random Entity Id ${building_id_prefix} - ${second_entity_id}= Generate Random Entity Id ${building_id_prefix} - ${first_entity}= Load Entity building-simple-attributes-sample.jsonld ${first_entity_id} - ${second_entity}= Load Entity building-simple-attributes-sample.jsonld ${second_entity_id} - @{entities_to_be_created}= Create List ${first_entity} ${second_entity} - - Batch Create Entities @{entities_to_be_created} - - @{expected_entities_ids}= Create List ${first_entity_id} ${second_entity_id} - Check Response Status Code Set To 201 - Check Response Body Containing Array Of URIs set to @{expected_entities_ids} - - Batch Delete Entities @{expected_entities_ids} - -Create a batch of entities having multiple attributes - [Documentation] Check that you can create a batch of entities having multiple attributes - [Tags] critical - - ${first_entity_id}= Generate Random Entity Id ${building_id_prefix} - ${second_entity_id}= Generate Random Entity Id ${building_id_prefix} - ${first_entity}= Load Entity building-relationship-of-property-sample.jsonld ${first_entity_id} - ${second_entity}= Load Entity building-relationship-of-property-sample.jsonld ${second_entity_id} - @{entities_to_be_created}= Create List ${first_entity} ${second_entity} - - Batch Create Entities @{entities_to_be_created} - - @{expected_entities_ids}= Create List ${first_entity_id} ${second_entity_id} - Check Response Status Code Set To 201 - Check Response Body Containing Array Of URIs set to @{expected_entities_ids} - - Batch Delete Entities @{expected_entities_ids} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/fullSuccess.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_01.robot similarity index 68% rename from TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/fullSuccess.robot rename to TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_01.robot index 09049cb39390f18abcccb39a10d1a93a1e84e848..13652a235818fe3a1bfa731328e50bd3fd36743c 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/fullSuccess.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_01.robot @@ -1,25 +1,18 @@ *** Settings *** Documentation Check that you can delete a batch of entities -Variables ../../../../../../resources/variables.py -Resource ../../../../../../resources/ApiUtils.resource -Resource ../../../../../../resources/AssertionUtils.resource -Resource ../../../../../../resources/JsonUtils.resource -Library REST ${url} -Library JSONLibrary -Library String -Library Collections +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource Suite Setup Setup Initial Entities *** Variable *** -${batch_delete_endpoint}= entityOperations/delete -${endpoint}= entities ${building_id_prefix}= urn:ngsi-ld:Building: *** Test Case *** Delete a batch of entities [Documentation] Check that you can delete a batch of entities - [Tags] critical + [Tags] mandatory @{entities_ids_to_be_deleted}= Create List ${first_entity_id} ${second_entity_id} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/partialSuccess.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_02.robot similarity index 75% rename from TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/partialSuccess.robot rename to TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_02.robot index ea7152e91d824341fe3b1d4385a349c9849b67b0..49246ae07ad058fb3e073d6b363b64bc61a0ac4c 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/partialSuccess.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_02.robot @@ -1,25 +1,18 @@ *** Settings *** Documentation Check that you can delete a batch of entities where some will succeed and others will fail -Variables ../../../../../../resources/variables.py -Resource ../../../../../../resources/ApiUtils.resource -Resource ../../../../../../resources/AssertionUtils.resource -Resource ../../../../../../resources/JsonUtils.resource -Library REST ${url} -Library JSONLibrary -Library String -Library Collections +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource Suite Setup Setup Initial Entities *** Variable *** -${batch_delete_endpoint}= entityOperations/delete -${endpoint}= entities ${building_id_prefix}= urn:ngsi-ld:Building: *** Test Case *** Delete a batch of non existing and existing entities [Documentation] Check that you can delete a batch of non existing and existing entities - [Tags] critical + [Tags] mandatory ${new_entity_id}= Generate Random Entity Id ${building_id_prefix} @{entities_ids_to_be_deleted}= Create List ${existing_entity_id} ${new_entity_id} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_03.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_03.robot new file mode 100644 index 0000000000000000000000000000000000000000..ae664944563a48f7e979ec546c62c5be9adcc284 --- /dev/null +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_03.robot @@ -0,0 +1,21 @@ +*** Settings *** +Documentation Check that you cannot delete a batch of entities with an invalid request +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource + +Test Template Batch Delete Entity With Invalid Request Scenarios + +*** Test Cases *** FILENAME +InvalidJson batch/invalid-json-sample.jsonld +EmptyJson batch/empty-sample.jsonld + +*** Keywords *** +Batch Delete Entity With Invalid Request Scenarios + [Arguments] ${filename} + [Documentation] Check that you cannot delete a batch of entities with an invalid request + [Tags] mandatory + + Batch Request Entities From File delete filename=${filename} + + Check RL Response Status Code Set To 400 + Check RL Response Body Containing Problem Details Element Containing Detail Element ${response} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/failure.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/failure.robot deleted file mode 100644 index 6ded9d0193c86fce9a2359878d85ab33ad59ed5c..0000000000000000000000000000000000000000 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/failure.robot +++ /dev/null @@ -1,32 +0,0 @@ -*** Settings *** -Documentation Check that you cannot delete a batch of entities with an invalid request -Variables ../../../../../../resources/variables.py -Resource ../../../../../../resources/ApiUtils.resource -Resource ../../../../../../resources/AssertionUtils.resource -Library RequestsLibrary -Library JSONLibrary -Library OperatingSystem - - -*** Variable *** -${batch_endpoint}= entityOperations/delete -${endpoint}= entities - -*** Test Case *** -With invalid json document - [Documentation] Check that you cannot delete a batch of entities with an invalid json document - [Tags] critical - - Batch Request Entities From File batch/invalid-json-sample.jsonld - - Check Response Status Code Set To 400 - Check Response Body Containing Problem Details Element Containing Detail Element ${response} - -With empty json document - [Documentation] Check that you cannot delete a batch of entities with an empty json document - [Tags] critical - - Batch Request Entities From File batch/empty-sample.jsonld - - Check Response Status Code Set To 400 - Check Response Body Containing Problem Details Element Containing Detail Element ${response} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/fullSuccess.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_01.robot similarity index 52% rename from TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/fullSuccess.robot rename to TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_01.robot index 884252167b7fde3c6499ee7c11011556dc502bbc..4ecd867938b66f9b9e182f22dab51c8cb9e63558 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/fullSuccess.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_01.robot @@ -1,39 +1,35 @@ *** Settings *** Documentation Check that you can update a batch of entities -Variables ../../../../../../resources/variables.py -Resource ../../../../../../resources/ApiUtils.resource -Resource ../../../../../../resources/AssertionUtils.resource -Resource ../../../../../../resources/JsonUtils.resource -Library REST ${url} -Library JSONLibrary -Library String -Library Collections +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource Suite Setup Setup Initial Entities +Test Template Batch Update Entity Scenarios +Suite Teardown Delete Initial Entities *** Variable *** -${batch_endpoint}= entityOperations/update -${batch_delete_endpoint}= entityOperations/delete -${endpoint}= entities ${building_id_prefix}= urn:ngsi-ld:Building: -*** Test Case *** -Update a batch of entities +*** Test Cases *** FILENAME +EntityWithSimpleProperties building-simple-attributes-sample.jsonld +EntityWithSimpleRelationships building-relationship-sample.jsonld +EntityWithRelationshipsProperties building-relationship-of-property-sample.jsonld + +*** Keywords *** +Batch Update Entity Scenarios + [Arguments] ${filename} [Documentation] Check that you can update a batch of entities - [Tags] critical + [Tags] mandatory - ${first_entity}= Load Entity building-relationship-of-property-sample.jsonld ${first_entity_id} - ${second_entity}= Load Entity building-relationship-of-property-sample.jsonld ${second_entity_id} + ${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} Batch Update Entities @{entities_to_be_updated} Check Response Status Code Set To 204 - @{entities_ids_to_be_deleted}= Create List ${first_entity_id} ${second_entity_id} - Batch Delete Entities @{entities_ids_to_be_deleted} - -*** Keywords *** Setup Initial Entities ${first_entity_id}= Generate Random Entity Id ${building_id_prefix} ${second_entity_id}= Generate Random Entity Id ${building_id_prefix} @@ -42,3 +38,7 @@ Setup Initial Entities Set Suite Variable ${first_entity_id} Set Suite Variable ${second_entity_id} + +Delete Initial Entities + @{entities_ids_to_be_deleted}= Create List ${first_entity_id} ${second_entity_id} + Batch Delete Entities @{entities_ids_to_be_deleted} teardown=True diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/fullSuccessNoOverwriteMode.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_02.robot similarity index 53% rename from TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/fullSuccessNoOverwriteMode.robot rename to TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_02.robot index e6c44a316b83d619328a46b24e43d38031b5f2ab..45485a7de484f7ce94bb02f8f96b24ad572b5a79 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/fullSuccessNoOverwriteMode.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_02.robot @@ -1,39 +1,35 @@ *** Settings *** Documentation Check that you can update a batch of entities with noOverwrite option -Variables ../../../../../../resources/variables.py -Resource ../../../../../../resources/ApiUtils.resource -Resource ../../../../../../resources/AssertionUtils.resource -Resource ../../../../../../resources/JsonUtils.resource -Library REST ${url} -Library JSONLibrary -Library String -Library Collections +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource Suite Setup Setup Initial Entities +Test Template Batch Update Entity With NoOverwrite Option Scenarios +Suite Teardown Delete Initial Entities *** Variable *** -${batch_endpoint}= entityOperations/update -${batch_delete_endpoint}= entityOperations/delete -${endpoint}= entities ${building_id_prefix}= urn:ngsi-ld:Building: -*** Test Case *** -Update a batch of entities with noOverwrite option +*** Test Cases *** FILENAME +EntityWithSimpleProperties building-simple-attributes-sample.jsonld +EntityWithSimpleRelationships building-relationship-sample.jsonld +EntityWithRelationshipsProperties building-relationship-of-property-sample.jsonld + +*** Keywords *** +Batch Update Entity With NoOverwrite Option Scenarios + [Arguments] ${filename} [Documentation] Check that you can update a batch of entities with noOverwrite option - [Tags] critical + [Tags] mandatory - ${first_entity}= Load Entity building-relationship-of-property-sample.jsonld ${first_entity_id} - ${second_entity}= Load Entity building-relationship-of-property-sample.jsonld ${second_entity_id} + ${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} Batch Update Entities @{entities_to_be_updated} overwrite_option=noOverwrite Check Response Status Code Set To 204 - @{entities_ids_to_be_deleted}= Create List ${first_entity_id} ${second_entity_id} - Batch Delete Entities @{entities_ids_to_be_deleted} - -*** Keywords *** Setup Initial Entities ${first_entity_id}= Generate Random Entity Id ${building_id_prefix} ${second_entity_id}= Generate Random Entity Id ${building_id_prefix} @@ -42,3 +38,7 @@ Setup Initial Entities Set Suite Variable ${first_entity_id} Set Suite Variable ${second_entity_id} + +Delete Initial Entities + @{entities_ids_to_be_deleted}= Create List ${first_entity_id} ${second_entity_id} + Batch Delete Entities @{entities_ids_to_be_deleted} teardown=True diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/partialSuccess.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_03.robot similarity index 81% rename from TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/partialSuccess.robot rename to TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_03.robot index 79c8a17bc50b2b91b766fdb5bcb2ba795a966df0..6ea6ff51aa3d542e406fa3de3a233ec930d2f765 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/partialSuccess.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_03.robot @@ -1,26 +1,18 @@ *** Settings *** Documentation Check that you can update a batch of entities where some will succeed and others will fail -Variables ../../../../../../resources/variables.py -Resource ../../../../../../resources/ApiUtils.resource -Resource ../../../../../../resources/AssertionUtils.resource -Resource ../../../../../../resources/JsonUtils.resource -Library REST ${url} -Library JSONLibrary -Library String -Library Collections +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource Suite Setup Setup Initial Entities *** Variable *** -${batch_endpoint}= entityOperations/update -${batch_delete_endpoint}= entityOperations/delete -${endpoint}= entities ${building_id_prefix}= urn:ngsi-ld:Building: *** Test Case *** Update a batch of non existing and existing entities [Documentation] Check that you can update a batch of non existing and existing entities - [Tags] critical + [Tags] mandatory ${first_existing_entity}= Load Entity building-relationship-of-property-sample.jsonld ${first_existing_entity_id} ${second_existing_entity}= Load Entity building-relationship-of-property-sample.jsonld ${second_existing_entity_id} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_04.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_04.robot new file mode 100644 index 0000000000000000000000000000000000000000..2c7b8fd195b212de568f8603212d1da53b64761a --- /dev/null +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_04.robot @@ -0,0 +1,21 @@ +*** Settings *** +Documentation Check that you cannot update a batch of entities with an invalid request +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource + +Test Template Batch Update Entity With Invalid Request Scenarios + +*** Test Cases *** FILENAME +InvalidJson batch/invalid-json-sample.jsonld +InvalidJsonLd batch/invalid-json-ld-sample.jsonld + +*** Keywords *** +Batch Update Entity With Invalid Request Scenarios + [Arguments] ${filename} + [Documentation] Check that you cannot update a batch of entities with an invalid request + [Tags] mandatory + + Batch Request Entities From File update filename=${filename} + + Check RL Response Status Code Set To 400 + Check RL Response Body Containing Problem Details Element Containing Detail Element ${response} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/failure.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/failure.robot deleted file mode 100644 index 1698dda2ea23b0ed5dcf3b7c70731d8843ac120f..0000000000000000000000000000000000000000 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/failure.robot +++ /dev/null @@ -1,33 +0,0 @@ -*** Settings *** -Documentation Check that you cannot update a batch of entities with an invalid request -Variables ../../../../../../resources/variables.py -Resource ../../../../../../resources/ApiUtils.resource -Resource ../../../../../../resources/AssertionUtils.resource -Resource ../../../../../../resources/JsonUtils.resource -Library RequestsLibrary -Library JSONLibrary -Library OperatingSystem - -*** Variable *** -${batch_endpoint}= entityOperations/update -${endpoint}= entities - -*** Test Case *** -With invalid json document - [Documentation] Check that you cannot update a batch of entities with an invalid json document - [Tags] critical - - Batch Request Entities From File batch/invalid-json-sample.jsonld - - Check Response Status Code Set To 400 - Check Response Body Containing Problem Details Element Containing Detail Element ${response} - -With json-ld document not syntactically correct according to the @context - [Documentation] Check that you cannot update a batch of entities with a json-ld document not syntactically correct according to the @context - [Tags] critical - - #TODO: Use a json-ld document not syntactically correct according to the @context - Batch Request Entities From File batch/invalid-json-ld-sample.jsonld - - Check Response Status Code Set To 400 - Check Response Body Containing Problem Details Element Containing Detail Element ${response} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_01.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_01.robot new file mode 100644 index 0000000000000000000000000000000000000000..d3f746123b2110c69fde286849b1ee850829f19b --- /dev/null +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_01.robot @@ -0,0 +1,35 @@ +*** Settings *** +Documentation Check that you can upsert a batch of non-existing entities and they will be created +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource + +Test Template Batch Upsert Entity Scenarios + +*** Variable *** +${building_id_prefix}= urn:ngsi-ld:Building: + +*** Test Cases *** FILENAME +EntityWithSimpleProperties building-simple-attributes-sample.jsonld +EntityWithSimpleRelationships building-relationship-sample.jsonld +EntityWithRelationshipsProperties building-relationship-of-property-sample.jsonld + +*** Keywords *** +Batch Upsert Entity Scenarios + [Arguments] ${filename} + [Documentation] Check that you can upsert a batch of non existing entities + [Tags] mandatory + + ${first_entity_id}= Generate Random Entity Id ${building_id_prefix} + ${second_entity_id}= Generate Random Entity Id ${building_id_prefix} + ${first_entity}= Load Entity ${filename} ${first_entity_id} + ${second_entity}= Load Entity ${filename} ${second_entity_id} + @{entities_to_be_upserted}= Create List ${first_entity} ${second_entity} + + Batch Upsert Entities @{entities_to_be_upserted} + + @{expected_entities_ids}= Create List ${first_entity_id} ${second_entity_id} + Check Response Status Code Set To 201 + Check Response Body Containing Array Of URIs set to @{expected_entities_ids} + + 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 new file mode 100644 index 0000000000000000000000000000000000000000..6ec7f5704f51a6038ea179060f71aef1f5985a90 --- /dev/null +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_02.robot @@ -0,0 +1,51 @@ +*** Settings *** +Documentation Check that you can upsert a batch of non-existing and existing entities where non-existing will be created and existing will be replaced +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource + +Suite Setup Setup Initial Entities +Test Template Batch Upsert Non-existing And Existing Entities Scenarios +Suite Teardown Delete Initial Entities + +*** Variable *** +${building_id_prefix}= urn:ngsi-ld:Building: + +*** Test Cases *** FILENAME +EntityWithSimpleProperties building-simple-attributes-sample.jsonld +EntityWithSimpleRelationships building-relationship-sample.jsonld +EntityWithRelationshipsProperties building-relationship-of-property-sample.jsonld + +*** Keywords *** +Batch Upsert Non-existing And Existing Entities Scenarios + [Arguments] ${filename} + [Documentation] Check that you can upsert a batch of non existing and existing entities + [Tags] mandatory + + ${new_entity_id}= Generate Random Entity Id ${building_id_prefix} + ${new_entity}= Load Entity ${filename} ${new_entity_id} + ${first_existing_entity}= Load Entity ${filename} ${first_existing_entity_id} + ${second_existing_entity}= Load Entity ${filename} ${second_existing_entity_id} + @{entities_to_be_upserted}= Create List ${new_entity} ${first_existing_entity} ${second_existing_entity} + + Batch Upsert Entities @{entities_to_be_upserted} + + @{expected_entities_ids}= Create List ${new_entity_id} + Check Response Status Code Set To 201 + Check Response Body Containing Array Of URIs set to @{expected_entities_ids} + + @{entities_ids_to_be_deleted}= Create List ${new_entity_id} + Batch Delete Entities @{entities_ids_to_be_deleted} + +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-minimal-sample.jsonld ${first_existing_entity_id} + Create Entity building-minimal-sample.jsonld ${second_existing_entity_id} + + Set Suite Variable ${first_existing_entity_id} + Set Suite Variable ${second_existing_entity_id} + +Delete Initial Entities + @{entities_ids_to_be_deleted}= Create List ${first_existing_entity_id} ${second_existing_entity_id} + Batch Delete Entities @{entities_ids_to_be_deleted} teardown=True diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/fullSuccessReplaceModeAllUpdated.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_03.robot similarity index 53% rename from TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/fullSuccessReplaceModeAllUpdated.robot rename to TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_03.robot index aa3d57bad0a68e2870a3b6152639258c1d4e896e..24fe219499605f190d17462db4412d19b4412c01 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/fullSuccessReplaceModeAllUpdated.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_03.robot @@ -1,39 +1,35 @@ *** Settings *** Documentation Check that you can upsert a batch of existing entities and they will be replaced -Variables ../../../../../../resources/variables.py -Resource ../../../../../../resources/ApiUtils.resource -Resource ../../../../../../resources/AssertionUtils.resource -Resource ../../../../../../resources/JsonUtils.resource -Library REST ${url} -Library JSONLibrary -Library String -Library Collections +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource Suite Setup Setup Initial Entities +Test Template Batch Upsert Existing Entities Scenarios +Suite Teardown Delete Initial Entities *** Variable *** -${batch_endpoint}= entityOperations/upsert -${batch_delete_endpoint}= entityOperations/delete -${endpoint}= entities ${building_id_prefix}= urn:ngsi-ld:Building: -*** Test Case *** -Upsert a batch of existing entities +*** Test Cases *** FILENAME +EntityWithSimpleProperties building-simple-attributes-sample.jsonld +EntityWithSimpleRelationships building-relationship-sample.jsonld +EntityWithRelationshipsProperties building-relationship-of-property-sample.jsonld + +*** Keywords *** +Batch Upsert Existing Entities Scenarios + [Arguments] ${filename} [Documentation] Check that you can upsert a batch of existing entities - [Tags] critical + [Tags] mandatory - ${first_existing_entity}= Load Entity building-minimal-sample.jsonld ${first_existing_entity_id} - ${second_existing_entity}= Load Entity building-minimal-sample.jsonld ${second_existing_entity_id} + ${first_existing_entity}= Load Entity ${filename} ${first_existing_entity_id} + ${second_existing_entity}= Load Entity ${filename} ${second_existing_entity_id} @{entities_to_be_upserted}= Create List ${first_existing_entity} ${second_existing_entity} Batch Upsert Entities @{entities_to_be_upserted} Check Response Status Code Set To 204 - @{entities_ids_to_be_deleted}= Create List ${first_existing_entity_id} ${second_existing_entity_id} - Batch Delete Entities @{entities_ids_to_be_deleted} - -*** 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} @@ -42,3 +38,7 @@ Setup Initial Entities Set Suite Variable ${first_existing_entity_id} Set Suite Variable ${second_existing_entity_id} + +Delete Initial Entities + @{entities_ids_to_be_deleted}= Create List ${first_existing_entity_id} ${second_existing_entity_id} + Batch Delete Entities @{entities_ids_to_be_deleted} teardown=True diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/fullSuccessUpdateMode.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_04.robot similarity index 52% rename from TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/fullSuccessUpdateMode.robot rename to TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_04.robot index 12a3b8e58cb84a66eab4b5297486a91de9142fba..e9baf486faf08451f67fc340aca264aa1b137a4d 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/fullSuccessUpdateMode.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_04.robot @@ -1,30 +1,30 @@ *** Settings *** Documentation Check that you can upsert a batch of entities with update option -Variables ../../../../../../resources/variables.py -Resource ../../../../../../resources/ApiUtils.resource -Resource ../../../../../../resources/AssertionUtils.resource -Resource ../../../../../../resources/JsonUtils.resource -Library REST ${url} -Library JSONLibrary -Library String -Library Collections +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource Suite Setup Setup Initial Entities +Test Template Batch Upsert Entities With Update Option Scenarios +Suite Teardown Delete Initial Entities *** Variable *** -${batch_endpoint}= entityOperations/upsert -${batch_delete_endpoint}= entityOperations/delete -${endpoint}= entities ${building_id_prefix}= urn:ngsi-ld:Building: -*** Test Case *** -Upsert a batch of entities with update option +*** Test Cases *** FILENAME +EntityWithSimpleProperties building-simple-attributes-sample.jsonld +EntityWithSimpleRelationships building-relationship-sample.jsonld +EntityWithRelationshipsProperties building-relationship-of-property-sample.jsonld + +*** Keywords *** +Batch Upsert Entities With Update Option Scenarios + [Arguments] ${filename} [Documentation] Check that you can upsert a batch of entities with update option - [Tags] critical + [Tags] mandatory ${new_entity_id}= Generate Random Entity Id ${building_id_prefix} - ${new_entity}= Load Entity building-minimal-sample.jsonld ${new_entity_id} - ${existing_entity}= Load Entity building-minimal-sample.jsonld ${existing_entity_id} + ${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} Batch Upsert Entities @{entities_to_be_upserted} update_option=update @@ -33,12 +33,15 @@ Upsert a batch of entities with update option Check Response Status Code Set To 201 Check Response Body Containing Array Of URIs set to @{expected_entities_ids} - @{entities_ids_to_be_deleted}= Create List ${new_entity_id} ${existing_entity_id} + @{entities_ids_to_be_deleted}= Create List ${new_entity_id} Batch Delete Entities @{entities_ids_to_be_deleted} -*** Keywords *** Setup Initial Entities ${existing_entity_id}= Generate Random Entity Id ${building_id_prefix} Create Entity building-minimal-sample.jsonld ${existing_entity_id} Set Suite Variable ${existing_entity_id} + +Delete Initial Entities + @{entities_ids_to_be_deleted}= Create List ${existing_entity_id} + Batch Delete Entities @{entities_ids_to_be_deleted} teardown=True diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/partialSucess.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_05.robot similarity index 77% rename from TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/partialSucess.robot rename to TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_05.robot index c507e7c88002c9915f644817fc8fb307f8ec721d..5bb077237b9947a315a6f750d11fc81daa8c8227 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/partialSucess.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_05.robot @@ -1,24 +1,16 @@ *** Settings *** Documentation Check that you can upsert a batch of entities where some will succeed and others will fail -Variables ../../../../../../resources/variables.py -Resource ../../../../../../resources/ApiUtils.resource -Resource ../../../../../../resources/AssertionUtils.resource -Resource ../../../../../../resources/JsonUtils.resource -Library REST ${url} -Library JSONLibrary -Library String -Library Collections +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource *** Variable *** -${batch_endpoint}= entityOperations/upsert -${batch_delete_endpoint}= entityOperations/delete -${endpoint}= entities ${building_id_prefix}= urn:ngsi-ld:Building: *** Test Case *** Upsert a batch of two valid entities and one invalid entity [Documentation] Check that you can upsert a batch of two valid entities and one invalid entity - [Tags] critical + [Tags] mandatory ${first_entity_id}= Generate Random Entity Id ${building_id_prefix} ${second_entity_id}= Generate Random Entity Id ${building_id_prefix} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_06.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_06.robot new file mode 100644 index 0000000000000000000000000000000000000000..aae23c2888906b1401c2f69eb739419160355890 --- /dev/null +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_06.robot @@ -0,0 +1,21 @@ +*** Settings *** +Documentation Check that you cannot upsert a batch of entities with an invalid request +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource + +Test Template Batch Upsert Entity With Invalid Request Scenarios + +*** Test Cases *** FILENAME +InvalidJson batch/invalid-json-sample.jsonld +InvalidJsonLd batch/invalid-json-ld-sample.jsonld + +*** Keywords *** +Batch Upsert Entity With Invalid Request Scenarios + [Arguments] ${filename} + [Documentation] Check that you cannot upsert a batch of entities with an invalid request + [Tags] mandatory + + Batch Request Entities From File upsert filename=${filename} + + Check RL Response Status Code Set To 400 + Check RL Response Body Containing Problem Details Element Containing Detail Element ${response} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/failure.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/failure.robot deleted file mode 100644 index 8eeaff7baa64e2c8abf5eff346d6fa489a11923b..0000000000000000000000000000000000000000 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/failure.robot +++ /dev/null @@ -1,32 +0,0 @@ -*** Settings *** -Documentation Check that you cannot upsert a batch of entities with an invalid request -Variables ../../../../../../resources/variables.py -Resource ../../../../../../resources/ApiUtils.resource -Resource ../../../../../../resources/AssertionUtils.resource -Resource ../../../../../../resources/JsonUtils.resource -Library RequestsLibrary -Library JSONLibrary -Library OperatingSystem - -*** Variable *** -${batch_endpoint}= entityOperations/upsert -${endpoint}= entities - -*** Test Case *** -With invalid json document - [Documentation] Check that you cannot upsert a batch of entities with an invalid json document - [Tags] critical - - Batch Request Entities From File batch/invalid-json-sample.jsonld - - Check Response Status Code Set To 400 - Check Response Body Containing Problem Details Element Containing Detail Element ${response} - -With json-ld document containing a null value in any of its items - [Documentation] Check that you cannot upsert a batch of entities with a json-ld document containing a null value in any of its items - [Tags] critical - - Batch Request Entities From File batch/invalid-json-ld-sample.jsonld - - Check Response Status Code Set To 400 - Check Response Body Containing Problem Details Element Containing Detail Element ${response} diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/fullSuccessReplaceMode.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/fullSuccessReplaceMode.robot deleted file mode 100644 index e33ce6051e9706a80a79391a0dd96d03e4a27e42..0000000000000000000000000000000000000000 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/fullSuccessReplaceMode.robot +++ /dev/null @@ -1,66 +0,0 @@ -*** Settings *** -Documentation Check that you can upsert a batch of entities -Variables ../../../../../../resources/variables.py -Resource ../../../../../../resources/ApiUtils.resource -Resource ../../../../../../resources/AssertionUtils.resource -Resource ../../../../../../resources/JsonUtils.resource -Library REST ${url} -Library JSONLibrary -Library String -Library Collections - -Suite Setup Setup Initial Entities - -*** Variable *** -${batch_endpoint}= entityOperations/upsert -${batch_delete_endpoint}= entityOperations/delete -${endpoint}= entities -${building_id_prefix}= urn:ngsi-ld:Building: - -*** Test Case *** -Upsert a batch of non existing entities - [Documentation] Check that you can upsert a batch of non existing entities - [Tags] critical - - ${first_entity_id}= Generate Random Entity Id ${building_id_prefix} - ${second_entity_id}= Generate Random Entity Id ${building_id_prefix} - ${first_entity}= Load Entity building-minimal-sample.jsonld ${first_entity_id} - ${second_entity}= Load Entity building-minimal-sample.jsonld ${second_entity_id} - @{entities_to_be_upserted}= Create List ${first_entity} ${second_entity} - - Batch Upsert Entities @{entities_to_be_upserted} - - @{expected_entities_ids}= Create List ${first_entity_id} ${second_entity_id} - Check Response Status Code Set To 201 - Check Response Body Containing Array Of URIs set to @{expected_entities_ids} - - Batch Delete Entities @{expected_entities_ids} - -Upsert a batch of non existing and existing entities - [Documentation] Check that you can upsert a batch of non existing and existing entities - [Tags] critical - - ${new_entity_id}= Generate Random Entity Id ${building_id_prefix} - ${new_entity}= Load Entity building-minimal-sample.jsonld ${new_entity_id} - ${first_existing_entity}= Load Entity building-minimal-sample.jsonld ${first_existing_entity_id} - ${second_existing_entity}= Load Entity building-minimal-sample.jsonld ${second_existing_entity_id} - @{entities_to_be_upserted}= Create List ${new_entity} ${first_existing_entity} ${second_existing_entity} - - Batch Upsert Entities @{entities_to_be_upserted} - - @{expected_entities_ids}= Create List ${new_entity_id} - Check Response Status Code Set To 201 - Check Response Body Containing Array Of URIs set to @{expected_entities_ids} - - @{entities_ids_to_be_deleted}= Create List ${new_entity_id} ${first_existing_entity_id} ${second_existing_entity_id} - Batch Delete Entities @{entities_ids_to_be_deleted} - -*** 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-minimal-sample.jsonld ${first_existing_entity_id} - Create Entity building-minimal-sample.jsonld ${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/Entities/CreateEntity/AlreadyExists.robot b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/AlreadyExists.robot index 8541357748d8e4056c6a8b5a065fc8de9422878d..ef8a80505ae638dabafec371aad4c6156b5840a1 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/AlreadyExists.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/AlreadyExists.robot @@ -15,7 +15,7 @@ ${endpoint}= entities *** Test Case *** AlreadyExists [Documentation] Check that the IUT refuses to create an entity if one exists with the same identifier - [Tags] critical + [Tags] mandatory Create Entity building-minimal.jsonld Create Entity building-minimal.jsonld Check HTTP Status Code Is 409 diff --git a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/SuccessCases.robot b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/SuccessCases.robot index 35b647ab2b94837b292226e4746305632ef2b987..47474e20b49f83a646af5aa9835e6fe5495aaa30 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/SuccessCases.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/SuccessCases.robot @@ -11,7 +11,7 @@ ${id}= urn:ngsi-ld:Building:3009ef20-9f62-41f5-bd66-92f041b428b9 *** Test Case *** SuccessCases_MinimalEntity [Documentation] Create an entity with a JSON-LD payload containing the minimal information - [Tags] critical + [Tags] mandatory Create Entity building-minimal.jsonld Check HTTP Status Code Is 201 Delete Entity by Id ${id} diff --git a/resources/ApiUtils.resource b/resources/ApiUtils.resource index 3a4d99d1686abb93003eae4c119bcc7eced60778..934ca4a43fbef5ec31f8d2f648aa56d9733a4fa8 100644 --- a/resources/ApiUtils.resource +++ b/resources/ApiUtils.resource @@ -2,9 +2,18 @@ Variables ./variables.py Library REST ${url} +Library RequestsLibrary +Library OperatingSystem +Library Collections *** Variables *** +${BATCH_CREATE_ENDPOINT_PATH} entityOperations/create +${BATCH_UPSERT_ENDPOINT_PATH} entityOperations/upsert +${BATCH_UPDATE_ENDPOINT_PATH} entityOperations/update +${BATCH_DELETE_ENDPOINT_PATH} entityOperations/delete +${ENTITIES_ENDPOINT_PATH} entities ${response} +&{BATCH_OPERATION_ENDPOINT_MAPPING} create=${BATCH_CREATE_ENDPOINT_PATH} upsert=${BATCH_UPSERT_ENDPOINT_PATH} update=${BATCH_UPDATE_ENDPOINT_PATH} delete=${BATCH_DELETE_ENDPOINT_PATH} *** Keywords *** Api POST request @@ -33,7 +42,7 @@ Api DEL request Delete Entity by Id [Arguments] ${id} - ${response}= DELETE ${endpoint}/${id} + ${response}= DELETE ${ENTITIES_ENDPOINT_PATH}/${id} Output request Output response @@ -43,14 +52,14 @@ Create Entity ${entity}= Update Value To Json ${entity_payload} $..id ${entity_id} &{headers}= Create Dictionary Content-Type=application/ld+json - ${response}= POST ${endpoint} body=${entity} headers=${headers} + ${response}= POST ${ENTITIES_ENDPOINT_PATH} body=${entity} headers=${headers} Output request Output response Batch Create Entities [Arguments] @{entities_to_be_created} &{headers}= Create Dictionary Content-Type=application/ld+json - ${response}= POST ${batch_endpoint} body=@{entities_to_be_created} headers=${headers} + ${response}= POST ${BATCH_CREATE_ENDPOINT_PATH} body=@{entities_to_be_created} headers=${headers} Output request Output response Set Test Variable ${response} @@ -58,7 +67,7 @@ Batch Create Entities Batch Upsert Entities [Arguments] @{entities_to_be_upserted} ${update_option}=replace &{headers}= Create Dictionary Content-Type=application/ld+json - ${response}= POST ${batch_endpoint}?options=${update_option} body=@{entities_to_be_upserted} headers=${headers} + ${response}= POST ${BATCH_UPSERT_ENDPOINT_PATH}?options=${update_option} body=@{entities_to_be_upserted} headers=${headers} Output request Output response Set Test Variable ${response} @@ -66,23 +75,24 @@ Batch Upsert Entities Batch Update Entities [Arguments] @{entities_to_be_updated} ${overwrite_option}=overwrite &{headers}= Create Dictionary Content-Type=application/ld+json - ${response}= POST ${batch_endpoint}?options=${overwrite_option} body=@{entities_to_be_updated} headers=${headers} + ${response}= POST ${BATCH_UPDATE_ENDPOINT_PATH}?options=${overwrite_option} body=@{entities_to_be_updated} headers=${headers} Output request Output response Set Test Variable ${response} Batch Delete Entities - [Arguments] @{entities_ids_to_be_deleted} + [Arguments] @{entities_ids_to_be_deleted} ${teardown}=False &{headers}= Create Dictionary Content-Type=application/ld+json - ${response}= POST ${batch_delete_endpoint} body=@{entities_ids_to_be_deleted} headers=${headers} + ${response}= POST ${BATCH_DELETE_ENDPOINT_PATH} body=@{entities_ids_to_be_deleted} headers=${headers} Output request Output response - Set Test Variable ${response} + Run Keyword If not ${teardown} Set Test Variable ${response} Batch Request Entities From File - [Arguments] ${filename} + [Arguments] ${batchOperation} ${filename} ${file_content}= Get File ${EXECDIR}/data/entities/${filename} + ${endpoint_url}= Get From Dictionary ${BATCH_OPERATION_ENDPOINT_MAPPING} ${batchOperation} Create Session BatchRequest ${url} &{headers}= Create Dictionary Content-Type=application/ld+json - ${response}= POST Request BatchRequest ${batch_endpoint} data=${file_content} headers=${headers} - Set Test Variable ${response} ${response.json()} + ${response}= POST Request BatchRequest ${endpoint_url} data=${file_content} headers=${headers} + Set Test Variable ${response} diff --git a/resources/AssertionUtils.resource b/resources/AssertionUtils.resource index ab8faf9950f69ef663d223c40890c274d86578f8..324d81824ebe5f7feadf29fbee72e330c8787939 100644 --- a/resources/AssertionUtils.resource +++ b/resources/AssertionUtils.resource @@ -4,6 +4,10 @@ Check Response Status Code Set To ${response_status}= convert to string ${response['status']} Should Be Equal ${response_status} ${expected_status} +Check RL Response Status Code Set To + [Arguments] ${expected_status} + Status Should Be ${expected_status} ${response} + Check Response Body Containing Array Of URIs set to [Arguments] @{expected_entities_ids} Lists Should Be Equal ${expected_entities_ids} ${response['body']} ignore_order=True @@ -28,6 +32,11 @@ Check Response Body Containing Problem Details Element Containing Detail Element [Arguments] ${response_body} Should Not Be Empty ${response_body['detail']} +Check RL Response Body Containing Problem Details Element Containing Detail Element + [Arguments] ${response_body} + ${json_response_body}= To Json ${response_body.content} + Should Not Be Empty ${json_response_body['detail']} + Assert response status code [Arguments] ${code} Should Be Equal ${response}[status] ${code} diff --git a/resources/JsonUtils.resource b/resources/JsonUtils.resource index cda79d17cdda37c8e9f6d7931d8d991dee3c01e4..8ae198c285596f886e724df3030e3b847ed406aa 100644 --- a/resources/JsonUtils.resource +++ b/resources/JsonUtils.resource @@ -1,3 +1,7 @@ +*** Settings *** +Library String +Library JSONLibrary + *** Keywords *** Load Entity [Arguments] ${entity_file_name} ${entity_id} diff --git a/resources/variables.py b/resources/variables.py index b2ae5498d6533e6b8c80d5c77302ce416e328549..7136ce1fd444d79487aae2ef7ed07874c78069b1 100644 --- a/resources/variables.py +++ b/resources/variables.py @@ -1,5 +1,5 @@ def get_variables(arg=None): variables = { - 'url': 'http://10.5.1.214:9090/ngsi-ld/v1' + 'url': 'http://127.0.0.1:8082/ngsi-ld/v1' } return variables diff --git a/scripts/run_tests.sh b/scripts/run_tests.sh index 7a678f8603630af82bcbd2dd630c1efcd83ba002..d403cf62e33969959d5ef30d11ec1e96951148ce 100755 --- a/scripts/run_tests.sh +++ b/scripts/run_tests.sh @@ -1,27 +1,28 @@ #!/bin/bash -#run all tests -robot --outputdir ./results . +# run all tests +robot --outputdir ./results ./TP/NGSI-LD -#run all tests with base url overriden -#robot --variable url:"URL_HERE" --outputdir ./results . +# run all tests with base url overriden +robot --variable url:"URL_HERE" --outputdir ./results . -#specify which tests are critical -#robot --critical critical --outputdir ./results . +# specify which tests are mandatory +robot --critical mandatory --outputdir ./results . -#run by specific tag(s) -#robot --include critical --outputdir ./results . +# run by specific tag(s) +robot --include mandatory --outputdir ./results . -#run specific test suite -#robot --outputdir ./results ./TP/NGSI-LD/ContextInformation -#robot --outputdir ./results ./TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/SuccessCases.robot +# run specific test suite +robot --outputdir ./results ./TP/NGSI-LD/ContextInformation +robot --outputdir ./results ./TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/SuccessCases.robot +robot --outputdir ./results ./TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/failure.robot -#run specific test case -#robot --outputdir ./results -t "SuccessCases_MinimalEntity" -#robot --outputdir ./results -t "SuccessCases_MinimalEntity" ./TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/SuccessCases.robot +# run specific test case +robot --outputdir ./results -t "SuccessCases_MinimalEntity" +robot --outputdir ./results -t "SuccessCases_MinimalEntity" ./TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/SuccessCases.robot -#rerun failed tests -#robot --rerunfailedsuites ./results/output.xml --outputdir ./results . +# rerun failed tests +robot --rerunfailedsuites ./results/output.xml --outputdir ./results . -#stop the suite after a failed test +# stop the suite after a failed test robot --exitonfailure --outputdir ./results .