+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/Run_Current_Test_Suite.xml b/.idea/runConfigurations/Run_Current_Test_Suite.xml
new file mode 100644
index 0000000000000000000000000000000000000000..43a559bb40ba9e3ce13188ca72c3102ac24735ee
--- /dev/null
+++ b/.idea/runConfigurations/Run_Current_Test_Suite.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/Run_Current_Test_Suite_with_Listener.xml b/.idea/runConfigurations/Run_Current_Test_Suite_with_Listener.xml
new file mode 100644
index 0000000000000000000000000000000000000000..538e85bea1461f72dc1e536a5c9a097d0d498964
--- /dev/null
+++ b/.idea/runConfigurations/Run_Current_Test_Suite_with_Listener.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index 7f81c6c3a62e3022d2b9e53ebab814d72c84d2bb..dccc04ae416a75f377c8c3d19161ecd0acf776e5 100644
--- a/README.md
+++ b/README.md
@@ -61,19 +61,28 @@ taking into account the content of `requirements.txt` file. Further details on e
In the `resources/variables.py` file, configure the following parameters:
-- `url` : It is the url of the context broker which is to be tested (including the `ngsi-ld/v1` path,
+- `url` : It is the url of the context broker which is to be tested (including the `/ngsi-ld/v1` path,
e.g., http://localhost:8080/ngsi-ld/v1).
+-`temporal_api_url` : This is the url of the GET temporal operation API, in case that a Context Broker splits
+this portion of the API (e.g., http://localhost:8080/ngsi-ld/v1).
+- `ngsild_test_suite_context` : This is the url of the default context used in the ETSI NGSI-LD requests
+(e.g., 'https://forge.etsi.org/rep/cim/ngsi-ld-test-suite/-/raw/develop/resources/jsonld-contexts/ngsi-ld-test-suite-compound.jsonld').
- `notification_server_host` and `notification_server_port` : This is the address and port used to create the local
server to listen to notifications (the address must be accessible by the context broker).
Default value: `0.0.0.0` and `8085`.
-- `send_notification_server_host` and `send_notification_server_port` : This is the address and port used when
-creating the subscription on the context broker (generally it is the same information as `notification_server_host`
-and `notification_server_port`). Default value: `0.0.0.0` and `8085`.
- `context_source_host` and `context_source_port` : The address and port used for the context source.
Default value: `0.0.0.0` and `8086`.
When you execute locally the tests, you can leave the default values as they are. NGSI-LD Test Suite provides
-some mockup services to provide the required functionality.
+a mockup services to provide the notification functionality and therefore the notification_server_host can be
+assigned to '0.0.0.0'. In case that you deploy the Context Broker on a docker engine, you need to specify the
+url of the Docker Host. In this case you have two options to specify the IP address of your host machine:
+
+- (Windows, MacOS) As of Docker v18.03+ you can use the `host.docker.internal` hostname to connect to your
+Docker host.
+- (Linux) Need to extract the IP of the `docker0` interface. Execute the following command:
+``` ifconfig docker0 | grep inet | awk '{print $2}' ``` and that IP is the one that you need to use for
+notification purposes.
## Execute the NGSI-LD Test Suite
@@ -110,18 +119,6 @@ test launch command followed by the file name.
```$ robot . > results.log```
-If you want to generate a documentation for the support keywords:
-
-```$ python3 -m robot.libdoc resources/ApiUtils.resource api_docs/ApiUtils.html```
-
-If you want to generate a documentation for the Test Cases:
-
-```$ python3 -m robot.testdoc TP/NGSI-LD api_docs/TestCases.html```
-
-And if you want to tidy the Test Cases:
-
-```$ python3 -m robot.tidy --recursive TP/NGSI-LD```
-
> **Note:** if you want to deactivate the Python Virtual Environment just execute the command in
> MacOS and Ubuntu systems:
>
@@ -194,7 +191,7 @@ The `find_unused_test_data.py` script in the `scripts` directory can be used to
that are not used by any Test Case:
```
-python3 scripts/find_unused_test_data.py
+$ python3 scripts/find_unused_test_data.py
```
### Find and run Test Cases using a given test data file
@@ -203,11 +200,38 @@ The `find_tc_using_test_data.py` script in the `scripts` directory can be used t
given test data file. It can optionally run all the matching Test Cases:
```
-python3 scripts/find_tc_using_test_data.py
+$ python3 scripts/find_tc_using_test_data.py
```
When launched, the script asks for a test date file name and if the matching Test Cases should be executed.
+### Find the list of defined Variables and Keywords in all resources files
+
+The `apiutils.py` script in the `scripts` directory can be used to find the Variables and Keywords that are defined
+in all resources files defined in the folder `resources/ApiUtils`.
+
+```
+$ python3 scripts/apiutils.py
+```
+
+### Generate documentation content
+
+If you want to generate a documentation for the support keywords, for example for Context Information Consumption
+resources:
+
+```$ python3 -m robot.libdoc resources/ApiUtils/ContextInformationConsumption.resource api_docs/ContextInformationConsumption.html```
+
+And, if you want to generate a documentation for the Test Cases:
+
+```$ python3 -m robot.testdoc TP/NGSI-LD api_docs/TestCases.html```
+
+### Coding Style of Test Suites
+
+And if you want to tidy (code style) the Test Suites:
+
+```$ python3 -m robot.tidy --recursive TP/NGSI-LD```
+
+
## Frameworks and libraries used in the project
* [Robot Framework](https://github.com/robotframework/robotframework)
@@ -228,4 +252,4 @@ When launched, the script asks for a test date file name and if the matching Tes
Copyright 2021 ETSI
The content of this repository and the files contained are released under the [ETSI Software License](LICENSE) a
-(BSD-3-Clause LICENSE).
+(BSD-3-Clause LICENSE).
\ No newline at end of file
diff --git a/TP/NGSI-LD/CommonBehaviours/044_02.robot b/TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyGETWithoutAccept/045_01.robot
similarity index 86%
rename from TP/NGSI-LD/CommonBehaviours/044_02.robot
rename to TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyGETWithoutAccept/045_01.robot
index 8f634d6135ec10e8723672d57e2e431618615ce1..8a2bef47cc2fb4de682a013c8c2b6654e4be6c5e 100644
--- a/TP/NGSI-LD/CommonBehaviours/044_02.robot
+++ b/TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyGETWithoutAccept/045_01.robot
@@ -1,7 +1,13 @@
*** Settings ***
Documentation Verify that on a GET HTTP request if nothing is specified on the Accept header, "application/json" is assumed
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -21,7 +27,7 @@ ${content_type}= application/json
*** Test Cases ***
-044_02_01_endpoint /entities/{entityId}
+045_01_01 Endpoint /entities/{entityId}
[Documentation] Verify that on a GET HTTP request if nothing is specified on the Accept header, "application/json" is assumed (/entities/{entityId})
[Tags] e-query 6_3_4
${id}= Generate Random Entity Id ${building_id_prefix}
@@ -36,7 +42,7 @@ ${content_type}= application/json
Check Response Headers Link Not Empty ${response.headers}
[Teardown] Delete Entity by Id Returning Response ${id}
-044_02_02_endpoint /subscriptions/{subscriptionId}
+045_01_02 Endpoint /subscriptions/{subscriptionId}
[Documentation] Verify that on a GET HTTP request if nothing is specified on the Accept header, "application/json" is assumed (/subscriptions/{subscriptionId})
[Tags] sub-retrieve 6_3_4
${id}= Generate Random Entity Id ${subscription_id_prefix}
@@ -48,7 +54,7 @@ ${content_type}= application/json
Check Response Headers Link Not Empty ${response.headers}
[Teardown] Delete Subscription ${id}
-044_02_03_endpoint /csourceRegistrations/
+045_01_03 Endpoint /csourceRegistrations/
[Documentation] Verify that on a GET HTTP request if nothing is specified on the Accept header, "application/json" is assumed (/csourceRegistrations/)
[Tags] csr-query 6_3_4
${registration_id}= Generate Random Entity Id ${registration_id_prefix}
@@ -66,7 +72,7 @@ ${content_type}= application/json
Check Response Headers Link Not Empty ${response.headers}
[Teardown] Delete Context Source Registration ${registration_id}
-044_02_04_endpoint /temporal/entities
+045_01_04 Endpoint /temporal/entities
[Documentation] Verify that on a GET HTTP request if nothing is specified on the Accept header, "application/json" is assumed (/temporal/entities)
[Tags] te-query 6_3_4
${temporal_entity_representation_id}= Generate Random Entity Id ${tea_id_prefix}
diff --git a/TP/NGSI-LD/CommonBehaviours/043.robot b/TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyLdContextNotAvailable/043_01.robot
similarity index 76%
rename from TP/NGSI-LD/CommonBehaviours/043.robot
rename to TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyLdContextNotAvailable/043_01.robot
index 9e079072fc5287858bfe43d3e6956903f48b47f3..d7f08e66a05e5f16f1d79fc7b016c3cd2cbf15d9 100644
--- a/TP/NGSI-LD/CommonBehaviours/043.robot
+++ b/TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyLdContextNotAvailable/043_01.robot
@@ -1,7 +1,10 @@
*** Settings ***
-Documentation Verify throwing 503 – LdContextNotAvailable error if remote JSON-LD @context cannot be retrieved
+Documentation Verify receiving 503 – LdContextNotAvailable error if remote JSON-LD @context cannot be retrieved
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -19,8 +22,8 @@ ${registration_filename}= csourceRegistrations/context-source-registration
*** Test Cases ***
-043_01 Create entity
- [Documentation] Verify throwing 503 – LdContextNotAvailable error if remote JSON-LD @context cannot be retrieved (Create entity)
+043_01_01 Create entity
+ [Documentation] Verify receiving 503 – LdContextNotAvailable error if remote JSON-LD @context cannot be retrieved (Create entity)
[Tags] e-create 5_2_2
${entity_id}= Generate Random Entity Id ${building_id_prefix}
${response}= Create Entity Selecting Content Type
@@ -34,8 +37,8 @@ ${registration_filename}= csourceRegistrations/context-source-registration
Check Response Body Containing ProblemDetails Element Containing Title Element ${response.json()}
[Teardown] Delete Entity by Id ${entity_id}
-043_02 Create subscription
- [Documentation] Verify throwing 503 – LdContextNotAvailable error if remote JSON-LD @context cannot be retrieved (Create subscription)
+043_01_02 Create subscription
+ [Documentation] Verify receiving 503 – LdContextNotAvailable error if remote JSON-LD @context cannot be retrieved (Create subscription)
[Tags] sub-create 5_2_2
${subscription_id}= Generate Random Entity Id ${subscription_id_prefix}
${response}= Create Subscription ${subscription_id} ${subscription_filename} ${CONTENT_TYPE_LD_JSON}
@@ -46,8 +49,8 @@ ${registration_filename}= csourceRegistrations/context-source-registration
Check Response Body Containing ProblemDetails Element Containing Title Element ${response.json()}
[Teardown] Delete Subscription ${subscription_id}
-043_03 Create Temporal Representation of Entities
- [Documentation] Verify throwing 503 – LdContextNotAvailable error if remote JSON-LD @context cannot be retrieved (Create Temporal Representation of Entities)
+043_01_03 Create Temporal Representation of Entities
+ [Documentation] Verify receiving 503 – LdContextNotAvailable error if remote JSON-LD @context cannot be retrieved (Create Temporal Representation of Entities)
[Tags] te-create 5_2_2
${temporal_entity_representation_id}= Generate Random Entity Id ${tea_id_prefix}
${response}= Create Or Update Temporal Representation Of Entity Selecting Content Type
@@ -61,8 +64,8 @@ ${registration_filename}= csourceRegistrations/context-source-registration
Check Response Body Containing ProblemDetails Element Containing Title Element ${response.json()}
[Teardown] Delete Temporal Representation Of Entity ${temporal_entity_representation_id}
-043_04 Batch entity create
- [Documentation] Verify throwing 503 – LdContextNotAvailable error if remote JSON-LD @context cannot be retrieved (Batch entity create)
+043_01_04 Batch entity create
+ [Documentation] Verify receiving 503 – LdContextNotAvailable error if remote JSON-LD @context cannot be retrieved (Batch entity create)
[Tags] be-create 5_2_2
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
${second_entity_id}= Generate Random Entity Id ${building_id_prefix}
@@ -78,8 +81,8 @@ ${registration_filename}= csourceRegistrations/context-source-registration
Check Response Body Containing ProblemDetails Element Containing Title Element ${response.json()}
[Teardown] Batch Delete Entities @{entities_ids_to_be_created}
-043_05 Create context source registration
- [Documentation] Verify throwing 503 – LdContextNotAvailable error if remote JSON-LD @context cannot be retrieved (Create context source registration)
+043_01_05 Create context source registration
+ [Documentation] Verify receiving 503 – LdContextNotAvailable error if remote JSON-LD @context cannot be retrieved (Create context source registration)
[Tags] csr-create 5_2_2
${registration_id}= Generate Random Entity Id ${registration_id_prefix}
${payload}= Load JSON From File ${EXECDIR}/data/${registration_filename}
diff --git a/TP/NGSI-LD/CommonBehaviours/044_01.robot b/TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyMergePatchJson/044_01.robot
similarity index 88%
rename from TP/NGSI-LD/CommonBehaviours/044_01.robot
rename to TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyMergePatchJson/044_01.robot
index 279678cdeb25c09375234f5f2a28bc6e5fa5f6af..55b28b1b612c6ca13089e5613c2aef136d8828a7 100644
--- a/TP/NGSI-LD/CommonBehaviours/044_01.robot
+++ b/TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyMergePatchJson/044_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Verify that PATCH HTTP requests can be done with "application/merge-patch+json" as Content-Type
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${subscription_fragment}= subscriptions/fragments/subscription-update-samp
*** Test Cases ***
-044_01_01_endpoint /entities/{entityId}/attrs/{attrId}
+044_01_01 Endpoint /entities/{entityId}/attrs/{attrId}
[Documentation] Verify that PATCH HTTP requests can be done with "application/merge-patch+json" as Content-Type
[Tags] ea-partial-update 6_3_4
${entity_id}= Generate Random Entity Id ${vehicle_id_prefix}
@@ -35,7 +36,7 @@ ${subscription_fragment}= subscriptions/fragments/subscription-update-samp
Check Response Status Code 204 ${response.status_code}
[Teardown] Delete Entity by Id ${entity_id}
-044_01_02_endpoint /subscriptions/{subscriptionId}
+044_01_02 Endpoint /subscriptions/{subscriptionId}
[Documentation] Verify that PATCH HTTP requests can be done with "application/merge-patch+json" as Content-Type
[Tags] sub-update 6_3_4
${subscription_id}= Generate Random Entity Id ${subscription_id_prefix}
diff --git a/TP/NGSI-LD/CommonBehaviours/044_04.robot b/TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyNotAcceptableMediaType/049_01.robot
similarity index 79%
rename from TP/NGSI-LD/CommonBehaviours/044_04.robot
rename to TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyNotAcceptableMediaType/049_01.robot
index 33028c39b50fdb3da88919e34357fe7d09e9bd98..688e8e7802aaa25b9f6d0fcb664f9da38cdff0c7 100644
--- a/TP/NGSI-LD/CommonBehaviours/044_04.robot
+++ b/TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyNotAcceptableMediaType/049_01.robot
@@ -1,7 +1,12 @@
*** Settings ***
Documentation Verify throwing 406 HTTP status code (Not Acceptable Media Type) if the "Accept" header does not imply "application/json" nor "application/ld+json"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +21,7 @@ ${subscription_filename}= csourceSubscriptions/subscription-sample.jsonld
*** Test Cases ***
-044_04_01_endpoint get /entities/{entityId}
+049_01_01 Endpoint get /entities/{entityId}
[Documentation] Verify throwing 406 HTTP status code (Not Acceptable Media Type) if the "Accept" header does not imply "application/json" nor "application/ld+json" (get /entities/{entityId})
[Tags] e-query 6_3_4
${entity_id}= Generate Random Entity Id ${building_id_prefix}
@@ -29,7 +34,7 @@ ${subscription_filename}= csourceSubscriptions/subscription-sample.jsonld
Check Response Status Code ${status_code} ${response.status_code}
[Teardown] Delete Entity by Id Returning Response ${entity_id}
-044_04_02_endpoint get /subscriptions/{subscriptionId}
+049_01_02 Endpoint get /subscriptions/{subscriptionId}
[Documentation] Verify throwing 406 HTTP status code (Not Acceptable Media Type) if the "Accept" header does not imply "application/json" nor "application/ld+json" (get /subscriptions/{subscriptionId})
[Tags] sub-retrieve 6_3_4
${id}= Generate Random Entity Id ${subscription_id_prefix}
@@ -39,19 +44,19 @@ ${subscription_filename}= csourceSubscriptions/subscription-sample.jsonld
Check Response Status Code ${status_code} ${response.status_code}
[Teardown] Delete Subscription ${id}
-044_04_03_endpoint get /csourceRegistrations/
+049_01_03 Endpoint get /csourceRegistrations/
[Documentation] Verify throwing 406 HTTP status code (Not Acceptable Media Type) if the "Accept" header does not imply "application/json" nor "application/ld+json" (get /csourceRegistrations/)
[Tags] csr-query 6_3_4
${response}= Query Context Source Registrations With Return type=Building accept=${accept}
Check Response Status Code ${status_code} ${response.status_code}
-044_04_04_endpoint get /csourceSubscriptions/
+049_01_04 Endpoint get /csourceSubscriptions/
[Documentation] Verify throwing 406 HTTP status code (Not Acceptable Media Type) if the "Accept" header does not imply "application/json" nor "application/ld+json" (get /csourceSubscriptions/)
[Tags] csrsub-query 6_3_4
- Query Context Source Registration Subscriptions accept=${accept}
+ ${response}= Query Context Source Registration Subscriptions accept=${accept}
Check Response Status Code ${status_code} ${response.status_code}
-044_04_05_endpoint get /temporal/entities
+049_01_05 Endpoint get /temporal/entities
[Documentation] Verify throwing 406 HTTP status code (Not Acceptable Media Type) if the "Accept" header does not imply "application/json" nor "application/ld+json" (get /temporal/entities)
[Tags] te-query 6_3_4
${entity_types_to_be_retrieved}= Catenate SEPARATOR=, Vehicle
diff --git a/TP/NGSI-LD/CommonBehaviours/044_05.robot b/TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyNotAcceptableMediaType/049_02.robot
similarity index 85%
rename from TP/NGSI-LD/CommonBehaviours/044_05.robot
rename to TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyNotAcceptableMediaType/049_02.robot
index c7bd6dcc410e4e42999d18028ab6549caedd0267..5ebb5507e8b400d11cce1722fb2fb9aa8b681b1c 100644
--- a/TP/NGSI-LD/CommonBehaviours/044_05.robot
+++ b/TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyNotAcceptableMediaType/049_02.robot
@@ -1,7 +1,9 @@
*** Settings ***
Documentation Verify throwing 406 HTTP status code (Not Acceptable Media Type) if the "Accept" header is "application/geo+json" for operations different than "Retrieve Entity" and "Query Entity"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,7 +16,7 @@ ${subscription_filename}= csourceSubscriptions/subscription-sample.jsonld
*** Test Cases ***
-044_05_01 Retrieve subscription by id
+049_02_01 Retrieve subscription by id
[Documentation] Verify throwing 406 HTTP status code (Not Acceptable Media Type) if the "Accept" header does not imply "application/json" nor "application/ld+json" (get /subscriptions/{subscriptionId})
[Tags] sub-retrieve 6_3_4
${id}= Generate Random Entity Id ${subscription_id_prefix}
@@ -24,7 +26,7 @@ ${subscription_filename}= csourceSubscriptions/subscription-sample.jsonld
Check Response Status Code ${status_code} ${response.status_code}
[Teardown] Delete Subscription ${id}
-044_05_02 Query temporal entities
+049_02_02 Query temporal entities
[Documentation] Verify throwing 406 HTTP status code (Not Acceptable Media Type) if the "Accept" header does not imply "application/json" nor "application/ld+json" (get /temporal/entities)
[Tags] te-query 6_3_4
${entity_types_to_be_retrieved}= Catenate SEPARATOR=, Vehicle
@@ -35,7 +37,7 @@ ${subscription_filename}= csourceSubscriptions/subscription-sample.jsonld
... accept=${accept}
Check Response Status Code ${status_code} ${response.status_code}
-044_05_03 Query context source registration
+049_02_03 Query context source registration
[Documentation] Verify throwing 406 HTTP status code (Not Acceptable Media Type) if the "Accept" header does not imply "application/json" nor "application/ld+json" (get /csourceRegistrations)
[Tags] csr-query 6_3_4
${response}= Query Context Source Registrations With Return type=Building accept=${accept}
diff --git a/TP/NGSI-LD/CommonBehaviours/044_03.robot b/TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyUnsupportedMediaType/048_01.robot
similarity index 90%
rename from TP/NGSI-LD/CommonBehaviours/044_03.robot
rename to TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyUnsupportedMediaType/048_01.robot
index 306335d6cf974d64f66c0131b9cdfdef3d282046..8a0eb988626a3b7752626c2ff2f6cc7ec64c3a91 100644
--- a/TP/NGSI-LD/CommonBehaviours/044_03.robot
+++ b/TP/NGSI-LD/CommonBehaviours/CommonResponses/VerifyUnsupportedMediaType/048_01.robot
@@ -1,7 +1,9 @@
*** Settings ***
Documentation Verify throwing 415 HTTP status code (Unsupported Media Type) if "Content-Type" header is not "application/json" or "application/ld+json"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -22,7 +24,7 @@ ${content_type}= application/xml
*** Test Cases ***
-044_03_01_endpoint patch /entities/{entityId}/attrs/{attrId}
+048_01_01 Endpoint patch /entities/{entityId}/attrs/{attrId}
[Documentation] Verify throwing 415 HTTP status code (Unsupported Media Type) if "Content-Type" header is not "application/json" or "application/ld+json" (patch /entities/{entityId}/attrs/{attrId})
[Tags] ea-partial-update 6_3_4
${entity_id}= Generate Random Entity Id ${vehicle_id_prefix}
@@ -39,7 +41,7 @@ ${content_type}= application/xml
Check Response Status Code 415 ${response.status_code}
[Teardown] Delete Entity by Id Returning Response ${entity_id}
-044_03_02_endpoint patch /subscriptions/{subscriptionId}
+048_01_02 Endpoint patch /subscriptions/{subscriptionId}
[Documentation] Verify throwing 415 HTTP status code (Unsupported Media Type) if "Content-Type" header is not "application/json" or "application/ld+json" (patch /subscriptions/{subscriptionId})
[Tags] sub-update 6_3_4
${id}= Generate Random Entity Id ${subscription_id_prefix}
@@ -49,7 +51,7 @@ ${content_type}= application/xml
Check Response Status Code 415 ${response.status_code}
[Teardown] Delete Subscription ${id}
-044_03_03_endpoint post /entities/
+048_01_03 Endpoint post /entities/
[Documentation] Verify throwing 415 HTTP status code (Unsupported Media Type) if "Content-Type" header is not "application/json" or "application/ld+json" (post /entities/)
[Tags] e-create 6_3_4
${entity_id}= Generate Random Entity Id ${building_id_prefix}
@@ -60,7 +62,7 @@ ${content_type}= application/xml
Check Response Status Code 415 ${response.status_code}
[Teardown] Delete Entity by Id ${entity_id}
-044_03_04_endpoint post /subscriptions/
+048_01_04 Endpoint post /subscriptions/
[Documentation] Verify throwing 415 HTTP status code (Unsupported Media Type) if "Content-Type" header is not "application/json" or "application/ld+json" (post /subscriptions/)
[Tags] sub-create 6_3_4
${subscriptions_id}= Generate Random Entity Id ${subscription_id_prefix}
@@ -68,7 +70,7 @@ ${content_type}= application/xml
Check Response Status Code 415 ${response.status_code}
[Teardown] Delete Subscription ${subscriptions_id}
-044_03_05_endpoint post /entityOperations/create
+048_01_05 Endpoint post /entityOperations/create
[Documentation] Verify throwing 415 HTTP status code (Unsupported Media Type) if "Content-Type" header is not "application/json" or "application/ld+json" (post /entityOperations/create)
[Tags] be-create 6_3_4
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
@@ -81,7 +83,7 @@ ${content_type}= application/xml
Check Response Status Code 415 ${response.status_code}
[Teardown] Batch Delete Entities @{expected_entities_ids}
-044_03_06_endpoint post /temporal/entities/
+048_01_06 Endpoint post /temporal/entities/
[Documentation] Verify throwing 415 HTTP status code (Unsupported Media Type) if "Content-Type" header is not "application/json" or "application/ld+json" (post /temporal/entities/)
[Tags] te-create 6_3_4
${temporal_entity_representation_id}= Generate Random Entity Id ${tea_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributeInformation/027_01_01.robot b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributeInformation/027_01.robot
similarity index 84%
rename from TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributeInformation/027_01_01.robot
rename to TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributeInformation/027_01.robot
index fbb7439d95135c17dd87bba488103e450a80ed1b..c54a34ab04735a2ba73c80bd658d6af3a2f99c7a 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributeInformation/027_01_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributeInformation/027_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot retrieve a detailed representation of an unknown NGSI-LD attribute
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,7 +16,7 @@ ${filename}= building-simple-attributes-sample.json
*** Test Cases ***
-Retrieve Detailed Representation Of Available Attribute Without Context
+027_01_01 Retrieve Detailed Representation Of Available Attribute Without Context
[Documentation] Check that you cannot retrieve a detailed representation of an unknown NGSI-LD attribute
[Tags] ed-attr 5_7_10
${response}= Retrieve Attribute attribute_name=airQualityLevel
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributeInformation/027_01_02.robot b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributeInformation/027_02.robot
similarity index 85%
rename from TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributeInformation/027_01_02.robot
rename to TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributeInformation/027_02.robot
index 0853f18186a237bfc77d564188e0ae9b29c3dafd..cf5a06b781e145f0090cc977749d0639d1b609fb 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributeInformation/027_01_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributeInformation/027_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can retrieve a list with a detailed representation of NGSI-LD attributes
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${expectation_file}= types/expectations/attribute-027-01-expectation.json
*** Test Cases ***
-Retrieve Detailed Representation Of Available Attribute
+027_02_01 Retrieve Detailed Representation Of Available Attribute
[Documentation] Check that you can retrieve a list with a detailed representation of NGSI-LD attributes
[Tags] ed-attr 5_7_10
${response}= Retrieve Attribute attribute_name=airQualityLevel context=${ngsild_test_suite_context}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributes/025_01.robot b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributes/025_01.robot
index 28be18f167376f9c6c5ca5be68c9173348fc2c0a..78af98e634af4728d97c3df980636960de4e13f7 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributes/025_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableAttributes/025_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can retrieve a list of NGSI-LD attributes
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,10 +17,10 @@ ${filename}= building-simple-attributes-sample.json
*** Test Cases *** CONTEXT EXPECTATION_FILE
-WithoutJsonLdContext
+025_01_01 WithoutJsonLdContext
[Tags] ed-attrs 5_7_8
${EMPTY} types/expectations/attribute-list-025-01-01-expectation.json
-WithJsonLdContext [Tags] ed-attrs 5_7_8
+025_01_02 WithJsonLdContext [Tags] ed-attrs 5_7_8
${ngsild_test_suite_context} types/expectations/attribute-list-025-01-02-expectation.json
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypeInformation/024_01_01.robot b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypeInformation/024_01.robot
similarity index 87%
rename from TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypeInformation/024_01_01.robot
rename to TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypeInformation/024_01.robot
index e782a8c9755fc18523e1a25555582b7a45121f57..c5e68d94f874d261a0dac746f7827aa1142057b7 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypeInformation/024_01_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypeInformation/024_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot retrieve a detailed representation of an unknown NGSI-LD entity type
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,7 +16,7 @@ ${filename}= building-simple-attributes-sample.json
*** Test Cases ***
-Retrieve Detailed Representation Of Available Entity Type Without Context
+024_01_01 Retrieve Detailed Representation Of Available Entity Type Without Context
[Documentation] Check that you cannot retrieve a detailed representation of an unknown NGSI-LD entity type
[Tags] ed-type 5_7_7
${response}= Retrieve Entity Type type=Building
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypeInformation/024_01_02.robot b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypeInformation/024_02.robot
similarity index 87%
rename from TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypeInformation/024_01_02.robot
rename to TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypeInformation/024_02.robot
index fbc36deb3d4843fde9a6ea6a4ed7bc7b7929b78a..5af0f11602de52ad5612b275ad94ce67c84c81b1 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypeInformation/024_01_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypeInformation/024_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can retrieve a detailed representation of a specified NGSI-LD entity type
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${expectation_file}= types/expectations/entity-type-info-024-01-expectati
*** Test Cases ***
-Retrieve Detailed Representation Of Available Entity Type
+024_02_01 Retrieve Detailed Representation Of Available Entity Type
[Documentation] Check that you can retrieve a detailed representation of a specified NGSI-LD entity type
[Tags] ed-type 5_7_7
${response}= Retrieve Entity Type type=Building context=${ngsild_test_suite_context}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypes/022_01.robot b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypes/022_01.robot
index 1dfeced9a0622ee2f8b9ced96468ce3b6e1632a2..0210c83e76e3e2ffdf7361cc2ee10aa29ff8e685 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypes/022_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveAvailableEntityTypes/022_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can retrieve a list of NGSI-LD entity types
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,10 +19,10 @@ ${second_filename}= vehicle-simple-attributes-sample.json
*** Test Cases *** CONTEXT EXPECTATION_FILE
-WithoutJsonLdContext
+022_01_01 WithoutJsonLdContext
[Tags] ed-types 5_7_5
${EMPTY} types/expectations/entity-type-list-022-01-01-expectation.json
-WithJsonLdContext [Tags] ed-types 5_7_5
+022_01_02 WithJsonLdContext [Tags] ed-types 5_7_5
${ngsild_test_suite_context} types/expectations/entity-type-list-022-01-02-expectation.json
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveDetailsOfAvailableAttributes/026_01.robot b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveDetailsOfAvailableAttributes/026_01.robot
index 409aeb3925bc587337d70ee7ba0162e130d0ac53..645b32b1f0dad2f8bb489dbcc1c1c0657fd9ffee 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveDetailsOfAvailableAttributes/026_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveDetailsOfAvailableAttributes/026_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can retrieve a list with a detailed representation of NGSI-LD attributes
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,10 +17,10 @@ ${filename}= building-simple-attributes-sample.json
*** Test Cases *** CONTEXT EXPECTATION_FILE
-WithoutJsonLdContext
+026_01_01 WithoutJsonLdContext
[Tags] ed-attrs-details 5_7_9
${EMPTY} types/expectations/attribute-026-01-01-expectation.json
-WithJsonLdContext [Tags] ed-attrs-details 5_7_9
+026_01_02 WithJsonLdContext [Tags] ed-attrs-details 5_7_9
${ngsild_test_suite_context} types/expectations/attribute-026-01-02-expectation.json
@@ -27,7 +28,7 @@ WithJsonLdContext [Tags] ed-attrs-details 5_7_9
Retrieve Details Of Available Attributes
[Documentation] Check that you can retrieve a list with a detailed representation of NGSI-LD attributes
[Arguments] ${context} ${expectation_file}
- ${response}= Retrieve Attributes context=${context} details=${TRUE}
+ ${response}= Retrieve Attributes context=${context} details=true
Check Response Status Code 200 ${response.status_code}
Check Response Body Containing Attribute element ${expectation_file} ${response.json()}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveDetailsOfAvailableEntityTypes/023_01.robot b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveDetailsOfAvailableEntityTypes/023_01.robot
index e75e1f36bb5fb02150d41efd8d6c405610fe82e5..21e578f124f7dfcc9b2b13ed03d694bc830454cd 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveDetailsOfAvailableEntityTypes/023_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Discovery/RetrieveDetailsOfAvailableEntityTypes/023_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can retrieve a list with a detailed representation of NGSI-LD entity types
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,10 +19,10 @@ ${second_filename}= vehicle-simple-attributes-sample.json
*** Test Cases *** CONTEXT EXPECTATION_FILE
-WithoutJsonLdContext
+023_01_01 WithoutJsonLdContext
[Tags] ed-types-details 5_7_6
${EMPTY} types/expectations/entity-type-023-01-01-expectation.json
-WithJsonLdContext [Tags] ed-types-details 5_7_6
+023_01_02 WithJsonLdContext [Tags] ed-types-details 5_7_6
${ngsild_test_suite_context} types/expectations/entity-type-023-01-02-expectation.json
@@ -29,7 +30,7 @@ WithJsonLdContext [Tags] ed-types-details 5_7_6
Retrieve Details Of Available Entity Types
[Documentation] Check that you can retrieve a list with a detailed representation of NGSI-LD entity types
[Arguments] ${context} ${expectation_file}
- ${response}= Retrieve Entity Types context=${context} details=${TRUE}
+ ${response}= Retrieve Entity Types context=${context} details=true
Check Response Status Code 200 ${response.status_code}
Check Response Body Containing EntityType element ${expectation_file} ${response.json()}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_01.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_01.robot
index ed65fa40328159a66f557e89f1f9d2860f7a2740..1d4318b56ecac492efaa9f994a757fdeb135f850 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query several entities based on ids
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${entity_type}= https://ngsi-ld-test-suite/context#Building
*** Test Cases ***
-Query several entities based on ids
+019_01_01 Query several entities based on ids
[Documentation] Check that you can query several entities based on ids
[Tags] e-query 5_7_2
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_02.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_02.robot
index 77753201b7baa829ac87327f4221d9bfb3ba5eab..fc35953289e945155c34f40ee52d699afb443243 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query several entities based on the entities types
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -22,7 +23,7 @@ ${parking_entity_type}= https://ngsi-ld-test-suite/context#OffStreetParking
*** Test Cases ***
-Query several entities based on the entities types
+019_01_02 Query several entities based on the entities types
[Documentation] Check that you can query several entities based on the entities types
[Tags] e-query 5_7_2
${building_entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_03.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_03.robot
index 72a618ae1b909a26691f87db4d5d1cedb2fd7f48..fcdcc2c8c4f11cc5537cb8d6d8b25108d391fbcf 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_03.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query several entities based on the given id pattern
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${entity_id_pattern}= urn:ngsi-ld:Building:.*
*** Test Cases ***
-Query several entities based on the given id pattern
+019_01_03 Query several entities based on the given id pattern
[Documentation] Check that you can query several entities based on the given id pattern
[Tags] e-query 5_7_2
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_04.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_04.robot
index 272a1ee7b2ab816e183db32ae160882684961343..7d2987a864d9abbd5eda12f8d93f4513fc963d86 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_04.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_04.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query several entities based on attribute names
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -19,7 +20,7 @@ ${attribute_subcategory}= https://ngsi-ld-test-suite/context#subCatego
*** Test Cases ***
-Query several entities based on attribute names
+019_01_04 Query several entities based on attribute names
[Documentation] Check that you can query several entities based on attribute names
[Tags] e-query 5_7_2
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_05.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_05.robot
index bb97da43438c4fda251b926bd595fd9b0e5adac6..c1bbe2382cc0c5e39763b76725a8f98a56227316 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_05.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_01_05.robot
@@ -1,7 +1,8 @@
*** Settings ***
-Documentation Check that you can query entitites based on a list of properties
+Documentation Check that you can query entitites based on a geoquery
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -13,12 +14,14 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
${filename}= building-location-attribute-sample.jsonld
${expectation_filename}= building-geoproperty-query-expectation.jsonld
${entity_type}= https://ngsi-ld-test-suite/context#Building
-${geometry_property}= location
+${georal}= equals
+${geometry}= Point
+${coordinates}= [13.3986, 52.5547]
*** Test Cases ***
-Query several entities based on a list of properties
- [Documentation] Check that you can query entitites based on a list of properties
+019_01_05 Query several entities based on a geoquery
+ [Documentation] Check that you can query entitites based on a geoquery
[Tags] e-query 5_7_2
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
Set Suite Variable ${first_entity_id}
@@ -39,8 +42,10 @@ Query several entities based on a list of properties
${entity_types_to_be_retrieved}= Catenate SEPARATOR=, ${entity_type}
${response}= Query Entities
... entity_types=${entity_types_to_be_retrieved}
- ... geoproperty=${geometry_property}
... accept=${CONTENT_TYPE_LD_JSON}
+ ... georel=${georal}
+ ... geometry=${geometry}
+ ... coordinates=${coordinates}
Check Response Status Code 200 ${response.status_code}
Check Response Body Containing List Containing Entity elements
... ${expectation_filename}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_01.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_01.robot
index cc7199b4be86d5f8d4792590af53c6491657ec0e..3d0d9fa0fb4a0b4689342aa8dfeabc35170ecb36 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query several entities via POST Interaction based on ids
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${entity_type}= https://ngsi-ld-test-suite/context#Building
*** Test Cases ***
-Query several entities via POST Interaction based on ids
+019_02_01 Query several entities via POST Interaction based on ids
[Documentation] Check that you can query several entities via POST Interaction based on ids
[Tags] e-query 5_7_2
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
@@ -26,11 +27,6 @@ Query several entities via POST Interaction based on ids
... ${first_entity_id}
... ${CONTENT_TYPE_LD_JSON}
Check Response Status Code 201 ${response.status_code}
- ${response}= Create Entity Selecting Content Type
- ... ${filename}
- ... ${first_entity_id}
- ... ${CONTENT_TYPE_LD_JSON}
- Check Response Status Code 201 ${response.status_code}
${second_entity_id}= Generate Random Entity Id ${building_id_prefix}
Set Suite Variable ${second_entity_id}
${response}= Create Entity Selecting Content Type
@@ -48,7 +44,7 @@ Query several entities via POST Interaction based on ids
@{entities_ids_to_be_compared}= Create List ${first_entity_id} ${second_entity_id}
${entities_ids_to_be_retrieved}= Catenate SEPARATOR=, ${first_entity_id} ${second_entity_id}
${entity_types_to_be_retrieved}= Catenate SEPARATOR=, ${entity_type}
- ${response}= Query Entities
+ ${response}= Query Entities Via POST
... entity_ids=${entities_ids_to_be_retrieved}
... entity_types=${entity_types_to_be_retrieved}
Check Response Status Code 200 ${response.status_code}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_02.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_02.robot
index 8c512bbcb7a2e2ab3b6cd4d632278b95c58e97c2..168f397cad2db6bd9d25a17e0acc7907b4b632a5 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query several entities via POST Interaction based on the entities types
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -22,7 +23,7 @@ ${parking_entity_type}= https://ngsi-ld-test-suite/context#OffStreetParking
*** Test Cases ***
-Query several entities via POST Interaction based on the entities types
+019_02_02 Query several entities via POST Interaction based on the entities types
[Documentation] Check that you can query several entities via POST Interaction based on the entities types
[Tags] e-query 5_7_2
${building_entity_id}= Generate Random Entity Id ${building_id_prefix}
@@ -48,7 +49,7 @@ Query several entities via POST Interaction based on the entities types
Check Response Status Code 201 ${response.status_code}
@{entity_types_to_be_compared}= Create List ${vehicle_entity_type} ${parking_entity_type}
${entity_types_to_be_retrieved}= Catenate SEPARATOR=, ${vehicle_entity_type} ${parking_entity_type}
- ${response}= Query Entities entity_types=${entity_types_to_be_retrieved}
+ ${response}= Query Entities Via POST entity_types=${entity_types_to_be_retrieved}
Check Response Status Code 200 ${response.status_code}
Check Response Body Containing List Containing Entity elements
... ${expectation_filename}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_03.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_03.robot
index a1721f0f5be6910c054a8d4349c838c24d5f70e9..3ac2651056c757a000ee83f4cc3f39143879cc2b 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_03.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query several entities via POST Interaction based on the given id pattern
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${entity_id_pattern}= urn:ngsi-ld:Building:.*
*** Test Cases ***
-Query several entities via POST Interaction based on the given id pattern
+019_02_03 Query several entities via POST Interaction based on the given id pattern
[Documentation] Check that you can query several entities via POST Interaction based on the given id pattern
[Tags] e-query 5_7_2
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
@@ -36,7 +37,7 @@ Query several entities via POST Interaction based on the given id pattern
Check Response Status Code 201 ${response.status_code}
@{entities_ids_to_be_compared}= Create List ${first_entity_id} ${second_entity_id}
${entity_types_to_be_retrieved}= Catenate SEPARATOR=, ${entity_type}
- ${response}= Query Entities
+ ${response}= Query Entities Via POST
... entity_id_pattern=${entity_id_pattern}
... entity_types=${entity_types_to_be_retrieved}
Check Response Status Code 200 ${response.status_code}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_04.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_04.robot
index 24f80776cbf51440faca51f92712fe6663fb19d0..58a65d1ed9f7414146fb55785fab5b5efc226d1c 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_04.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_04.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query several entities via POST Interaction based on attribute names
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${attribute_subcategory}= https://ngsi-ld-test-suite/context#subCatego
*** Test Cases ***
-Query several entities via POST Interaction based on attribute names
+019_02_04 Query several entities via POST Interaction based on attribute names
[Documentation] Check that you can query several entities via POST Interaction based on attribute names
[Tags] e-query 5_7_2
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
@@ -39,7 +40,7 @@ Query several entities via POST Interaction based on attribute names
... ${attribute_airqualitylevel}
... ${attribute_subcategory}
@{entities_ids_to_be_retrieved}= Create List ${first_entity_id} ${second_entity_id}
- ${response}= Query Entities attrs=${attributes_to_be_retrieved}
+ ${response}= Query Entities Via POST attrs=${attributes_to_be_retrieved}
Check Response Status Code 200 ${response.status_code}
Check Response Body Containing List Containing Entity elements
... ${expectation_filename}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_05.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_05.robot
index 341131dfae4052aca8ca892273ae5141ec207c76..accbccb26bdf3d75c6be905f3558752d0feabc80 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_05.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_02_05.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query entitites via POST Interaction based on a list of properties
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${geometry_property}= location
*** Test Cases ***
-Query several entities via POST Interaction based on a list of properties
+019_02_05 Query several entities via POST Interaction based on a list of properties
[Documentation] Check that you can query entitites via POST Interaction based on a list of properties
[Tags] e-query 5_7_2
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
@@ -36,7 +37,7 @@ Query several entities via POST Interaction based on a list of properties
Check Response Status Code 201 ${response.status_code}
@{entities_ids_to_be_compared}= Create List ${first_entity_id} ${second_entity_id}
@{entity_types_to_be_retrieved}= Create List ${entity_type}
- ${response}= Query Entities
+ ${response}= Query Entities Via POST
... entity_types=${entity_types_to_be_retrieved}
... geoproperty=${geometry_property}
Check Response Status Code 200 ${response.status_code}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_01.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_01.robot
index 1dfa4dc1040a1d054e2e31a7677432fe07c45ee2..521efbd6c1da319a5ce534f9e9cf6e76af3cc16c 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot query entities if the requested ids are incorrect
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${entity_invalid_id_two}= thisisaninvaliduri2
*** Test Cases ***
-Query entities based on incorrect ids
+019_03_01 Query entities based on incorrect ids
[Documentation] Check that you cannot query entities if the requested ids are incorrect
[Tags] e-query 5_7_2
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_02.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_02.robot
index dec550f8ae7ebadb24cadabfdfe825d88c905d1b..d71679c9f9d956c5b07b3162ca2830fedfa61c14 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot query entities if the requested entity types are incorrect
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,7 +19,7 @@ ${invalid_entity_type_two}= invalid_entity_type_two
*** Test Cases ***
-Query entities based on incorrect entity types
+019_03_02 Query entities based on incorrect entity types
[Documentation] Check that you cannot query entities if the requested entity types are incorrect
[Tags] e-query 5_7_2
${building_entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_03.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_03.robot
index f676b05f219a528683607a246b14b69dab4b7ea5..c4f16c803cb65d39c596471b0d0e7043069b962b 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_03.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot query entities if the requested id pattern is incorrect
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${invalid_entity_id_pattern}= invalid_entity_id_pattern**
*** Test Cases ***
-Query several entities based on incorrect id pattern
+019_03_03 Query several entities based on incorrect id pattern
[Documentation] Check that you cannot query entities if the requested id pattern is incorrect
[Tags] e-query 5_7_2
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_04.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_04.robot
index 56c089cb686c3bcc1d50f118f8aab72ce9a9b815..8fb988e4c9f42ebdac4a0ca5c27fff39df09600c 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_04.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_04.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot query entities if the requested attribute names are incorrect
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${invalid_attribute_two}= type
*** Test Cases ***
-Query several entities based on incorrect attribute names
+019_03_04 Query several entities based on incorrect attribute names
[Documentation] Check that you cannot query entities if the requested attribute names are incorrect
[Tags] e-query 5_7_2
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_05.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_05.robot
index 4c037f03398b4493f3cb6393de226f68449f0c90..b2454eeb2e9aae05645b22b840d875787ad49e0c 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_05.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_03_05.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot query entitites if the request has a wrong geometryProperty
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -19,7 +20,7 @@ ${geoproperty}= location
*** Test Cases ***
-Query entitites when the request has a wrong geometryProperty
+019_03_05 Query entitites when the request has a wrong geometryProperty
[Documentation] Check that you cannot query entitites if the request has a wrong geometryProperty
[Tags] e-query 5_7_2
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_04.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_04.robot
index 84fc6886ac194cbd46483a87cae4c26d16c34301..695bf2638e7ef4c9a0b3667641a984f0b65f4a6c 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_04.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_04.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that the queried entities by Id can be returned in a simplified representation
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${entity_type}= https://ngsi-ld-test-suite/context#Building
*** Test Cases ***
-Query entities in a simplified representation
+019_04_01 Query entities in a simplified representation
[Documentation] Check that the queried entities by Id can be returned in a simplified representation
[Tags] e-query 6_3_7
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_05.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_05.robot
index 9b34595bc4d03b25897b3c14faff86a995831fd1..e4b15bb5794db60ff6a396cc26a838e683214a0a 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_05.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_05.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that the queried entities by id can be returned in a geoJSON format
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${accept_header}= application/geo+json
*** Test Cases ***
-Get an entity by id that can be returned in a geoJSON format
+019_05_01 Get an entity by id that can be returned in a geoJSON format
[Documentation] Check that the queried entities by id can be returned in a geoJSON format
[Tags] e-query 6_3_7
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_06.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_06.robot
index 610ec02e5a41b5a98e88aa89c1d1e0c06aa09c80..f0a2128d5fa94e9ada5a7bf074516567020d8e65 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_06.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/QueryEntities/019_06.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query entities specifying a maximum number of results
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${limit}= 2
*** Test Cases ***
-Query entities specifying a maximum number of results
+019_06_01 Query entities specifying a maximum number of results
[Documentation] Check that you can query entities specifying a maximum number of results
[Tags] e-query 6_3_10
${first_entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_01_01.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_01_01.robot
index 8b9f85d6cd6c0fbcdff6d8689226cf3e846fc812..6b53f25ed816c7ef7453a02808e93abc797b2925 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_01_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_01_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can get an entity by id
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,7 +16,7 @@ ${expectation_filename}= building-simple-attributes-expectation.jsonld
*** Test Cases ***
-018_01_01_Get an entity by id
+018_01_01 Get an entity by id
[Documentation] Check that you can get an entity by id
[Tags] e-retrieve 5_7_1
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_01_02.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_01_02.robot
index 586b2a4a836466b4393ce5e85752bcf88d16e7f0..8475a7d91cb3807ec12a3fbb673ddb4c5ef9427a 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_01_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_01_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query some attributes from an entity
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${attribute_subcategory}= https://ngsi-ld-test-suite/context#subCatego
*** Test Cases ***
-018_01_02_Query some attributes from an entity
+018_01_02 Query some attributes from an entity
[Documentation] Check that you can query some attributes from an entity
[Tags] e-retrieve 5_7_1
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_01_03.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_01_03.robot
index 394c20e0f6ad6ee6242d018c279e0b930f11a28b..5476559a78425111b2e0f2f46d09598316c52589 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_01_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_01_03.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query the geometry property from an entity
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${geometry_property}= location
*** Test Cases ***
-018_01_03_Query the geometry property from an entity
+018_01_03 Query the geometry property from an entity
[Documentation] Check that you can query the geometry property from an entity
[Tags] e-retrieve 5_7_1
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_02.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_02.robot
index b8ab4a7ed6ff66339fe80e4043e1826b4cae6a5b..6d74d271bfb3a3d405f34189d7beb1a194ae17a5 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_02.robot
@@ -1,16 +1,16 @@
*** Settings ***
Documentation Check that you cannot get an entity with invalid/missing id
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Test Template Get Entity With Invalid/Missing Id
*** Test Cases *** ENTITY_ID EXPECTED_STATUS_CODE PROBLEM_TYPE
-018_02_01_Get an entity if the Entity Id is not present
+018_02_01 Get an entity if the Entity Id is not present
${EMPTY} 400 ${ERROR_TYPE_BAD_REQUEST_DATA}
-018_02_02_Get an entity if the Entity Id is not a valid URI
+018_02_02 Get an entity if the Entity Id is not a valid URI
thisisaninvaliduri 400 ${ERROR_TYPE_BAD_REQUEST_DATA}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_03_01.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_03_01.robot
index f73abb0f129b67c3cedee7a7fc9a54064d644978..8e52018da3e9a330a8a369fb2678e130f4d1467c 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_03_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_03_01.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot get an entity if the entity id is not known to the system
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -11,9 +11,9 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases ***
-Get an entity if the Entity Id is not known to the system
+018_03_01 Get an entity if the Entity Id is not known to the system
[Documentation] Check that you cannot get an entity if the entity id or attributes are not known to the system
- [Tags] e-retrieve 5_6_6
+ [Tags] e-retrieve 5_7_1
${entity_id}= Generate Random Entity Id ${building_id_prefix}
${response}= Query Entity ${entity_id} ${CONTENT_TYPE_LD_JSON}
Check Response Status Code 404 ${response.status_code}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_03_02.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_03_02.robot
index 4878648e65a0a9944909ad91a9524499fd69443b..0c6b697d395ddec1a73406ecc133fa018e0882de 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_03_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_03_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot get an entity if an attribute is not known to the system
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,9 +16,9 @@ ${attribute_not_known}= property_not_found
*** Test Cases ***
-Get an entity if an attribute is not known to the system
+018_03_02 Get an entity if an attribute is not known to the system
[Documentation] Check that you cannot get an entity if an attribute is not known to the system
- [Tags] e-retrieve 5_6_6
+ [Tags] e-retrieve 5_7_1
${entity_id}= Generate Random Entity Id ${building_id_prefix}
Set Suite Variable ${entity_id}
${response}= Create Entity Selecting Content Type
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_04.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_04.robot
index ba179ed4a3f1c7139d3b05cd55b50b0bdb3ba3e9..840bf6c125c5f838ac1a243d2a16a6716b0e0330 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_04.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_04.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that the queried entity by Id can be returned in a simplified representation
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${options_parameter}= keyValues
*** Test Cases ***
-Get an entity in a simplified representation
+018_04_01 Get an entity in a simplified representation
[Documentation] Check that the queried entity by Id can be returned in a simplified representation
[Tags] e-retrieve 6_3_7
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_05.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_05.robot
index 57caabf53875d7e8f117164136321f1aca0c14f5..dbb9d5df920d8655cec01d301f0f98356a5dc0e0 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_05.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_05.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that the queried entity by id can be returned in a geoJSON format
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${accept_header}= application/geo+json
*** Test Cases ***
-Get an entity by id that can be returned in a geoJSON format
+018_05_01 Get an entity by id that can be returned in a geoJSON format
[Documentation] Check that the queried entity by id can be returned in a geoJSON format
[Tags] e-retrieve 6_3_7
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_06.robot b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_06.robot
index 574aeb461f784d7d1ad2e7dcfe7670f95da20ef4..7f95eafb096434b9439ae8846f3b6613347b1067 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_06.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/Entity/RetrieveEntity/018_06.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that the JSON-LD @context is obtained from a Link header if present and that the default JSON-LD @context is used if not present
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,10 +19,10 @@ ${creation_jsonld_expectation_filename}= building-simple-attributes-sample-co
*** Test Cases *** CONTEXT EXPECTED_PAYLOAD
-EmptyJsonLdContext
+018_06_01 EmptyJsonLdContext
[Tags] e-retrieve 6_3_5
${EMPTY} ${empty_jsonld_expectation_filename}
-CreationTimeJsonLdContext
+018_06_02 CreationTimeJsonLdContext
[Tags] e-retrieve 6_3_5
${ngsild_test_suite_context} ${creation_jsonld_expectation_filename}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_01.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_01.robot
index 8e7af97821ba672ab2548a7238d9540f56a1dd43..4312f05d2db01bc98166b968e2ff5612c4367409 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query the temporal evolution of entities
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -19,9 +20,9 @@ ${bus_payload_file}= 2020-08-bus-temporal-representation-sample.j
*** Test Cases *** TIMEREL TIMEAT EXPECTATION_FILE
-After [Tags] te-query 5_7_4
+021_01_01 After [Tags] te-query 5_7_4
after 2020-08-01T12:04:00Z vehicles-temporal-representation-021-01-01-expectation.jsonld
-Before [Tags] te-query 5_7_4
+021_01_02 Before [Tags] te-query 5_7_4
before 2020-09-01T13:06:00Z vehicles-temporal-representation-021-01-02-expectation.jsonld
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_02.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_02.robot
index 58cc6a91d60854b8cf9c0a560cfc20b83a7da4c1..bb58c898eb498d34525370635a0dbfdc0a2c93c3 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query the temporal evolution of certain attributes of entities
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${expectation_file}= vehicles-temporal-representation-021-02-expe
*** Test Cases ***
-Query the temporal evolution of certain attributes of entities
+021_02_01 Query the temporal evolution of certain attributes of entities
[Documentation] Check that you can query the temporal evolution of certain attributes of entities
[Tags] te-query 5_7_4
${entity_types_to_be_retrieved}= Catenate SEPARATOR=, Vehicle
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_03.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_03.robot
index 816299350ea46b5ff35ba2c44da80fb6fb37e954..5e968f53fad19d3eaf10cf3711bb3e71656decc1 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_03.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query the temporal evolution of the last N instances of entities attributes
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${expectation_file}= vehicles-temporal-representation-021-03-expe
*** Test Cases ***
-Query the temporal evolution of the last N instances of entities attributes
+021_03_01 Query the temporal evolution of the last N instances of entities attributes
[Documentation] Check that you can query the temporal evolution of the last N instances of entities attributes
[Tags] te-query 5_7_4
${entity_types_to_be_retrieved}= Catenate SEPARATOR=, Vehicle
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_04.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_04.robot
index 6bab8c0478ad3e1a554d5733e4aff370c0a29db5..272bd6b9681766ec02fb499174a3e4d046954877 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_04.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_04.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query the temporal evolution of entities using a context
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${expectation_file}= vehicles-temporal-representation-021-04-expe
*** Test Cases ***
-Query the temporal evolution of entities using a context
+021_04_01 Query the temporal evolution of entities using a context
[Documentation] Check that you can query the temporal evolution of entities using a context
[Tags] te-query 5_7_4
${entity_types_to_be_retrieved}= Catenate SEPARATOR=, Vehicle
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_05.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_05.robot
index 57300cf3dc69f5848d4b83a7310d1052cb89eb68..a396969e2376685ebf9d49e89f955726045ea6f3 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_05.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_05.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query the temporal evolution of entities matching the given type(s)
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,7 +19,7 @@ ${expectation_file}= vehicles-temporal-representation-021-05-expectation.
*** Test Cases ***
-Query the temporal evolution of entities matching the given type(s)
+021_05_01 Query the temporal evolution of entities matching the given type(s)
[Documentation] Check that you can query the temporal evolution of entities matching the given type(s)
[Tags] te-query 5_7_4
${entity_types_to_be_retrieved}= Catenate SEPARATOR=, Bus
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_06.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_06.robot
index 5d94d9bfed05203fd5dbe7d771bfa3b76c0afd7c..773a4a513ab29f2ad6abe1c710a4ae941f0a4657 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_06.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_06.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query the temporal evolution of entities matching the given identifier(s)
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${expectation_file}= vehicles-temporal-representation-021-06-expe
*** Test Cases ***
-Query the temporal evolution of entities matching the given identifier(s)
+021_06_01 Query the temporal evolution of entities matching the given identifier(s)
[Documentation] Check that you can query the temporal evolution of entities matching the given identifier(s)
[Tags] te-query 5_7_4
${entity_types_to_be_retrieved}= Catenate SEPARATOR=, Vehicle
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_07.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_07.robot
index 4fca74804556f6b0fee1417d4d4848514942ac39..4536a564e6b5ea05f7880929f66ce3d4721fcb72 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_07.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_07.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query the temporal evolution of entities matching the given id pattern
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${expectation_file}= vehicles-temporal-representation-021-07-expe
*** Test Cases ***
-Query the temporal evolution of entities matching the given id pattern
+021_07_01 Query the temporal evolution of entities matching the given id pattern
[Documentation] Check that you can query the temporal evolution of entities matching the given id pattern
[Tags] te-query 5_7_4
${entity_types_to_be_retrieved}= Catenate SEPARATOR=, Vehicle
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_08.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_08.robot
index c49aaa1a434f0d358f12b8f7599d388a8db7755e..b5184ee5ded64ec0a7341caec75bdb21a3ae9f98 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_08.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_08.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query the temporal evolution of entities matching the given NGSI-LD query
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${expectation_file}= vehicles-temporal-representation-021-08-expe
*** Test Cases ***
-Query the temporal evolution of entities matching the given NGSI-LD query
+021_08_01 Query the temporal evolution of entities matching the given NGSI-LD query
[Documentation] Check that you can query the temporal evolution of entities matching the given NGSI-LD query
[Tags] te-query 5_7_4
${entity_types_to_be_retrieved}= Catenate SEPARATOR=, Vehicle
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_09.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_09.robot
index bc43971603c31051a0db3effa46e83734f995be3..e4f06bf7d7fc12ab635c3150ceab7d07648bd80a 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_09.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_09.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query the temporal evolution of entities matching the given NGSI-LD geo-query
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,9 +19,9 @@ ${expectation_file}= vehicles-temporal-representation-021-09-expe
*** Test Cases *** GEOREL GEOMETRY COORDINATES GEOPROPERTY EXPECTATION_FILE
-Near Point [Tags] te-query 5_7_4
+021_09_01 Near Point [Tags] te-query 5_7_4
near;maxDistance==2000 Point [-8.503,41.202] ${EMPTY} vehicles-temporal-representation-021-09-01-expectation.jsonld
-Within Polygon [Tags] te-query 5_7_4
+021_09_02 Within Polygon [Tags] te-query 5_7_4
contains Polygon [[[-13.503,47.202],[6.541, 52.961],[20.37,44.653],[9.46,32.57],[-13.503,32.57],[-13.503,47.202]]] location vehicles-temporal-representation-021-09-02-expectation.jsonld
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_10.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_10.robot
index 13ee25750b7f869a00bc463fb2dba052bb67b071..21447857539d4542d8706f4f6dbb57ff9f784207 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_10.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_10.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query the temporal evolution of entities matching the given NGSI-LD Context Source filter
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/MockServerUtils.resource
@@ -17,7 +18,7 @@ ${context_source_url}= http://${context_source_
*** Test Cases ***
-Query the temporal evolution of entities matching the given NGSI-LD context source filter
+021_10_01 Query the temporal evolution of entities matching the given NGSI-LD context source filter
[Documentation] Check that you can query the temporal evolution of entities matching the given NGSI-LD Context Source filter
[Tags] te-query 5_7_4
${entity_types_to_be_retrieved}= Catenate SEPARATOR=, Building
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_11.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_11.robot
index c50219081d6b95177cca4660639afe3768759c38..5eedb04a7e58db4db7251a10ad335e0f15051aa5 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_11.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_11.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query the temporal evolution of entities with a limit to the number of entities to be retrieved
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,10 +18,10 @@ ${second_vehicle_payload_file}= 2020-09-vehicule-temporal-representation-sam
*** Test Cases *** LIMIT
-Query Some entities
+021_11_01 Query Some entities
[Tags] te-query 5_7_4
${2}
-Query All entities
+021_11_02 Query All entities
[Tags] te-query 5_7_4
${3}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_12.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_12.robot
index 459ed3422a853972f1d24de60b32ea65424ded03..b0d49427eda88cf3a2eecca10026ed690bbc7c65 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_12.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_12.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot query the temporal evolution of entities with an invalid request or invalid request content
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,7 +16,7 @@ ${vehicle_payload_file}= 2020-08-vehicule-temporal-representation-sample.json
*** Test Cases ***
-Query the temporal evolution of entities with an invalid request
+021_12_01 Query the temporal evolution of entities with an invalid request
[Documentation] Check that you cannot query the temporal evolution of entities with an invalid request
[Tags] te-query 5_7_4
${response}= Query Temporal Representation Of Entities
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_13.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_13.robot
index a16d151da2c89051a4c06b4ba483e52ae5faed3b..21badc5b87a9b93c77945f9836b6b801ded5a385 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_13.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/QueryTemporalEvolutionOfEntities/021_13.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query the temporal evolution of entities using the entityOperations method
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,9 +18,9 @@ ${second_vehicle_payload_file}= 2020-09-vehicule-temporal-representation-sam
*** Test Cases *** PAYLOAD_FILE EXPECTATION_FILE
-After [Tags] te-query 5_7_4
+021_13_01 After [Tags] te-query 5_7_4
entity-operations-after-query.jsonld vehicles-temporal-representation-021-13-01-expectation.jsonld
-Before [Tags] te-query 5_7_4
+021_13_02 Before [Tags] te-query 5_7_4
entity-operations-before-query.jsonld vehicles-temporal-representation-021-13-02-expectation.jsonld
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_01.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_01.robot
index 688ffda75fb988937db79a4a2420476b5e75ff1a..2f9e4ed8a07a6aac20b0e15882d7ca54fd265e2c 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can retrieve the temporal evolution of an entity
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${vehicle_expectation_file}= vehicle-temporal-representation-020-01-expectati
*** Test Cases ***
-Retrieve the temporal evolution of an entity
+020_01_01 Retrieve the temporal evolution of an entity
[Documentation] Check that you can retrieve the temporal evolution of an entity
[Tags] te-retrieve 5_7_3
${response}= Retrieve Temporal Representation Of Entity ${temporal_entity_representation_id}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_02.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_02.robot
index db67528d9bc0dab60035e1d7a233e452968f4039..f1dfebf3980b565a7ee1299b6878828d2f353024 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can retrieve the temporal evolution of an entity using a context
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${vehicle_expectation_file}= vehicle-temporal-representation-020-02-expectati
*** Test Cases ***
-Retrieve the temporal evolution of an entity using a context
+020_02_01 Retrieve the temporal evolution of an entity using a context
[Documentation] Check that you can retrieve the temporal evolution of an entity using a context
[Tags] te-retrieve 5_7_3
${response}= Retrieve Temporal Representation Of Entity
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_03.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_03.robot
index d6ffa927c5c72639dfbc683a8c3e0f49584ba7d4..fff9a67bc646c3980cb217e61de5c4882f17e095 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_03.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can retrieve the temporal evolution of certain attributes of an entity
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${vehicle_expectation_file}= vehicle-temporal-representation-020-03-expectati
*** Test Cases ***
-Retrieve the temporal evolution of certain attributes of an entity
+020_03_01 Retrieve the temporal evolution of certain attributes of an entity
[Documentation] Check that you can retrieve the temporal evolution of certain attributes of an entity
[Tags] te-retrieve 5_7_3
@{temporal_attributes_to_be_retrieved}= Create List fuelLevel
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_04.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_04.robot
index e7dff655266bfbfcc5a4cc7855a2f10c4efce10d..63ded0eee86a440ddd4ba735070c8cb106f3a8cf 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_04.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_04.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can retrieve the temporal evolution of an entity matching the given NGSI-LD temporal query
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,11 +17,11 @@ ${vehicle_payload_file}= 2020-08-vehicule-temporal-representation-sample.json
*** Test Cases *** TIMEREL TIMEAT ENDTIMEAT VEHICLE_EXPECTATION_FILE
-After [Tags] te-retrieve 5_7_3
+020_04_01 After [Tags] te-retrieve 5_7_3
after 2020-08-01T13:03:00Z ${EMPTY} vehicle-temporal-representation-020-04-01-expectation.jsonld
-Before [Tags] te-retrieve 5_7_3
+020_04_02 Before [Tags] te-retrieve 5_7_3
before 2020-08-01T12:05:00Z ${EMPTY} vehicle-temporal-representation-020-04-02-expectation.jsonld
-Between [Tags] te-retrieve 5_7_3
+020_04_03 Between [Tags] te-retrieve 5_7_3
between 2020-08-01T12:00:00Z 2020-08-01T13:00:00Z vehicle-temporal-representation-020-04-03-expectation.jsonld
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_05.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_05.robot
index 6789badcdb13d9185058457cdf36ea3d095421ba..841b1c1059b81bdc345fcbc938047e0b6aa07caa 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_05.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_05.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can retrieve the temporal evolution of the last N instances of entity attributes
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,10 +17,10 @@ ${vehicle_payload_file}= 2020-08-vehicule-temporal-representation-multiple-in
*** Test Cases *** LASTN VEHICLE_EXPECTATION_FILE
-Retrieve Some Instances
+020_05_01 Retrieve Some Instances
[Tags] te-retrieve 5_7_3
${10} vehicle-temporal-representation-020-05-01-expectation.jsonld
-Retrieve All Instances
+020_05_02 Retrieve All Instances
[Tags] te-retrieve 5_7_3
${20} vehicle-temporal-representation-020-05-02-expectation.jsonld
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_06.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_06.robot
index 0126271574212a6f96fc79768231e1bdd77ff628..34b4d56ff66ce45056b47ca45bbcf9bb41640246 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_06.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_06.robot
@@ -1,13 +1,13 @@
*** Settings ***
Documentation Check that you cannot retrieve the temporal evolution of an entity with an invalid id (invalid URI)
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
*** Test Cases ***
-Retrieve the temporal evolution of an entity with an invalid id
+020_06_01 Retrieve the temporal evolution of an entity with an invalid id
[Documentation] Check that you cannot retrieve the temporal evolution of an entity with an invalid id (invalid URI)
[Tags] te-retrieve 5_7_3
${response}= Retrieve Temporal Representation Of Entity invalidUri
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_07.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_07.robot
index 6e6a1d42ae199b39aaf568f6f778edf37fb741a9..29602d2ea202ab7530f03bc2e13629fa4ca400a5 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_07.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_07.robot
@@ -1,13 +1,13 @@
*** Settings ***
Documentation Check that you cannot retrieve the temporal evolution of a non-existing entity
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
*** Test Cases ***
-Retrieve the temporal evolution of a non-existing entity
+020_07_01 Retrieve the temporal evolution of a non-existing entity
[Documentation] Check that you cannot retrieve the temporal evolution of a non-existing entity
[Tags] te-retrieve 5_7_3
${response}= Retrieve Temporal Representation Of Entity urn:ngsi-ld:Vehicle:unknowEntity
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_08.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_08.robot
index e457cb4c8ac8b6bb407b99b15bc70f24250048af..4ebe556a1c1c70a0876360d93862b12c753c8c24 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_08.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_08.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot retrieve the temporal evolution of non-existing entity attributes
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,7 +16,7 @@ ${vehicle_payload_file}= 2020-08-vehicule-temporal-representation-sample.json
*** Test Cases ***
-Retrieve the temporal evolution of non-existing entity attributes
+020_08_01 Retrieve the temporal evolution of non-existing entity attributes
[Documentation] Check that you cannot retrieve the temporal evolution of non-existing entity attributes
[Tags] te-retrieve 5_7_3
@{temporal_attributes_to_be_retrieved}= Create List unknownAttribute
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_09.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_09.robot
index 809f9461741a99d35a4ab1a659e7489a5951014a..d3f13d04a5ad6456c8e572396e7573bd8231d54e 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_09.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_09.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot retrieve the temporal evolution of an entity with an invalid request content
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,11 +17,11 @@ ${vehicle_payload_file}= 2020-08-vehicule-temporal-representation-sample.json
*** Test Cases *** TIMEREL TIMEAT ENDTIMEAT
-After [Tags] te-retrieve 5_7_3
+020_09_01 After [Tags] te-retrieve 5_7_3
after ${EMPTY} ${EMPTY}
-Before [Tags] te-retrieve 5_7_3
+020_09_02 Before [Tags] te-retrieve 5_7_3
before ${EMPTY} ${EMPTY}
-Between [Tags] te-retrieve 5_7_3
+020_09_03 Between [Tags] te-retrieve 5_7_3
between 2020-08-01T12:00:00Z ${EMPTY}
diff --git a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_10.robot b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_10.robot
index 69e8d9f67ad49370dec20a48c852dc776d9cbeb0..cedc13c57eb4fca3c0a512bd90c6a1097c060c43 100644
--- a/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_10.robot
+++ b/TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_10.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can retrieve the temporal evolution of an entity with the simplified temporal representation
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${vehicle_expectation_file}= vehicle-temporal-representation-020-10-expectati
*** Test Cases ***
-Retrieve the temporal evolution of an entity with the simplified temporal representation
+020_10_01 Retrieve the temporal evolution of an entity with the simplified temporal representation
[Documentation] Check that you can retrieve the temporal evolution of an entity with the simplified temporal representation
[Tags] te-retrieve 5_7_3
@{options}= Create List temporalValues
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 e8fc355e757e42a1734f46d0c64046e4a47f8a00..7137fe34b9762daf5f13891c7d1cb9cbbd8f47a5 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can create a batch of entities
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,16 +15,16 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases *** FILENAME
-MinimalEntity
+003_01_01 MinimalEntity
[Tags] be-create 5_6_7
building-minimal-sample.jsonld
-EntityWithSimpleProperties
+003_01_02 EntityWithSimpleProperties
[Tags] be-create 5_6_7
building-simple-attributes-sample.jsonld
-EntityWithSimpleRelationships
+003_01_03 EntityWithSimpleRelationships
[Tags] be-create 5_6_7
building-relationship-sample.jsonld
-EntityWithRelationshipsProperties
+003_01_04 EntityWithRelationshipsProperties
[Tags] be-create 5_6_7
building-relationship-of-property-sample.jsonld
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 df636156bb99cd6350915374200111c5ee4b6829..11ff31a87c7a387f0cabd969e3f0bed2187b20eb 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can create a batch of entities where some will succeed and others will fail
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,7 +15,7 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases ***
-Create a batch of two valid entities and one invalid entity
+003_02_01 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] be-create 5_6_7
${first_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
index 980c579e2abfe46c20d75e90fc3dfb600b7c0ebb..2c62a23045c3d900c8537ca9b25d80917f1b00e8 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_03.robot
@@ -1,16 +1,16 @@
*** Settings ***
Documentation Check that you cannot create a batch of entities with an invalid request
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Test Template Create Batch Entity With Invalid Request Scenarios
*** Test Cases *** FILENAME PROBLEM_TYPE
-InvalidJson [Tags] be-create 5_6_7
+003_03_01 InvalidJson [Tags] be-create 5_6_7
batch/invalid-json-sample.jsonld ${ERROR_TYPE_INVALID_REQUEST}
-EmptyJson [Tags] be-create 5_6_7
+003_03_02 EmptyJson [Tags] be-create 5_6_7
batch/empty-sample.jsonld ${ERROR_TYPE_BAD_REQUEST_DATA}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_04.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_04.robot
index 4c0bbceb0e648bc16c7817aa8a393e5f6f3b2df8..84df0cc2aa765e1422aaa3af53f418753b2ef897 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_04.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_04.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that the @context is obtained from a Link Header if the Content-Type header is "application/json"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -13,7 +14,7 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases ***
-Create a batch of one entity using a provided Link header with JSON content type
+003_04_01 Create a batch of one entity using a provided Link header with JSON content type
[Documentation] Check that the @context is obtained from a Link Header if the Content-Type header is "application/json"
[Tags] be-create 6_3_5
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_05.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_05.robot
index 33ab8280083b384b831c8677be3d2b601e2d8f96..7c0e97560b25aeab97474c7e1f67dd8274d54d72 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_05.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_05.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that the default @context is used if the Content-Type header is "application/json" and the Link header does not contain a JSON-LD @context
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -13,7 +14,7 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases ***
-Create a batch of one entity using the default context with JSON content type
+003_05_01 Create a batch of one entity using the default context with JSON content type
[Documentation] Check that the default @context is used if the Content-Type header is "application/json" and the Link header does not contain a JSON-LD @context
[Tags] be-create 6_3_5
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_06.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_06.robot
index 390ff2bf29f2ca19005ade3105461a663bc4cf81..ca78572caad8a25bff8c7abb148a75e1ad2cf237 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_06.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_06.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/json" and the request payload body (as JSON) contains a "@context" term
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -11,7 +11,7 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases ***
-Create a batch of one entity containing a JSON-LD @context with a JSON content type
+003_06_01 Create a batch of one entity containing a JSON-LD @context with a JSON content type
[Documentation] Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/json" and the request payload body (as JSON) contains a "@context" term
[Tags] be-create 6_3_5
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_07.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_07.robot
index 4f8c24fbed8340849a6b8c0433e077eb7854ea94..c54e731a6e965388ec52516ccc2573700d11ffaf 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_07.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_07.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that the @context is obtained from the request payload body itself if the Content-Type header is "application/ld+json"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -13,7 +14,7 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases ***
-Create a batch of one entity using a JSON-LD @context obtained from the request payload
+003_07_01 Create a batch of one entity using a JSON-LD @context obtained from the request payload
[Documentation] Check that the @context is obtained from the request payload body itself if the Content-Type header is "application/ld+json"
[Tags] be-create 6_3_5
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_08.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_08.robot
index bc106ed57fab6d12fb3a9c7a4fd56fe18ad0a308..b2ed544785150e10524737db5c8e3d84faf88286 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_08.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_08.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/ld+json" and the request payload body does not contain a @context term
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -11,7 +11,7 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases ***
-Create a batch of one entity not containing a JSON-LD @context with a JSON-LD content type
+003_08_01 Create a batch of one entity not containing a JSON-LD @context with a JSON-LD content type
[Documentation] Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/ld+json" and the request payload body does not contain a @context term
[Tags] be-create 6_3_5
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_09.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_09.robot
index cde6b9e3b3f049ec76ec2832812d9ddc258e897e..18e4929671887c80ed3f067f2056865e01850831 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_09.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_09.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/ld+json" and a JSON-LD Link header is present in the incoming HTTP request
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -11,7 +11,7 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases ***
-Create a batch of one entity with a Link header and a JSON-LD content type
+003_09_01 Create a batch of one entity with a Link header and a JSON-LD content type
[Documentation] Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/ld+json" and a JSON-LD Link header is present in the incoming HTTP request
[Tags] be-create 6_3_5
${entity_id}= Generate Random Entity Id ${building_id_prefix}
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 7d717d55215766f80e655648580eb73dcbd15696..dc6348ca6464a8228f7609fc70b72cd34c327c54 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can delete a batch of entities
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -13,7 +14,7 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases ***
-Delete a batch of entities
+006_01_01 Delete a batch of entities
[Documentation] Check that you can delete a batch of entities
[Tags] be-delete 5_6_10
@{entities_ids_to_be_deleted}= Create List ${first_entity_id} ${second_entity_id}
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 6250b99596b7703dc7d4bcc38b38f81f1c17f638..d1283afb8d44883c0b9e0012187792e1ed871a97 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can delete a batch of entities where some will succeed and others will fail
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -13,7 +14,7 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases ***
-Delete a batch of non-existing and existing entities
+006_02_01 Delete a batch of non-existing and existing entities
[Documentation] Check that you can delete a batch of non-existing and existing entities
[Tags] be-delete 5_6_10
${new_entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_03.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_03.robot
index 77423e963e82f24e50b2310ea3bdbc0c39442358..fc0e63fb3cf9cce916eff7b98e001b46e6f86c7d 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/DeleteBatchOfEntities/006_03.robot
@@ -1,16 +1,16 @@
*** Settings ***
Documentation Check that you cannot delete a batch of entities with an invalid request
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Test Template Batch Delete Entity With Invalid Request Scenarios
*** Test Cases *** FILENAME PROBLEM_TYPE
-InvalidJson [Tags] be-delete 5_6_10
+006_03_01 InvalidJson [Tags] be-delete 5_6_10
batch/invalid-json-sample.jsonld ${ERROR_TYPE_INVALID_REQUEST}
-EmptyJson [Tags] be-delete 5_6_10
+006_03_02 EmptyJson [Tags] be-delete 5_6_10
batch/empty-sample.jsonld ${ERROR_TYPE_BAD_REQUEST_DATA}
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 f6483c89f8a9040e270c257250ccf34a80c022aa..d1cd73ed9d077858a0308119a9cdb2448736804d 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can update a batch of entities
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,13 +17,13 @@ ${entity_payload_filename}= building-simple-attributes-sample.jsonld
*** Test Cases *** FILENAME UPDATE_FRAGMENT_FILENAME
-EntityWithSimpleProperties
+005_01_01 EntityWithSimpleProperties
[Tags] be-update 5_6_9
building-simple-attributes-sample.jsonld fragmentEntities/empty-fragment.json
-EntityWithSimpleRelationships
+005_01_02 EntityWithSimpleRelationships
[Tags] be-update 5_6_9
building-relationship-sample.jsonld fragmentEntities/locatedAt-fragment.json
-EntityWithRelationshipsProperties
+005_01_03 EntityWithRelationshipsProperties
[Tags] be-update 5_6_9
building-relationship-of-property-sample.jsonld fragmentEntities/airQualityLevel-with-relationship-fragment.json
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 99d1e0d95bb0f69d5af6ebee26f19a26215190f3..851fe9755c0e6208f02b1429661b9959363e15be 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can update a batch of entities with noOverwrite option
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,13 +17,13 @@ ${entity_payload_filename}= building-simple-attributes-sample.jsonld
*** Test Cases *** FILENAME UPDATE_FRAGMENT_FILENAME EXPECTED_STATUS
-EntityWithSimpleProperties
+005_02_01 EntityWithSimpleProperties
[Tags] be-update 5_6_9
building-simple-attributes-sample.jsonld fragmentEntities/empty-fragment.json 207
-EntityWithSimpleRelationships
+005_02_02 EntityWithSimpleRelationships
[Tags] be-update 5_6_9
building-relationship-sample.jsonld fragmentEntities/locatedAt-fragment.json 204
-EntityWithRelationshipsProperties
+005_02_03 EntityWithRelationshipsProperties
[Tags] be-update 5_6_9
building-relationship-of-property-sample.jsonld fragmentEntities/empty-fragment.json 207
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 3bc7f37c8d00c6f24f4584b452b7c82e9d02c72a..6fe66f111e31981aa22a7a1d8f967d74a8d4e3c7 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_03.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can update a batch of entities where some will succeed and others will fail
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${update_fragment_filename}= fragmentEntities/simple-attributes-relationship-
*** Test Cases ***
-Update a batch of non-existing and existing entities
+005_03_01 Update a batch of non-existing and existing entities
[Documentation] Check that you can update a batch of non-existing and existing entities
[Tags] be-update 5_6_9
${first_existing_entity}= Load Entity
diff --git a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_04.robot b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_04.robot
index c450dcab296b009675237b3be902a66d0cfb137f..f386af46c461ef9c438e4d85dffd42c4527e4828 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_04.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpdateBatchOfEntities/005_04.robot
@@ -1,16 +1,16 @@
*** Settings ***
Documentation Check that you cannot update a batch of entities with an invalid request
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Test Template Batch Update Entity With Invalid Request Scenarios
*** Test Cases *** FILENAME PROBLEM_TYPE
-InvalidJson [Tags] be-update 5_6_9
+005_04_01 InvalidJson [Tags] be-update 5_6_9
batch/invalid-json-sample.jsonld ${ERROR_TYPE_INVALID_REQUEST}
-InvalidJsonLd [Tags] be-update 5_6_9
+005_04_02 InvalidJsonLd [Tags] be-update 5_6_9
batch/invalid-json-ld-sample.jsonld ${ERROR_TYPE_BAD_REQUEST_DATA}
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 f85bb2c1da008970663b4aa4ba048278facbff1e..78f968fdc029a25e86467ffdb960faa99572e926 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_01.robot
@@ -1,7 +1,8 @@
*** 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/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,13 +15,13 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases *** FILENAME
-EntityWithSimpleProperties
+004_01_01 EntityWithSimpleProperties
[Tags] be-upsert 5_6_8
building-simple-attributes-sample.jsonld
-EntityWithSimpleRelationships
+004_01_02 EntityWithSimpleRelationships
[Tags] be-upsert 5_6_8
building-relationship-sample.jsonld
-EntityWithRelationshipsProperties
+004_01_03 EntityWithRelationshipsProperties
[Tags] be-upsert 5_6_8
building-relationship-of-property-sample.jsonld
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 ae1b57d112f2f591aa4f2255f28111eb3478d26f..d6a900983a7245e0a778bc8486c834bbfa0b3042 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_02.robot
@@ -1,7 +1,8 @@
*** 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/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,13 +16,13 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases *** FILENAME
-EntityWithSimpleProperties
+004_02_01 EntityWithSimpleProperties
[Tags] be-upsert 5_6_8
building-simple-attributes-sample.jsonld
-EntityWithSimpleRelationships
+004_02_02 EntityWithSimpleRelationships
[Tags] be-upsert 5_6_8
building-relationship-sample.jsonld
-EntityWithRelationshipsProperties
+004_02_03 EntityWithRelationshipsProperties
[Tags] be-upsert 5_6_8
building-relationship-of-property-sample.jsonld
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 15a695211c7236181359534734ebd08f10d04f4a..9a55de5a0813ac0fadbe997137464545a6aed240 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_03.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can upsert a batch of existing entities and they will be replaced
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,13 +16,13 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases *** FILENAME
-EntityWithSimpleProperties
+004_03_01 EntityWithSimpleProperties
[Tags] be-upsert 5_6_8
building-simple-attributes-sample.jsonld
-EntityWithSimpleRelationships
+004_03_02 EntityWithSimpleRelationships
[Tags] be-upsert 5_6_8
building-relationship-sample.jsonld
-EntityWithRelationshipsProperties
+004_03_03 EntityWithRelationshipsProperties
[Tags] be-upsert 5_6_8
building-relationship-of-property-sample.jsonld
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 ce6c20002095eceafbad6107567bf17de2d98795..19cec4f18bbcd6be19a83e7ce21d87640e070b2d 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_04.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_04.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can upsert a batch of entities with update option
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,13 +17,13 @@ ${existing_entity_payload_filename}= building-minimal-sample.jsonld
*** Test Cases *** FILENAME UPDATE_FRAGMENT_FILENAME
-EntityWithSimpleProperties
+004_04_01 EntityWithSimpleProperties
[Tags] be-upsert 5_6_8
building-simple-attributes-sample.jsonld fragmentEntities/simple-attributes-fragment.json
-EntityWithSimpleRelationships
+004_04_02 EntityWithSimpleRelationships
[Tags] be-upsert 5_6_8
building-relationship-sample.jsonld fragmentEntities/locatedAt-fragment.json
-EntityWithRelationshipsProperties
+004_04_03 EntityWithRelationshipsProperties
[Tags] be-upsert 5_6_8
building-relationship-of-property-sample.jsonld fragmentEntities/simple-attributes-relationship-of-property-fragment.json
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 59b275c05eb9a9899480ba939a60c5a2cc132fa8..e377284e514349870e9dcb9a45fb69abb482057f 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_05.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_05.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can upsert a batch of entities where some will succeed and others will fail
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -11,7 +12,7 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases ***
-Upsert a batch of two valid entities and one invalid entity
+004_05_01 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] be-upsert 5_6_8
${first_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
index 75fcacdd21c62e060e1f224fd10e1c14fe0b4bb7..a5476c557f87fc8ba3fc378f9dd54edd42e21df1 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_06.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/UpsertBatchOfEntities/004_06.robot
@@ -1,16 +1,16 @@
*** Settings ***
Documentation Check that you cannot upsert a batch of entities with an invalid request
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Test Template Batch Upsert Entity With Invalid Request Scenarios
*** Test Cases *** FILENAME PROBLEM_TYPE
-InvalidJson [Tags] be-upsert 5_6_8
+004_06_01 InvalidJson [Tags] be-upsert 5_6_8
batch/invalid-json-sample.jsonld ${ERROR_TYPE_INVALID_REQUEST}
-InvalidJsonLd [Tags] be-upsert 5_6_8
+004_06_02 InvalidJsonLd [Tags] be-upsert 5_6_8
batch/invalid-json-ld-sample.jsonld ${ERROR_TYPE_BAD_REQUEST_DATA}
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 abdeaf33d61eede5befb8fbb238497450af32870..26bda50b4ea9d05e7f57e653e9220b023e69fe1d 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can create an entity
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,16 +15,16 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases *** FILENAME CONTENT_TYPE
-001_01_01_MinimalEntity
+001_01_01 MinimalEntity
[Tags] e-create 5_6_1
building-minimal-without-context-sample.jsonld application/json
-001_01_02_EntityWithSimpleProperties
+001_01_02 EntityWithSimpleProperties
[Tags] e-create 5_6_1
building-simple-attributes-sample.jsonld application/ld+json
-001_01_03_EntityWithRelationshipsProperties
+001_01_03 EntityWithRelationshipsProperties
[Tags] e-create 5_6_1
building-relationship-of-property-sample.jsonld application/ld+json
-001_01_04_EntityWithLocationAttribute
+001_01_04 EntityWithLocationAttribute
[Tags] e-create 5_6_1
building-location-attribute-sample.jsonld application/ld+json
diff --git a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_02.robot b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_02.robot
index c662a2b1a2daf699b81c008a55284f7c6dbfb0e2..bde69e2105bd6bfae05fbdf9a9aee1dd42c18ee0 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_02.robot
@@ -1,20 +1,20 @@
*** Settings ***
Documentation Check that you cannot create an entity with an invalid request
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Test Template Create Entity With Invalid Request Scenarios
*** Test Cases *** FILENAME ERROR_TYPE
-001_02_01_InvalidJson
+001_02_01 InvalidJson
[Tags] e-create 5_6_1
invalid-json-sample.jsonld ${ERROR_TYPE_INVALID_REQUEST}
-001_02_02_EmptyJson
+001_02_02 EmptyJson
[Tags] e-create 5_6_1
empty-sample.jsonld ${ERROR_TYPE_INVALID_REQUEST}
-001_02_03_EntityWithNoContext
+001_02_03 EntityWithNoContext
[Tags] e-create 5_6_1
building-minimal-without-context-sample.jsonld ${ERROR_TYPE_BAD_REQUEST_DATA}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_03.robot b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_03.robot
index c99dbf73b64769b047a713dc779621d970950bed..41698e6d482bd2b76602dfd4d69a5d01513f89a1 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot create an entity with an existing id
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,7 +15,7 @@ ${content_type}= application/ld+json
*** Test Cases ***
-Create one valid entity and one invalid entity
+001_03_01 Create one valid entity and one invalid entity
[Documentation] Check that you cannot create an entity with an existing id
[Tags] e-create 5_6_1
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_04.robot b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_04.robot
index a8aa810888911ab8f08e00305dcd025d17119ca6..c4bedd2eabeea114626cdbb099e3444f667cf121 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_04.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_04.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that the @context is obtained from a Link Header if the Content-Type header is "application/json"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,7 +13,7 @@ ${filename}= building-simple-attributes-sample.json
*** Test Cases ***
-Create one entity using a provided Link header with JSON content type
+001_04_01 Create one entity using a provided Link header with JSON content type
[Documentation] Check that the @context is obtained from a Link Header if the Content-Type header is "application/json"
[Tags] e-create 6_3_5
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_05.robot b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_05.robot
index 7a2ffb468ff68ed54c027898fda2749d73def8ac..e2b54c1c18d57bb948a970a7135790cc9ef019f0 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_05.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_05.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that the default @context is used if the Content-Type header is "application/json" and the Link header does not contain a JSON-LD @context
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,7 +13,7 @@ ${filename}= building-simple-attributes-sample.json
*** Test Cases ***
-Create one entity using the default context with JSON content type
+001_05_01 Create one entity using the default context with JSON content type
[Documentation] Check that the default @context is used if the Content-Type header is "application/json" and the Link header does not contain a JSON-LD @context
[Tags] e-create 6_3_5
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_06.robot b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_06.robot
index 333b91eeeed0998ecc13338a2c9a52482711288a..0a6cc0288a2527a1bfe26e0589a2aff62555c521 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_06.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_06.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/json" and the request payload body (as JSON) contains a "@context" term
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,7 +12,7 @@ ${filename}= building-simple-attributes-sample.jsonld
*** Test Cases ***
-Create one entity containing a JSON-LD @context with a JSON content type
+001_06_01 Create one entity containing a JSON-LD @context with a JSON content type
[Documentation] Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/json" and the request payload body (as JSON) contains a "@context" term
[Tags] e-create 6_3_5
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_07.robot b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_07.robot
index 9f5445cc8724ab92286da2bda7c75eb3bfe1d49f..93f8139a6c25b0a83bc2d1e3386eb7c72dc49b70 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_07.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_07.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that the @context is obtained from the request payload body itself if the Content-Type header is "application/ld+json"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,7 +13,7 @@ ${filename}= building-simple-attributes-sample.jsonld
*** Test Cases ***
-Create one entity using a JSON-LD @context obtained from the request payload
+001_07_01 Create one entity using a JSON-LD @context obtained from the request payload
[Documentation] Check that the @context is obtained from the request payload body itself if the Content-Type header is "application/ld+json"
[Tags] e-create 6_3_5
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_08.robot b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_08.robot
index c2834df6541b08631b83a143c369974e3cccf74d..6ec9f5e5e8e0825e39c364898f4c4d9b7f2a5e9a 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_08.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_08.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/ld+json" and the request payload body does not contain a @context term
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,7 +12,7 @@ ${filename}= building-simple-attributes-sample.json
*** Test Cases ***
-Create one entity not containing a JSON-LD @context with a JSON-LD content type
+001_08_01 Create one entity not containing a JSON-LD @context with a JSON-LD content type
[Documentation] Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/ld+json" and the request payload body does not contain a @context term
[Tags] e-create 6_3_5
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_09.robot b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_09.robot
index 4c4940b611019ccc28ddb218d516ae869a15bd34..13e06ecba7f961780aa31729106cd3fe667a18b2 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_09.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_09.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/ld+json" and a JSON-LD Link header is present in the incoming HTTP request
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,7 +12,7 @@ ${filename}= building-simple-attributes-sample.jsonld
*** Test Cases ***
-Create one entity with a Link header and a JSON-LD content type
+001_09_01 Create one entity with a Link header and a JSON-LD content type
[Documentation] Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/ld+json" and a JSON-LD Link header is present in the incoming HTTP request
[Tags] e-create 6_3_5
${entity_id}= Generate Random Entity Id ${building_id_prefix}
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 38a001804aac87cbc2b914ab12683a199492e9f2..ed6189dacc5b0d60c47fe6cf8e20f3b1170b8390 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/Entities/DeleteEntity/002_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/DeleteEntity/002_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can delete an entity by id
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -11,7 +12,7 @@ ${building_id_prefix}= urn:ngsi-ld:Building:
*** Test Cases ***
-Delete an entity
+002_01_01 Delete an entity
[Documentation] Check that you can delete an entity by id
[Tags] e-delete 5_6_6
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/Entities/DeleteEntity/002_02.robot b/TP/NGSI-LD/ContextInformation/Provision/Entities/DeleteEntity/002_02.robot
index 78df6b9e5fc42378da97076ff1386072eef6e5a0..20080e5346df8715cff9c6eec1dd281441e86bea 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/Entities/DeleteEntity/002_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/DeleteEntity/002_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot delete an entity with invalid/missing id
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -9,10 +9,10 @@ Test Template Delete Entity Scenarios
*** Test Cases *** ENTITY_ID EXPECTED_STATUS_CODE PROBLEM_TYPE
-002_02_01_Delete an entity if the Entity Id is not present
+002_02_01 Delete an entity if the Entity Id is not present
[Tags] e-delete 5_6_6
${EMPTY} 400 ${ERROR_TYPE_BAD_REQUEST_DATA}
-002_02_02_Delete an entity if the Entity Id is not a valid URI
+002_02_02 Delete an entity if the Entity Id is not a valid URI
[Tags] e-delete 5_6_6
thisisaninvaliduri 400 ${ERROR_TYPE_BAD_REQUEST_DATA}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/Entities/DeleteEntity/002_03.robot b/TP/NGSI-LD/ContextInformation/Provision/Entities/DeleteEntity/002_03.robot
index d6b35cba148ca5479876c992999437cdb6dfd02d..8a17c0240635fae19094e3162d108dc47adace84 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/Entities/DeleteEntity/002_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/Entities/DeleteEntity/002_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot delete an entity if the entity id is not known to the system
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,7 +12,7 @@ ${expected_status_code}= 404
*** Test Cases ***
-Delete an entity with an id not known to the system
+002_03_01 Delete an entity with an id not known to the system
[Documentation] Check that you cannot delete an entity if the entity id is not known to the system
[Tags] e-delete 5_6_6
${entity_id}= Generate Random Entity Id ${building_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/AppendEntityAttributes/010_01.robot b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/AppendEntityAttributes/010_01.robot
index 02ed006ce82f47b48866ff9f116f0c5b42a96a97..bc4d06e0c1001d512351bff9378b36d84f14ef87 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/AppendEntityAttributes/010_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/AppendEntityAttributes/010_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can append entity attributes
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,26 +13,26 @@ ${filename}= vehicle-speed-two-datasetid-sample.jsonld
*** Test Cases ***
-010_01_01_Append entity attributes
+010_01_01 Append entity attributes
Append Attributes Without Params
... 204
... vehicle-new-attribute-fragment.jsonld
... vehicle-speed-appended-expectation.jsonld
-010_01_02_Append entity attributes
+010_01_02 Append entity attributes
Append Attributes With Params
... 207
... vehicle-attribute-to-add-fragment.jsonld
... add-attribute-expectation.jsonld
... vehicle-speed-appended-expectation.jsonld
-010_01_03_Append entity attributes
+010_01_03 Append entity attributes
Append Attributes Without Params
... 204
... vehicle-speed-different-datasetid-fragment.jsonld
... vehicle-speed-different-datasetid-expectation.jsonld
-010_01_04_Append entity attributes
+010_01_04 Append entity attributes
Append Attributes With Params
... 204
... vehicle-speed-different-datasetid-fragment.jsonld
diff --git a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/AppendEntityAttributes/010_02.robot b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/AppendEntityAttributes/010_02.robot
index 63d6fb86175c1e8b2ae3a7d6a51ee2301db86db5..faf6b987ecb29b51cb3abf71a63e7ab9e41432e5 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/AppendEntityAttributes/010_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/AppendEntityAttributes/010_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot append entity attributes with invalid/missing id or invalid request body
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,13 +15,13 @@ ${invalid_fragment_filename}= invalid-fragment.jsonld
*** Test Cases ***
-010_02_01_Append entity attributes if the entity Id is not present
+010_02_01 Append entity attributes if the entity Id is not present
Append Attributes ${EMPTY}
-010_02_02_Append entity attributes if the Entity Id is not a valid URI
+010_02_02 Append entity attributes if the Entity Id is not a valid URI
Append Attributes thisisaninvaliduri
-010_02_03_Append entity attributes with invalid entity fragments
+010_02_03 Append entity attributes with invalid entity fragments
Append entity attributes with invalid entity fragments
diff --git a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/AppendEntityAttributes/010_03.robot b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/AppendEntityAttributes/010_03.robot
index 4d78ea05b043a43e9d6bd0fe65b80f1dffb7b841..84e356c9ec06db686f7d2ae174f47b2e79dd47b4 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/AppendEntityAttributes/010_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/AppendEntityAttributes/010_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot append entity attributes if the entity id is not known to the system
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,7 +14,7 @@ ${fragment_filename}= vehicle-attribute-to-add-fragment.jsonld
*** Test Cases ***
-Append entity attributes when the entity id is not known to the system
+010_03_01 Append entity attributes when the entity id is not known to the system
[Documentation] Check that you cannot append entity attributes if the entity id is not known to the system
[Tags] ea-append 5_6_3
${entity_id}= Generate Random Entity Id ${vehicle_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/DeleteEntityAttribute/013_01.robot b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/DeleteEntityAttribute/013_01.robot
index e0835f6229d8192d5b46633be5ba124fdd558bff..48c0c209782eee0933225cfb8e6492e577a567d9 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/DeleteEntityAttribute/013_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/DeleteEntityAttribute/013_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can delete an attribute from an entity
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,11 +18,11 @@ ${attribute_id}= speed
*** Test Cases *** DATASETID DELETEALL EXPECTATION_FILENAME
-013_01_01_delete an attribute with the default instance
+013_01_01 Delete an attribute with the default instance
${EMPTY} false vehicle-delete-default-speed-expectation.jsonld
-013_01_02_delete an attribute with the datasetId
+013_01_02 Delete an attribute with the datasetId
urn:ngsi-ld:Property:gpsBxyz123-speed false vehicle-delete-datasetid-speed-expectation.jsonld
-013_01_03_delete all target attribute instances
+013_01_03 Delete all target attribute instances
${EMPTY} true vehicle-delete-deleteall-speed-expectation.jsonld
diff --git a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/DeleteEntityAttribute/013_02.robot b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/DeleteEntityAttribute/013_02.robot
index 2aba5e756f9405c508ad30f3b0af9aca4db8f7d2..237b4e81673d217f37ab5f8dfd07ceaf1896f29f 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/DeleteEntityAttribute/013_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/DeleteEntityAttribute/013_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot delete an attribute from an entity with invalid/missing ids
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,11 +17,11 @@ ${filename}= vehicle-two-datasetid-attributes-sample.jsonld
*** Test Cases *** ENTITY_ID ATTRIBUTE_ID
-013_02_01_delete an attribute if the Entity Id is not present
+013_02_01 Delete an attribute if the Entity Id is not present
${EMPTY} speed
-013_02_02_delete an attribute if the Entity Id is not a valid URI
+013_02_02 Delete an attribute if the Entity Id is not a valid URI
thisIsAnInvalidURI speed
-013_02_03_delete an attribute if the Attribute Name is not present
+013_02_03 Delete an attribute if the Attribute Name is not present
${valid_entity_id} ${EMPTY}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/DeleteEntityAttribute/013_03.robot b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/DeleteEntityAttribute/013_03.robot
index 975a3ba85854b388203aeede25402cd83e37b25c..a4dc22d7f20eb4c587779ac5f6103b0b4b6141c8 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/DeleteEntityAttribute/013_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/DeleteEntityAttribute/013_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot delete an attribute from an entity with invalid/missing ids
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,11 +17,11 @@ ${filename}= vehicle-two-datasetid-attributes-sample.jsonld
*** Test Cases *** ENTITY_ID ATTRIBUTE_ID DATASETID
-013_03_01_delete an attribute when the Entity Id is not known to the system
+013_03_01 Delete an attribute when the Entity Id is not known to the system
${not_found_entity_id} speed urn:ngsi-ld:Property:gpsBxyz123-speed
-013_03_02_delete an attribute when the Entity does not contain the target attribute id
+013_03_02 Delete an attribute when the Entity does not contain the target attribute id
${valid_entity_id} notFound ${EMPTY}
-013_03_03_delete an attribute when the Entity does not contain the target attribute with same datasetId
+013_03_03 Delete an attribute when the Entity does not contain the target attribute with same datasetId
${valid_entity_id} speed urn:ngsi-ld:Property:notFound
diff --git a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/PartialAttributeUpdate/012_01.robot b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/PartialAttributeUpdate/012_01.robot
index 44ebeccd6549916a1945eb831954667e59f14faa..6369296bf5761ab0a481e8f830884d07f437557b 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/PartialAttributeUpdate/012_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/PartialAttributeUpdate/012_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can perform a partial update on an entity attribute
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,9 +17,9 @@ ${status_code}= 204
*** Test Cases *** FRAGMENT_FILENAME ATTRIBUTE_ID EXPECTATION_FILENAME
-012_01_01_Check that you can partially update an attribute
+012_01_01 Check that you can partially update an attribute
vehicle-isparked-fragment.jsonld isParked vehicle-isparked-update-expectation.jsonld
-012_01_02_Check that you can partially update an attribute by specifying the datasetId
+012_01_02 Check that you can partially update an attribute by specifying the datasetId
vehicle-speed-equal-datasetid-fragment.jsonld speed vehicle-update-speed-expectation.jsonld
diff --git a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/PartialAttributeUpdate/012_02.robot b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/PartialAttributeUpdate/012_02.robot
index ac541919cfdcb3a0342b7d85f169164cf9ee000a..a48a3aac5d628e560139b403be97675d447b46cd 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/PartialAttributeUpdate/012_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/PartialAttributeUpdate/012_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot perform a partial update on an entity attribute with invalid/missing ids
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,15 +17,15 @@ ${status_code}= 400
*** Test Cases *** ENTITY_ID ATTRIBUTE_ID FRAGMENT_FILENAME
-012_02_01_Make a partial attribute update if the Entity Id is not present
+012_02_01 Make a partial attribute update if the Entity Id is not present
${EMPTY} speed vehicle-speed-equal-datasetid-fragment.jsonld
-012_02_02_Make a partial attribute update if the Entity Id is not a valid URI
+012_02_02 Make a partial attribute update if the Entity Id is not a valid URI
thisisaninvaliduri speed vehicle-speed-equal-datasetid-fragment.jsonld
-012_02_03_Make a partial attribute update if the Attribute Id is not present
+012_02_03 Make a partial attribute update if the Attribute Id is not present
${valid_entity_id} ${EMPTY} vehicle-speed-equal-datasetid-fragment.jsonld
-012_02_04_Make a partial attribute update if the Attribute type does not match
+012_02_04 Make a partial attribute update if the Attribute type does not match
${valid_entity_id} speed vehicle-speed-equal-datasetid-different-type-fragment.jsonld
-012_02_05_Make a partial attribute update if the entity fragment is empty
+012_02_05 Make a partial attribute update if the entity fragment is empty
${valid_entity_id} speed empty-fragment.json
diff --git a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/PartialAttributeUpdate/012_03.robot b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/PartialAttributeUpdate/012_03.robot
index 13dfe7f13cd9f21ab74280a45416bc872436b209..2614655404863d36f956d9005c9c775db552fb41 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/PartialAttributeUpdate/012_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/PartialAttributeUpdate/012_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot perform a partial update on an entity attribute if the entity id or attribute is not known to the system
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,25 +14,25 @@ Test Template Partial Update Attributes
${vehicle_id_prefix}= urn:ngsi-ld:Vehicle:
${filename}= vehicle-speed-two-datasetid-sample.jsonld
${status_code}= 404
-${attribute_id}= speed
+${default_attr_id}= speed
-*** Test Cases *** ENTITY_ID FRAGMENT_FILENAME
-012_03_01_Partial update when the Entity Id is not known to the system
- ${not_found_entity_id} vehicle-attribute-to-add-fragment.jsonld
-012_03_02_Partial update when no default instance and no datasetId specified
- ${valid_entity_id} vehicle-speed-invalid-datasetid-fragment.jsonld
-012_03_03_Partial update when no instance with the datasetId specified
- ${valid_entity_id} vehicle-isparked-fragment.jsonld
-012_03_04_Partial update when no instance with the attrId specified
- ${valid_entity_id} vehicle-speed-wrong-name-fragment.jsonld
+*** Test Cases *** ENTITY_ID ATTR_ID FRAGMENT_FILENAME
+012_03_01 Partial update when the Entity Id is not known to the system
+ ${not_found_entity_id} ${default_attr_id} vehicle-isparked-fragment.jsonld
+012_03_02 Partial update when no default instance and no datasetId specified
+ ${valid_entity_id} ${default_attr_id} vehicle-speed-no-datasetid-fragment.jsonld
+012_03_03 Partial update when no instance with the datasetId specified
+ ${valid_entity_id} ${default_attr_id} vehicle-speed-unknown-datasetid-fragment.jsonld
+012_03_04 Partial update when the Attribute Name does not exist in the entity
+ ${valid_entity_id} speed2 vehicle-speed-no-datasetid-fragment.jsonld
*** Keywords ***
Partial Update Attributes
[Documentation] Check that you cannot perform a partial update on an entity attribute if the entity id or attribute is not known to the system
[Tags] ea-partial-update 5_6_4
- [Arguments] ${entity_id} ${fragment_filename}
+ [Arguments] ${entity_id} ${attr_id} ${fragment_filename}
${response}= Create Entity Selecting Content Type
... ${filename}
... ${valid_entity_id}
@@ -40,7 +40,7 @@ Partial Update Attributes
Check Response Status Code 201 ${response.status_code}
${response}= Partial Update Entity Attributes
... ${entity_id}
- ... ${attribute_id}
+ ... ${attr_id}
... ${fragment_filename}
... ${CONTENT_TYPE_LD_JSON}
Check Response Status Code ${status_code} ${response.status_code}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/UpdateEntityAttributes/011_01.robot b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/UpdateEntityAttributes/011_01.robot
index bece855024fc6c784dab01bd886a5afaefc498e3..7f62c67b985db11ff2d7e96792b579571798a958 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/UpdateEntityAttributes/011_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/UpdateEntityAttributes/011_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can update entity attributes
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,11 +16,11 @@ ${filename}= vehicle-two-datasetid-attributes-sample.jsonld
*** Test Cases *** STATUS_CODE FRAGMENT_FILENAME EXPECTATION_RESPONSE_FILENAME EXPECTATION_FILENAME
-011_01_01_Check that you can update existing attributes with no datasetId
+011_01_01 Check that you can update existing attributes with no datasetId
204 vehicle-speed-two-datasetid-01-fragment.jsonld ${EMPTY} expectations/vehicle-update-attributes-expectation.jsonld
-011_01_02_Check that you can update existing attributes with the datasetId
+011_01_02 Check that you can update existing attributes with the datasetId
204 vehicle-speed-two-datasetid-02-fragment.jsonld ${EMPTY} expectations/vehicle-update-datasetid-attributes-expectation.jsonld
-011_01_03_Check that you can update only some attributes while others failed
+011_01_03 Check that you can update only some attributes while others failed
207 vehicle-speed-two-datasetid-03-fragment.jsonld vehicle-speed-datasetid-expectation.jsonld expectations/vehicle-multi-attributes-expectation.jsonld
diff --git a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/UpdateEntityAttributes/011_02.robot b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/UpdateEntityAttributes/011_02.robot
index ba193571aeb896f618d6d1ca28835c36ee34f028..eac6045a164474f7094a7009a88e7f380aacfca0 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/UpdateEntityAttributes/011_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/UpdateEntityAttributes/011_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot update entity attributes with invalid/missing id or invalid request body
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -11,19 +11,19 @@ ${vehicle_id_prefix}= urn:ngsi-ld:Vehicle:
*** Test Cases ***
-011_02_01_Update an attribute if the Entity Id is not present
+011_02_01 Update an attribute if the Entity Id is not present
Update Attributes
... ${EMPTY}
... vehicle-two-datasetid-attributes-sample.jsonld
... vehicle-speed-two-datasetid-01-fragment.jsonld
-011_02_02_Update an attribute if the Entity Id is not a valid URI
+011_02_02 Update an attribute if the Entity Id is not a valid URI
Update Attributes
... thisisaninvaliduri
... vehicle-two-datasetid-attributes-sample.jsonld
... vehicle-speed-two-datasetid-01-fragment.jsonld
-011_02_03_Update entity attributes with invalid entity fragments
+011_02_03 Update entity attributes with invalid entity fragments
Update entity attributes with invalid entity fragments
... vehicle-speed-two-datasetid-sample.jsonld
... invalid-fragment.jsonld
diff --git a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/UpdateEntityAttributes/011_03.robot b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/UpdateEntityAttributes/011_03.robot
index 9fe8b4b13d113fbae9745952aa095496b9ccac44..25f93dd221500b2fae3772695d98c30238a073e5 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/UpdateEntityAttributes/011_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/EntityAttributes/UpdateEntityAttributes/011_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot update entity attributes if the entity id or attributes are not known to the system
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,7 +14,7 @@ ${fragment_filename}= vehicle-speed-two-datasetid-01-fragment.jsonld
*** Test Cases ***
-Update entity attributes when the entity id is not known to the system
+011_03_01 Update entity attributes when the entity id is not known to the system
[Documentation] Check that you cannot update entity attributes if the entity id or attributes are not known to the system
[Tags] ea-update 5_6_2
${entity_id}= Generate Random Entity Id ${vehicle_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/CreateTemporalRepresentationOfEntity/007_01.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/CreateTemporalRepresentationOfEntity/007_01.robot
index 8ab2e248682390740441b17a1f55338a96c87360..7e539d847a70ccbdb66983ee2003b220e3b2c352 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/CreateTemporalRepresentationOfEntity/007_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/CreateTemporalRepresentationOfEntity/007_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can create a temporal representation of an entity
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,9 +15,9 @@ ${vehicle_id_prefix}= urn:ngsi-ld:Vehicle:
*** Test Cases *** FILENAME EXPECTATION_FILENAME CONTENT_TYPE
-007_01_01_Create a temporal representation of an entity
+007_01_01 Create a temporal representation of an entity
vehicle-create-temporal-representation-sample.jsonld vehicle-temporal-representation-create-expectation.jsonld application/ld+json
-007_01_02_Create a temporal entity with no context
+007_01_02 Create a temporal entity with no context
vehicle-create-temporal-representation-without-context-sample.jsonld vehicle-temporal-representation-create-with-no-context-expectation.jsonld application/json
@@ -36,7 +37,8 @@ Create Temporal Entity
... temporalEntities/${filename}
... ${temporal_entity_representation_id}
IF '${content_type}'=='application/json'
- ${response}= Retrieve Temporal Representation Of Entity ${temporal_entity_representation_id}
+ ${response}= Retrieve Temporal Representation Of Entity
+ ... ${temporal_entity_representation_id}
END
IF '${content_type}'=='application/ld+json'
${response}= Retrieve Temporal Representation Of Entity
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/CreateTemporalRepresentationOfEntity/007_02.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/CreateTemporalRepresentationOfEntity/007_02.robot
index f90979e27acd9a75d5944a3cb048e639d5d03304..9eca17552fc221198bc4324c237b61ce3ce7c9b1 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/CreateTemporalRepresentationOfEntity/007_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/CreateTemporalRepresentationOfEntity/007_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot create a temporal entity with an empty/invalid json/id
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -11,16 +11,16 @@ ${status_code}= 400
*** Test Cases ***
-007_02_01_Create a temporal entity with an invalid json
+007_02_01 Create a temporal entity with an invalid json
Create Temporal Entity From File vehicle-temporal-representation-invalid-json-sample.jsonld
-007_02_02_Create a temporal entity with an empty json
+007_02_02 Create a temporal entity with an empty json
Create Temporal Entity From File vehicle-temporal-representation-empty-json-sample.jsonld
-007_02_03_Create a temporal entity with missing id
+007_02_03 Create a temporal entity with missing id
Create Temporal Entity ${EMPTY} vehicle-temporal-representation-without-id-sample.jsonld
-007_02_04_Create a temporal invalid URI
+007_02_04 Create a temporal invalid URI
Create Temporal Entity invalidId vehicle-temporal-representation-sample.jsonld
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/DeleteTemporalRepresentationOfEntity/009_01.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/DeleteTemporalRepresentationOfEntity/009_01.robot
index 02051616712afe4e5ece431bad796522535f72ce..3c65c89111a67abdb3752eb4f9d80b21a0fdc399 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/DeleteTemporalRepresentationOfEntity/009_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/DeleteTemporalRepresentationOfEntity/009_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can delete a temporal representation of an entity with simple temporal properties
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,7 +13,7 @@ ${filename}= vehicle-temporal-representation-sample.jsonld
*** Test Cases ***
-Delete a temporal representation of an entity with simple temporal properties
+009_01_01 Delete a temporal representation of an entity with simple temporal properties
[Documentation] Check that you can delete a temporal representation of an entity with simple temporal properties
[Tags] te-delete 5_6_16
${temporal_entity_representation_id}= Generate Random Entity Id ${vehicle_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/DeleteTemporalRepresentationOfEntity/009_02.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/DeleteTemporalRepresentationOfEntity/009_02.robot
index f5208af7d4f95fed28e1a9b79aa5543a53a01674..edd9c51ec9337bbea8aecd08a7f716f32ea3fd79 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/DeleteTemporalRepresentationOfEntity/009_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/DeleteTemporalRepresentationOfEntity/009_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that an error is raised if you delete a temporal entity with an empty/invalid EntityId
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -13,7 +13,7 @@ ${vehicle_id_prefix}= urn:ngsi-ld:Vehicle:
*** Test Cases *** STATUS_CODE ID PROBLEM_TYPE
-009_02_01_Delete a temporal representation of an entity with an empty entity id
+009_02_01 Delete a temporal representation of an entity with an empty entity id
400 ${EMPTY} ${ERROR_TYPE_BAD_REQUEST_DATA}
009_02_02 Delete a temporal representation of an entity with an invalid entity id
400 invalidId ${ERROR_TYPE_BAD_REQUEST_DATA}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/DeleteTemporalRepresentationOfEntity/009_03.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/DeleteTemporalRepresentationOfEntity/009_03.robot
index 95f5bf07ec40dd6bf53e686b8bdcd068b87eabf4..4ead807e188fa8a81ecb0091ee407308ed2c4a55 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/DeleteTemporalRepresentationOfEntity/009_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/DeleteTemporalRepresentationOfEntity/009_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that an error is raised if you delete a temporal entity with a non-existing/invalid EntityId
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,7 +12,7 @@ ${status_code}= 404
*** Test Cases ***
-009_03 Delete a temporal representation of an entity with an unknown entity id
+009_03_01 Delete a temporal representation of an entity with an unknown entity id
[Documentation] Check that an error is raised if you delete a temporal entity with a non-existing entity id
[Tags] te-delete 5_6_16
${temporal_entity_id}= Generate Random Entity Id ${vehicle_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/UpdateTemporalRepresentationOfEntity/008_01.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/UpdateTemporalRepresentationOfEntity/008_01.robot
index 3bef8b4f16ac53f3ed05b42d0c4ecf3da582b0a7..c4ad5dc6b12ba7a6ed4ec1b61e40b3f72ce9c3d1 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/UpdateTemporalRepresentationOfEntity/008_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntity/UpdateTemporalRepresentationOfEntity/008_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can update a temporal representation of an entity with simple temporal properties
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${expectation_filename}= vehicle-temporal-representation-update-expectation.j
*** Test Cases ***
-008_01_Update a temporal representation of an entity with simple temporal properties
+008_01_01 Update a temporal representation of an entity with simple temporal properties
[Documentation] Check that you can update a temporal representation of an entity with simple temporal properties
[Tags] te-update 5_6_11
${temporal_entity_representation_id}= Generate Random Entity Id ${vehicle_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AppendAttributes/014_01.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AddAttributes/014_01.robot
similarity index 88%
rename from TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AppendAttributes/014_01.robot
rename to TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AddAttributes/014_01.robot
index bee4c7e2a1f7d1246a679e856c1033aa19cbe59f..0119eda01e415e02a1e3f3ce39475c2c74de2e59 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AppendAttributes/014_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AddAttributes/014_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can add a simple temporal attribute to a temporal representation of an entity
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${expectation_filename}= vehicle-temporal-representation-added-attribute-expe
*** Test Cases ***
-014_01_Add an attribute to a temporal entity with simple temporal properties
+014_01_01 Add an attribute to a temporal entity with simple temporal properties
[Documentation] Check that you can add a simple temporal attribute to a temporal representation of an entity
[Tags] tea-append 5_6_12
${temporal_entity_representation_id}= Generate Random Entity Id ${vehicle_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AppendAttributes/014_02.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AddAttributes/014_02.robot
similarity index 89%
rename from TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AppendAttributes/014_02.robot
rename to TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AddAttributes/014_02.robot
index 93e28938992465e225158f27a844e37d8b0f6d51..d238231a966146192d66a175f0057730c305b82e 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AppendAttributes/014_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AddAttributes/014_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that an error is raised if you delete a temporal entity with empty/invalid content
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,16 +14,16 @@ ${status_code}= 400
*** Test Cases ***
-014_02_01_Add an attribute to a temporal representation of an entity with invalid content
+014_02_01 Add an attribute to a temporal representation of an entity with invalid content
Add an Attribute To a Temporal Entity From File vehicle-temporal-representation-invalid-json-fragment.jsonld
-014_02_02_Add an attribute to a temporal representation of an entity with empty content
+014_02_02 Add an attribute to a temporal representation of an entity with empty content
Add an Attribute To a Temporal Entity From File vehicle-temporal-representation-empty-json-fragment.jsonld
-014_02_03_Add an attribute to a temporal representation of an entity with an empty entity id
+014_02_03 Add an attribute to a temporal representation of an entity with an empty entity id
Add Attribute To Temporal Entity ${EMPTY}
-014_02_04_Add an attribute to a temporal representation of an entity with an invalid entity id
+014_02_04 Add an attribute to a temporal representation of an entity with an invalid entity id
Add Attribute To Temporal Entity thisIsAninvalidId
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AppendAttributes/014_03.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AddAttributes/014_03.robot
similarity index 92%
rename from TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AppendAttributes/014_03.robot
rename to TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AddAttributes/014_03.robot
index 9a21c5aa66470a66109b3a435633b3cd617112fb..04e5dc3d2e35de0e9af2c8fb47c08ef62dac52ca 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AppendAttributes/014_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/AddAttributes/014_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that an error is raised if you add an attribute to a non-existent entity
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +16,7 @@ ${status_code}= 404
*** Test Cases ***
-Add Attribute To Temporal Entity
+014_03_01 Add Attribute To Temporal Entity
[Documentation] Check that an error is raised if you add an attribute to a non-existent entity
[Tags] tea-append 5_6_12
${temporal_entity_representation_id}= Generate Random Entity Id ${vehicle_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttribute/015_01.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttribute/015_01.robot
index fa70be39056e66a11e392190a04e44e0eef5595b..38c3b9f4b24c4d7fdac1f1e64efce0a9cbff20b3 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttribute/015_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttribute/015_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can delete an attribute of a temporal representation of an entity with simple temporal properties
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,11 +18,11 @@ ${attribute_id}= fuelLevel
*** Test Cases *** DELETEALL DATASETID EXPECTATION_FILE
-015_01_01_Delete an attribute from a temporal representation of an entity without deleteAll/datasetId
+015_01_01 Delete an attribute from a temporal representation of an entity without deleteAll/datasetId
false ${EMPTY} vehicle-temporal-representation-delete-fuelLevel-expectation.jsonld
-015_01_02_Delete an attribute from a temporal representation of an entity with datasetId
+015_01_02 Delete an attribute from a temporal representation of an entity with datasetId
false urn:ngsi-ld:Vehicle:12345-fuel vehicle-temporal-representation-delete-fuelLevel-datasetid-expectation.jsonld
-015_01_03_Delete an attribute from a temporal representation of an entity with deleteAll
+015_01_03 Delete an attribute from a temporal representation of an entity with deleteAll
true ${EMPTY} vehicle-temporal-representation-deleteall-fuelLevel-expectation.jsonld
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttribute/015_02.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttribute/015_02.robot
index 54fbb57ecf4e48e39f7cd6b35a86ceb116cd2930..0f169072669c02f08271dced81e759981d094728 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttribute/015_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttribute/015_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that an error is raised if you delete an attribute to temporal entity with an unknown/invalid Entity/Attribute Id
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,11 +17,11 @@ ${filename}= vehicle-temporal-representation-sample.jsonld
*** Test Cases *** ENTITY_ID ATTRIBUTE_ID
-015_02_01_Delete an attribute to a temporal representation of an entity with a missing entity id
+015_02_01 Delete an attribute to a temporal representation of an entity with a missing entity id
${EMPTY} speed
-015_02_02_Delete an attribute to a temporal representation of an entity with an invalid entity id
+015_02_02 Delete an attribute to a temporal representation of an entity with an invalid entity id
invalidId speed
-015_02_03_Delete an attribute to a temporal representation of an entity with an invalid attribute id
+015_02_03 Delete an attribute to a temporal representation of an entity with an invalid attribute id
${valid_temporal_entity_id} invalid(Name
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttribute/015_03.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttribute/015_03.robot
index 6d77421f953e021121dd4eb2ad77ae9946e27ff0..920e917d34abddbd4b95e34daf6a6708a53d59b6 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttribute/015_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttribute/015_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that an error is raised if you delete a temporal entity with an unknown EntityId/Attribute Id
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,9 +17,9 @@ ${status_code}= 404
*** Test Cases *** ENTITY_ID ATTRIBUTE_ID
-015_03_01_Delete an attribute to a temporal entity if the entity id does not exist
+015_03_01 Delete an attribute to a temporal entity if the entity id does not exist
${unknown_temporal_entity_id} fuelLevel
-015_03_02_Delete an attribute to a temporal entity if the entity does not contain the target attribute
+015_03_02 Delete an attribute to a temporal entity if the entity does not contain the target attribute
${valid_temporal_entity_id} notExistingAttribute
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttributeInstance/017_01.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttributeInstance/017_01.robot
index c09b96af43444f4df9a991d2dbb8397d33f9cfcb..2753b3541352288f32ba8d95af2faeeb8f67713c 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttributeInstance/017_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttributeInstance/017_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can delete an attribute instance in temporal representation of an entity
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${expectation_filename}= vehicle-temporal-representation-delete-speed-instanc
*** Test Cases ***
-017_01_Delete an attribute instance in temporal representation of an entity
+017_01_01 Delete an attribute instance in temporal representation of an entity
[Documentation] Check that you can delete an attribute instance in temporal representation of an entity
[Tags] tea-instance-delete 5_6_15
${temporal_entity_representation_id}= Generate Random Entity Id ${vehicle_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttributeInstance/017_02.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttributeInstance/017_02.robot
index e155542e061016d5dc10bd05a8130c867ce53ae4..1e4f33add27794ea09e19d4ef695b932a70c5a9d 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttributeInstance/017_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttributeInstance/017_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot delete an attribute instance in temporal representation of an entity if the EntityId/AttributeId/InstanceId is not right
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,15 +18,15 @@ ${status_code}= 400
*** Test Cases *** TEMPORAL_ENTITY_ID ATTRIBUTE_ID INSTANCE_ID
-017_02_01_delete an attribute instance in temporal representation of an entity if the entity id is not valid
+017_02_01 Delete an attribute instance in temporal representation of an entity if the entity id is not valid
invalidId speed ${valid_instanceId}
-017_02_02_delete an attribute instance in temporal representation of an entity if the entity id is not present
+017_02_02 Delete an attribute instance in temporal representation of an entity if the entity id is not present
${EMPTY} speed ${valid_instanceId}
-017_02_03_delete an attribute instance in temporal representation of an entity if the instance id is not valid
+017_02_03 Delete an attribute instance in temporal representation of an entity if the instance id is not valid
${temporal_entity_representation_id} speed invalidId
-017_02_04_delete an attribute instance in temporal representation of an entity if the attribute name is not a valid name
+017_02_04 Delete an attribute instance in temporal representation of an entity if the attribute name is not a valid name
${temporal_entity_representation_id} invalid(Name ${valid_instanceId}
-017_02_05_delete an attribute instance in temporal representation of an entity if the attribute name is not present
+017_02_05 Delete an attribute instance in temporal representation of an entity if the attribute name is not present
${temporal_entity_representation_id} ${EMPTY} ${valid_instanceId}
@@ -50,11 +51,11 @@ Create Temporal Entity
... ${filename}
... ${CONTENT_TYPE_LD_JSON}
Check Response Status Code 201 ${response.status_code}
- ${response}= Get Temporal Representation Of Entity
+ ${response}= Retrieve Temporal Representation Of Entity
... ${temporal_entity_representation_id}
- ... ${CONTENT_TYPE_LD_JSON}
- ... sysAttrs
- ... ${ngsild_test_suite_context}
+ ... accept=${CONTENT_TYPE_LD_JSON}
+ ... options=sysAttrs
+ ... context=${ngsild_test_suite_context}
${valid_instanceId}= Set Variable ${response.json()['speed'][0]['instanceId']}
Set Test Variable ${valid_instanceId}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttributeInstance/017_03.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttributeInstance/017_03.robot
index 480d92d3f0a27a76114be1d71b523d21bd74fda1..bd6dc186bec17567350af71f790416c5fb450dcd 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttributeInstance/017_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/DeleteAttributeInstance/017_03.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot delete an attribute instance in temporal representation of an entity if the EntityId/AttributeId/InstanceId is not right
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,11 +18,11 @@ ${status_code}= 404
*** Test Cases *** TEMPORAL_ENTITY_ID ATTRIBUTE_ID INSTANCE_ID
-017_03_01_delete an attribute instance in temporal representation of an entity if the entity with given id is not found
+017_03_01 Delete an attribute instance in temporal representation of an entity if the entity with given id is not found
${unknown_temporal_entity_id} speed ${valid_instanceId}
-017_03_02_delete an attribute instance in temporal representation of an entity if the target attribute is not found
+017_03_02 Delete an attribute instance in temporal representation of an entity if the target attribute is not found
${temporal_entity_representation_id} speed2 ${valid_instanceId}
-017_03_03_delete an attribute instance in temporal representation of an entity if the target attribute instance is not found
+017_03_03 Delete an attribute instance in temporal representation of an entity if the target attribute instance is not found
${temporal_entity_representation_id} speed urn:ngsi-ld:01234567890123456789
@@ -48,11 +49,11 @@ Create Id
Check Response Status Code 201 ${response.status_code}
${unknown_temporal_entity_id}= Generate Random Entity Id ${vehicle_id_prefix}
Set Test Variable ${unknown_temporal_entity_id}
- ${response}= Get Temporal Representation Of Entity
+ ${response}= Retrieve Temporal Representation Of Entity
... ${temporal_entity_representation_id}
- ... ${CONTENT_TYPE_LD_JSON}
- ... sysAttrs
- ... ${ngsild_test_suite_context}
+ ... accept=${CONTENT_TYPE_LD_JSON}
+ ... options=sysAttrs
+ ... context=${ngsild_test_suite_context}
${valid_instanceId}= Set Variable ${response.json()['speed'][0]['instanceId']}
Set Test Variable ${valid_instanceId}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/ModifyAttributeInstance/016_01.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/PartialUpdateAttributeInstance/016_01.robot
similarity index 91%
rename from TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/ModifyAttributeInstance/016_01.robot
rename to TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/PartialUpdateAttributeInstance/016_01.robot
index 0b9a64f44afa232b2c3a11e3f74214f33382eda6..b7d13a3671e5cd01e1ee79f8a686abe9aac6dc0c 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/ModifyAttributeInstance/016_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/PartialUpdateAttributeInstance/016_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can modify an attribute instance in temporal representation of an entity
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +18,7 @@ ${attributeId}= speed
*** Test Cases ***
-016_01_Modify attribute instance in temporal representation of an entity
+016_01_01 Modify attribute instance in temporal representation of an entity
[Documentation] Check that you can partially update an attribute instance of a temporal representation of an entity
[Tags] tea-partial-update 5_6_14
${temporal_entity_representation_id}= Generate Random Entity Id ${vehicle_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/ModifyAttributeInstance/016_02.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/PartialUpdateAttributeInstance/016_02.robot
similarity index 78%
rename from TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/ModifyAttributeInstance/016_02.robot
rename to TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/PartialUpdateAttributeInstance/016_02.robot
index 7933a5b725ae137ed9de2ebff8b213719d4e15c5..ae9ff1e69335ee9f741915f446ad54be33551881 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/ModifyAttributeInstance/016_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/PartialUpdateAttributeInstance/016_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot modify an attribute instance in temporal representation of an entity if the EntityId/AttributeId/InstanceId is not right
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,17 +19,17 @@ ${status_code}= 400
*** Test Cases *** TEMPORAL_ENTITY_ID ATTRIBUTE_ID INSTANCE_ID
-016_02_01_modify attribute instance in temporal representation of an entity if the entity id is not valid
+016_02_01 Modify attribute instance in temporal representation of an entity if the entity id is not valid
invalidId speed ${valid_instanceId}
-016_02_02_modify attribute instance in temporal representation of an entity if the entity id is not present
+016_02_02 Modify attribute instance in temporal representation of an entity if the entity id is not present
${EMPTY} speed ${valid_instanceId}
-016_02_03_modify attribute instance in temporal representation of an entity if the instance id is not valid
+016_02_03 Modify attribute instance in temporal representation of an entity if the instance id is not valid
${temporal_entity_representation_id} speed invalidId
-016_02_04_modify attribute instance in temporal representation of an entity if the instance id is not present
+016_02_04 Modify attribute instance in temporal representation of an entity if the instance id is not present
${temporal_entity_representation_id} speed ${EMPTY}
-016_02_05_modify attribute instance in temporal representation of an entity if the attribute name is not a valid name
+016_02_05 Modify attribute instance in temporal representation of an entity if the attribute name is not a valid name
${temporal_entity_representation_id} invalid(Id ${valid_instanceId}
-016_02_06_modify attribute instance in temporal representation of an entity if the attribute name is not present
+016_02_06 Modify attribute instance in temporal representation of an entity if the attribute name is not present
${temporal_entity_representation_id} ${EMPTY} ${valid_instanceId}
@@ -54,11 +55,11 @@ Create Id
... ${filename}
... ${CONTENT_TYPE_LD_JSON}
Check Response Status Code 201 ${response.status_code}
- ${response}= Get Temporal Representation Of Entity
+ ${response}= Retrieve Temporal Representation Of Entity
... ${temporal_entity_representation_id}
- ... ${CONTENT_TYPE_LD_JSON}
- ... sysAttrs
- ... ${ngsild_test_suite_context}
+ ... accept=${CONTENT_TYPE_LD_JSON}
+ ... options=sysAttrs
+ ... context=${ngsild_test_suite_context}
${valid_instanceId}= Set Variable ${response.json()['speed'][0]['instanceId']}
Set Test Variable ${valid_instanceId}
diff --git a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/ModifyAttributeInstance/016_03.robot b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/PartialUpdateAttributeInstance/016_03.robot
similarity index 82%
rename from TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/ModifyAttributeInstance/016_03.robot
rename to TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/PartialUpdateAttributeInstance/016_03.robot
index 34bc191c07ca3f25e9cf6d6c7ebbde2e712e2b3c..9fb30b5f379bd7f08e63ce0c8b50aa15a42c4de7 100644
--- a/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/ModifyAttributeInstance/016_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Provision/TemporalEntityAttributes/PartialUpdateAttributeInstance/016_03.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot modify an attribute instance in temporal representation of an entity if the EntityId/AttributeId/InstanceId is not right
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
+Resource ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,11 +19,11 @@ ${status_code}= 404
*** Test Cases *** TEMPORAL_ENTITY_ID ATTRIBUTE_ID INSTANCE_ID
-016_03_01_modify attribute instance in temporal representation of an entity if the entity with given id is not found
+016_03_01 Modify attribute instance in temporal representation of an entity if the entity with given id is not found
${unknown_temporal_entity_id} speed ${valid_instanceId}
-016_03_02_modify attribute instance in temporal representation of an entity if the target attribute is not found
+016_03_02 Modify attribute instance in temporal representation of an entity if the target attribute is not found
${temporal_entity_representation_id} speed2 ${valid_instanceId}
-016_03_03_modify attribute instance in temporal representation of an entity if the target attribute instance is not found
+016_03_03 Modify attribute instance in temporal representation of an entity if the target attribute instance is not found
${temporal_entity_representation_id} speed urn:ngsi-ld:01234567890123456789
@@ -50,11 +51,11 @@ Create Id
Check Response Status Code 201 ${response.status_code}
${unknown_temporal_entity_id}= Generate Random Entity Id ${vehicle_id_prefix}
Set Test Variable ${unknown_temporal_entity_id}
- ${response}= Get Temporal Representation Of Entity
+ ${response}= Retrieve Temporal Representation Of Entity
... ${temporal_entity_representation_id}
- ... ${CONTENT_TYPE_LD_JSON}
- ... sysAttrs
- ... ${ngsild_test_suite_context}
+ ... accept=${CONTENT_TYPE_LD_JSON}
+ ... options=sysAttrs
+ ... context=${ngsild_test_suite_context}
${valid_instanceId}= Set Variable ${response.json()['speed'][0]['instanceId']}
Set Test Variable ${valid_instanceId}
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_01.robot b/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_01.robot
index d932dbcebb8f1c6b9d4c15f19bae485261ea2bf2..9b645bac01c263a099b2079634f2e49248ed9732 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_01.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can create a subscription
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,7 +15,7 @@ ${subscription_expectation_file_path}= subscriptions/expectations/subscript
*** Test Cases ***
-Create Subscription
+028_01_01 Create Subscription
[Documentation] Check that you can create a subscription
[Tags] sub-create 5_8_1
${subscription_id}= Generate Random Entity Id ${subscription_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_02.robot b/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_02.robot
index ac0eefe625ce2e7822cab68184a93103fe33340f..23a0c5217430cec655dad6fe3a90679232dc5271 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_02.robot
@@ -1,16 +1,16 @@
*** Settings ***
Documentation Check that you cannot create a subscription with an invalid request
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Test Template Create Subscription With Invalid Request
*** Test Cases *** FILENAME EXPECTED_STATUS
-028_02_01_InvalidJson
+028_02_01 InvalidJson
subscription-invalid-json-sample.jsonld ${ERROR_TYPE_INVALID_REQUEST}
-028_02_02_EmptyJson
+028_02_02 EmptyJson
subscription-empty-sample.jsonld ${ERROR_TYPE_BAD_REQUEST_DATA}
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_03.robot b/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_03.robot
index 4a85209ccc3ca129e564f9818d61a5599e28b421..b63fcbc81b4ac07380978f1999f4e57f261ff304 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot create a subscription with an invalid/empty id
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,9 +14,9 @@ ${subscription_payload_file_path}= subscriptions/subscription-sample.jsonld
*** Test Cases *** ID
-028_03_01_InvalidId
+028_03_01 InvalidId
invalidId
-028_03_02_EmptyId ${EMPTY}
+028_03_02 EmptyId ${EMPTY}
*** Keywords ***
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_04.robot b/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_04.robot
index b37fbad1ef38929bcbc0537dc5da07cfb838125f..9b22a193a94d92d7820e41eeb3b3e0522d23063e 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_04.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/CreateSubscription/028_04.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot create a subscription with an existing id
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,7 +14,7 @@ ${subscription_payload_file_path}= subscriptions/subscription-sample.jsonld
*** Test Cases ***
-Create a subscription with an id known to the system
+028_04_01 Create a subscription with an id known to the system
[Documentation] Check that you cannot create a subscription with an existing id
[Tags] sub-create 5_8_1
${subscription_id}= Generate Random Entity Id ${subscription_id_prefix}
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/DeleteSubscription/032_01.robot b/TP/NGSI-LD/ContextInformation/Subscription/DeleteSubscription/032_01.robot
index eb799b7f6abb756a3ea907b4b158f6ac305d9fd5..c27bb38fc10728313110b1e64de3d79fbd65c4f2 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/DeleteSubscription/032_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/DeleteSubscription/032_01.robot
@@ -1,16 +1,16 @@
*** Settings ***
Documentation Check that you cannot delete a subscription: If the subscription Id is not present or it is not a valid URI, then an error of type BadRequestData shall be raised
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Test Template Delete Subscription With Non present Or Invalid Id
*** Test Cases *** id
-NotPresentId [Tags] sub-delete 5_8_5
+032_01_01 NotPresentId [Tags] sub-delete 5_8_5
${EMPTY}
-InvalidId [Tags] sub-delete 5_8_5
+032_01_02 InvalidId [Tags] sub-delete 5_8_5
InvalidUri
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/DeleteSubscription/032_02.robot b/TP/NGSI-LD/ContextInformation/Subscription/DeleteSubscription/032_02.robot
index d9f6c5b98b60f74bcc462b9018635f0ad5d9f347..bf8a42681e1eeab008832957dd89cbb84fbb485f 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/DeleteSubscription/032_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/DeleteSubscription/032_02.robot
@@ -1,12 +1,12 @@
*** Settings ***
Documentation Check that you cannot delete a subscription: If the subscription id provided does not correspond to any existing subscription in the system then an error of type ResourceNotFound shall be raised
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
*** Test Cases ***
-Delete Unknown Subscription
+032_02_01 Delete Unknown Subscription
[Documentation] Check that you cannot delete a subscription: If the subscription id provided does not correspond to any existing subscription in the system then an error of type ResourceNotFound shall be raised
[Tags] sub-delete 5_8_5
${response}= Delete Subscription urn:ngsi-ld:Subscription:unknowSubscription
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/DeleteSubscription/032_03.robot b/TP/NGSI-LD/ContextInformation/Subscription/DeleteSubscription/032_03.robot
index ad4c89805ccc0484dc7eba760939fe9228b93e31..52011a916f68f237ac5db3ffe85bd8c4a43df97b 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/DeleteSubscription/032_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/DeleteSubscription/032_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can delete a subscription
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,7 +15,7 @@ ${subscription_payload_file_path}= subscriptions/subscription-sample.jsonld
*** Test Cases ***
-Delete Subscription
+032_03_01 Delete Subscription
[Documentation] Check that you can delete a subscription
[Tags] sub-delete 5_8_5
${response}= Delete Subscription ${subscription_id}
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/QuerySubscriptions/031_01.robot b/TP/NGSI-LD/ContextInformation/Subscription/QuerySubscriptions/031_01.robot
index f5706541757a22b22c7c9530f98628f2506e23fb..3a4f0f8486d60aa200ad03205d6e4d6a0a5da2f3 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/QuerySubscriptions/031_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/QuerySubscriptions/031_01.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can query a list of subscriptions
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,7 +18,7 @@ ${expectation_file_path}= subscriptions/expectations/subsc
*** Test Cases ***
-Query Subscriptions
+031_01_01 Query Subscriptions
[Documentation] Check that you can query a list of subscriptions
[Tags] sub-query 5_8_4
${response}= Query Subscriptions context=${ngsild_test_suite_context}
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/QuerySubscriptions/031_02.robot b/TP/NGSI-LD/ContextInformation/Subscription/QuerySubscriptions/031_02.robot
index bf56923cf4fb6ec0c46d8f895b331b35ade2d5f1..6b3f827eed113cc79c40b19178020736277d217f 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/QuerySubscriptions/031_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/QuerySubscriptions/031_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can query a list of subscriptions: Pagination logic shall be in place
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,13 +18,13 @@ ${third_subscription_payload_file_path}= subscriptions/subscription-inact
*** Test Cases *** LIMIT OFFSET EXPECTED_SUBSCRIPTION_NUMBER PREV_LINK NEXT_LINK
-Query Second Subscription
+031_02_01 Query Second Subscription
[Tags] sub-query 5_8_4
${1} ${1} ${1} ;rel="prev";type="application/ld+json" ;rel="next";type="application/ld+json"
-Query Last Subscription
+031_02_02 Query Last Subscription
[Tags] sub-query 5_8_4
${1} ${2} ${1} ;rel="prev";type="application/ld+json" ${EMPTY}
-Query All Subscriptions
+031_02_03 Query All Subscriptions
[Tags] sub-query 5_8_4
${15} ${0} ${3} ${EMPTY} ${EMPTY}
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/RetrieveSubscription/030_01.robot b/TP/NGSI-LD/ContextInformation/Subscription/RetrieveSubscription/030_01.robot
index 8159de2e2108e50317e0cc055fa936a85d4f1ce1..ae8f3a827ad598244c7a4a034640113215ae607d 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/RetrieveSubscription/030_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/RetrieveSubscription/030_01.robot
@@ -1,14 +1,14 @@
*** Settings ***
Documentation Check that you cannot retrieve a subscription if the subscription Id is not a valid URI, then an error of type BadRequestData shall be raised
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Test Template Retrieve Subscription With Non present Or Invalid Id
*** Test Cases *** id
-InvalidId [Tags] sub-retrieve 5_8_3
+030_01_01 InvalidId [Tags] sub-retrieve 5_8_3
InvalidUri
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/RetrieveSubscription/030_02.robot b/TP/NGSI-LD/ContextInformation/Subscription/RetrieveSubscription/030_02.robot
index 438aafe4c90cf543bf04217ce5b1bccaad9f38a0..c6102510dba8dc36a2f846f297d3aa76c521e561 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/RetrieveSubscription/030_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/RetrieveSubscription/030_02.robot
@@ -1,12 +1,12 @@
*** Settings ***
Documentation Check that you cannot retrieve a subscription: If the identifier provided does not correspond to any existing subscription in the system then an error of type ResourceNotFound shall be raised
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
*** Test Cases ***
-Retrieve Unknown Subscription
+030_02_01 Retrieve Unknown Subscription
[Documentation] Check that you cannot retrieve a subscription: If the identifier provided does not correspond to any existing subscription in the system then an error of type ResourceNotFound shall be raised
[Tags] sub-retrieve 5_8_3
${response}= Retrieve Subscription urn:ngsi-ld:Subscription:unknowSubscription
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/RetrieveSubscription/030_03.robot b/TP/NGSI-LD/ContextInformation/Subscription/RetrieveSubscription/030_03.robot
index 5689e01a148e5ad68f53c75cd1e0a7458e31c883..3d9dbc6e2e14409ca8862ef70a8fc3c7c5e096cc 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/RetrieveSubscription/030_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/RetrieveSubscription/030_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can retrieve a subscription
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +16,7 @@ ${expectation_file_path}= subscriptions/expectations/subscriptions
*** Test Cases ***
-Retrieve Subscription
+030_03_01 Retrieve Subscription
[Documentation] Check that you can retrieve a subscription
[Tags] sub-retrieve 5_8_3
${response}= Retrieve Subscription ${subscription_id} context=${ngsild_test_suite_context}
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_01.robot b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_01.robot
similarity index 83%
rename from TP/NGSI-LD/ContextInformation/Subscription/Notification/046_01.robot
rename to TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_01.robot
index 371d868d396dc2ba2fb239cdb434489cff5de1df..aea73282cda1f18c4004b5791339ca3bc8dd2670 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that a notification is only sent if and only if the status is active
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -16,21 +17,22 @@ ${subscription_payload_file_path}= subscriptions/subscription-building-enti
${building_id_prefix}= urn:ngsi-ld:Building:
${entity_building_filepath}= building-simple-attributes-sample.jsonld
${fragment_filename}= airQualityLevel-fragment.jsonld
-${notification_server_send_url}= http://${send_notification_server_host}:${send_notification_server_port}/notify
+${notification_server_send_url}= http://${notification_server_host}:${notification_server_port}/notify
*** Test Cases ***
-Check that a notification is only sent if status is active
+046_01_01 Check that a notification is only sent if status is active
[Documentation] Check that a notification is only sent if and only if the status is active
- [Tags] sub-notification 5_11_7 046_01
+ [Tags] sub-notification 5_8_6 046_01
Add Initial Entity
Sleep 1s
+
Setup Initial Subscriptions
Update Entity Attributes ${entity_id} ${fragment_filename} ${CONTENT_TYPE_LD_JSON}
- ${notification}= Wait for notification timeout=${10}
+ ${notification} ${headers}= Wait for notification timeout=${10}
Should be Equal ${subscription_id} ${notification}[subscriptionId]
Should be Equal ${entity_id} ${notification}[data][0][id]
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_02.robot b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_02.robot
similarity index 82%
rename from TP/NGSI-LD/ContextInformation/Subscription/Notification/046_02.robot
rename to TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_02.robot
index 9459cae7f61ec7b9d48e4ef78124326781ec9f10..1ae54eb5b76d48c55212a78db791342fb35c8360 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation If a Subscription defines a timeInterval member, a Notification shall be sent periodically, when the time interval (in seconds) specified in such value field is reached, regardless of Attribute changes.
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -12,24 +13,24 @@ Suite Teardown After Test
*** Variables ***
${subscription_id_prefix}= urn:ngsi-ld:Subscription:
-${subscription_payload_file_path}= subscriptions/subscription-timeInterval-sample-query.jsonld
+${subscription_payload_file_path}= subscriptions/subscription-timeInterval-sample.jsonld
${building_id_prefix}= urn:ngsi-ld:Building:
-${notification_server_send_url}= http://${send_notification_server_host}:${send_notification_server_port}/notify
+${notification_server_send_url}= http://${notification_server_host}:${notification_server_port}/notify
${entity_building_filepath}= building-simple-attributes-sample.jsonld
*** Test Cases ***
-Check that a notification is sent on the timeInterval
+046_02_01 Check that a notification is sent on the timeInterval
[Documentation] If a Subscription defines a timeInterval member, a Notification shall be sent periodically, when the time interval (in seconds) specified in such value field is reached, regardless of Attribute changes.
- [Tags] sub-notification 5_11_7 046_02
+ [Tags] sub-notification 5_8_6 046_02
Add Initial Entity
Sleep 1s
Setup Initial Subscriptions
- ${notification}= Wait for notification timeout=${15}
+ ${notification} ${headers}= Wait for notification timeout=${15}
- ${notification}= Wait for notification timeout=${15}
+ ${notification} ${headers}= Wait for notification timeout=${15}
Should be Equal ${subscription_id} ${notification}[subscriptionId]
Dictionary Should Contain Key ${notification} data
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_03.robot b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_03.robot
similarity index 77%
rename from TP/NGSI-LD/ContextInformation/Subscription/Notification/046_03.robot
rename to TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_03.robot
index 9378e768e2152e83ea7a96537a2e241e70f1f19c..55a3a61c1269384aeeb011943ac76ff160eabe3a 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_03.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation A notification with all subscribed Entities will be included if query or geoquery are not defined.
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -12,28 +13,31 @@ Suite Teardown After Test
*** Variables ***
${subscription_id_prefix}= urn:ngsi-ld:Subscription:
-${subscription_payload_file_path}= subscriptions/subscription-timeInterval-sample.jsonld
+${subscription_payload_file_path}= subscriptions/subscription-building-entities-default.jsonld
${building_id_prefix}= urn:ngsi-ld:Building:
-${notification_server_send_url}= http://${send_notification_server_host}:${send_notification_server_port}/notify
+${notification_server_send_url}= http://${notification_server_host}:${notification_server_port}/notify
${entity_building_filepath}= building-simple-attributes-sample.jsonld
+${fragment_filename}= airQualityLevel-fragment.jsonld
*** Test Cases ***
-Check that a notification is sent with all entities
+046_03_01 Check that a notification is sent with all entities
[Documentation] A notification with all subscribed Entities will be included if query or geoquery are not defined.
- [Tags] sub-notification 5_11_7 046_03
+ [Tags] sub-notification 5_8_6 046_03
Add Initial Entity
Sleep 1s
Setup Initial Subscriptions
- ${notification}= Wait for notification ${5}
+ Update Entity Attributes ${entity_id} ${fragment_filename} ${CONTENT_TYPE_LD_JSON}
+
+ ${notification} ${headers}= Wait for notification ${5}
Should be Equal ${subscription_id} ${notification}[subscriptionId]
Dictionary Should Contain Key ${notification} data
Should Not Be Empty ${notification}[data] Notification data should not be empty
Should be Equal ${entity_id} ${notification}[data][0][id]
Should be True
- ... '${notification}[data][0][airQualityLevel][value]'=='4.0' or '${notification}[data][0][airQualityLevel][value]'=='4'
+ ... '${notification}[data][0][airQualityLevel][value]'=='5.0' or '${notification}[data][0][airQualityLevel][value]'=='5'
Should be Equal Eiffel Tower ${notification}[data][0][name][value]
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_04.robot b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_04.robot
similarity index 84%
rename from TP/NGSI-LD/ContextInformation/Subscription/Notification/046_04.robot
rename to TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_04.robot
index fa8745c968473b231113a74bd4a58ba2e2075fa8..c3d91068ad2be82764a2500133f3a3f8f5ccb769 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_04.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_04.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation If a Subscription does not define a timeInterval member, the notification shall be sent whenever there is a change in the watched Attributes. The notification message shall include all the subscribed Entities that changed and that match (as mandated by clauses 4.9 and 4.10) the query and geoquery conditions
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -12,24 +13,24 @@ Suite Teardown After Test
*** Variables ***
${subscription_id_prefix}= urn:ngsi-ld:Subscription:
-${subscription_payload_file_path}= subscriptions/subscription-building-entities-active-watchedAttributes-query.jsonld
+${subscription_payload_file_path}= subscriptions/subscription-building-entities-active-watchedAttributes.jsonld
${building_id_prefix}= urn:ngsi-ld:Building:
-${notification_server_send_url}= http://${send_notification_server_host}:${send_notification_server_port}/notify
+${notification_server_send_url}= http://${notification_server_host}:${notification_server_port}/notify
${entity_building_filepath}= building-simple-attributes-sample.jsonld
${fragment_filename}= airQualityLevel-fragment.jsonld
*** Test Cases ***
-Check that a notification is sent with all entities
+046_04_01 Check that a notification is sent with all entities
[Documentation] The notification message shall include all the subscribed Entities that changed and that match (as mandated by clauses 4.9 and 4.10) the query and geoquery conditions
- [Tags] sub-notification 5_11_7 046_04
+ [Tags] sub-notification 5_8_6 046_04
Add Initial Entity
Sleep 1s
Setup Initial Subscriptions
Update Entity Attributes ${entity_id} ${fragment_filename} ${CONTENT_TYPE_LD_JSON}
- ${notification}= Wait for notification ${5}
+ ${notification} ${headers}= Wait for notification ${5}
Should be Equal ${subscription_id} ${notification}[subscriptionId]
Dictionary Should Contain Key ${notification} data
Should Not Be Empty ${notification}[data] Notification data should not be empty
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_05.robot b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_05.robot
similarity index 78%
rename from TP/NGSI-LD/ContextInformation/Subscription/Notification/046_05.robot
rename to TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_05.robot
index 1519846103361de764ef7ccd4f201f986434e44f..53bb74844337febdd21e144ee43a0f3b1ac0a1c2 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_05.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_05.robot
@@ -1,7 +1,8 @@
*** Settings ***
-Documentation If a Subscription does not define a timeInterval member, the notification shall be sent whenever there is a change in the watched Attributes. The notification message shall include all the subscribed Entities that changed and that match (as mandated by clauses 4.9 and 4.10) the query and geoquery conditions
+Documentation If a Subscription does not define a timeInterval member, the notification shall be sent whenever there is a change in the watched Attributes and the entity matches the q parameter. The notification message shall include all the subscribed Entities that changed and that match (as mandated by clauses 4.9 and 4.10) the query and geoquery conditions
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -12,24 +13,24 @@ Suite Teardown After Test
*** Variables ***
${subscription_id_prefix}= urn:ngsi-ld:Subscription:
-${subscription_payload_file_path}= subscriptions/subscription-building-entities-active-watchedAttributes.jsonld
+${subscription_payload_file_path}= subscriptions/subscription-building-entities-active-watchedAttributes-query.jsonld
${building_id_prefix}= urn:ngsi-ld:Building:
-${notification_server_send_url}= http://${send_notification_server_host}:${send_notification_server_port}/notify
+${notification_server_send_url}= http://${notification_server_host}:${notification_server_port}/notify
${entity_building_filepath}= building-simple-attributes-sample.jsonld
${fragment_filename}= airQualityLevel-fragment.jsonld
*** Test Cases ***
-Check that a notification is sent with all entities
+046_05_01 Check that a notification is sent with all entities
[Documentation] The notification message shall include all the subscribed Entities that changed and that match (as mandated by clauses 4.9 and 4.10) the query and geoquery conditions
- [Tags] sub-notification 5_11_7 046_05
+ [Tags] sub-notification 5_8_6 046_05
Add Initial Entity
Sleep 1s
Setup Initial Subscriptions
Update Entity Attributes ${entity_id} ${fragment_filename} ${CONTENT_TYPE_LD_JSON}
- ${notification}= Wait for notification ${5}
+ ${notification} ${headers}= Wait for notification ${5}
Should be Equal ${subscription_id} ${notification}[subscriptionId]
Dictionary Should Contain Key ${notification} data
Should Not Be Empty ${notification}[data] Notification data should not be empty
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_06.robot b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_06.robot
similarity index 68%
rename from TP/NGSI-LD/ContextInformation/Subscription/Notification/046_06.robot
rename to TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_06.robot
index a00726755e0b4bf30eda9bfae10a0627ca070cbb..7f9afb76d4b0c5a590f8cfd937a360dd27b63390 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_06.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_06.robot
@@ -1,7 +1,8 @@
*** Settings ***
-Documentation If a Subscription does not define a timeInterval member, the notification shall be sent whenever there is a change in the watched Attributes. The notification message shall include all the subscribed Entities that changed and that match (as mandated by clauses 4.9 and 4.10) the query and geoquery conditions
+Documentation If a Subscription does not define a timeInterval member, the notification shall be sent whenever an entity matches the query defined in the subscription. The notification message shall include all the subscribed Entities that changed and that match (as mandated by clauses 4.9 and 4.10) the query and geoquery conditions
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -15,19 +16,19 @@ ${subscription_id_prefix}= urn:ngsi-ld:Subscription:
${subscription_payload_file_path}= subscriptions/subscription-building-entities-active-query.jsonld
${building_id_prefix}= urn:ngsi-ld:Building:
${building_filename}= building-location-attribute.jsonld
-${notification_server_send_url}= http://${send_notification_server_host}:${send_notification_server_port}/notify
+${notification_server_send_url}= http://${notification_server_host}:${notification_server_port}/notify
*** Test Cases ***
-Check that a notification is sent with all matching entities
- [Documentation] only the subscribed Entities matching the query and watched attributes shall be included.
- [Tags] sub-notification 5_11_7 046_06
+046_06_01 Check that a notification is sent with all matching entities
+ [Documentation] Only the subscribed Entities matching the query shall be included.
+ [Tags] sub-notification 5_8_6 046_06
${entity_building}= Create Entity Selecting Content Type
... ${building_filename}
... ${entity_id}
... ${CONTENT_TYPE_LD_JSON}
- ${notification}= Wait for notification timeout=${10}
+ ${notification} ${headers}= Wait for notification timeout=${10}
Should be Equal ${subscription_id} ${notification}[subscriptionId]
Should be Equal ${entity_id} ${notification}[data][0][id]
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_07.robot b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_07.robot
similarity index 81%
rename from TP/NGSI-LD/ContextInformation/Subscription/Notification/046_07.robot
rename to TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_07.robot
index 9bd99774fdee7b0e5785cb746774409dbfdbe5c2..5893ecaa7bfebe3014d66d97013e1a035c742620 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_07.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_07.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that a notification is only sent if and only if the status is active
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -16,7 +17,7 @@ ${subscription_payload_file_path} subscriptions/subscripti
${subscription_payload_file_path_watchedAttributes} subscriptions/subscription-building-entities-active-watchedAttributes.jsonld
${subscription_payload_file_path_default_context} subscriptions/subscription-building-entities-active-default-context.jsonld
${building_id_prefix} urn:ngsi-ld:Building:
-${notification_server_send_url} http://${send_notification_server_host}:${send_notification_server_port}/notify
+${notification_server_send_url} http://${notification_server_host}:${notification_server_port}/notify
${entity_building_filepath} building-simple-attributes-sample.jsonld
${fragment_filename} airQualityLevel-fragment.jsonld
${date_format} %Y-%m-%dT%H:%M:%SZ
@@ -24,7 +25,7 @@ ${date_format_with_millis} %Y-%m-%dT%H:%M:%S.%fZ
*** Test Cases ***
-Check notification structure
+046_07_01 Check notification structure
[Documentation] The structure of the notification message shall be as mandated by clause 5.3. Valid notification with attributes as stated above
[Tags] sub-notification 5_8_6 046_07_01
Add Initial Entity
@@ -32,15 +33,14 @@ Check notification structure
Setup Initial Subscriptions
Update Entity Attributes ${entity_id} ${fragment_filename} ${CONTENT_TYPE_LD_JSON}
- ${notification}= Wait for notification
+ ${notification} ${headers}= Wait for notification
Should Be Equal ${notification}[type] Notification
Should Be Equal ${notification}[subscriptionId] ${subscription_id}
- ${is_date}= Is Date ${notification}[notifiedAt] ${date_format}
- ${is_date_with_millis}= Is Date ${notification}[notifiedAt] ${date_format_with_millis}
- Should Be True ${is_date} or ${is_date_with_millis}
+ ${notified_at_date}= Parse Ngsild Date ${notification}[notifiedAt]
+ Should Not Be Equal ${notified_at_date} ${None}
[Teardown] Delete Fixture Data
-Check correct attributes are included
+046_07_02 Check correct attributes are included
[Documentation] The structure of the notification message shall be as mandated by clause 5.3. The Entity Attributes included (Properties or Relationships) shall be those specified by the notification.attributes member in the Subscription data type (clause 5.2.12).
[Tags] sub-notification 5_8_6 046_07_02
Add Initial Entity
@@ -48,16 +48,15 @@ Check correct attributes are included
Setup Initial Subscriptions ${subscription_payload_file_path_watchedAttributes}
Update Entity Attributes ${entity_id} ${fragment_filename} ${CONTENT_TYPE_LD_JSON}
- ${notification}= Wait for notification
+ ${notification} ${headers}= Wait for notification
Should Be Equal ${notification}[type] Notification
Should Be Equal ${notification}[subscriptionId] ${subscription_id}
- ${is_date}= Is Date ${notification}[notifiedAt] ${date_format}
- ${is_date_with_millis}= Is Date ${notification}[notifiedAt] ${date_format_with_millis}
- Should Be True ${is_date} or ${is_date_with_millis}
+ ${notified_at_date}= Parse Ngsild Date ${notification}[notifiedAt]
+ Should Not Be Equal ${notified_at_date} ${None}
Dictionary Should Contain Key ${notification}[data][0] airQualityLevel
[Teardown] Delete Fixture Data
-Check URI expansion is observed
+046_07_03 Check URI expansion is observed
[Documentation] The structure of the notification message shall be as mandated by clause 5.3. URI expansion shall be observed (clause 5.5.7).
[Tags] sub-notification 5_8_6 046_07_03
Add Initial Entity
@@ -65,12 +64,11 @@ Check URI expansion is observed
Setup Initial Subscriptions ${subscription_payload_file_path_default_context}
Update Entity Attributes ${entity_id} ${fragment_filename} ${CONTENT_TYPE_LD_JSON}
- ${notification}= Wait for notification
+ ${notification} ${headers}= Wait for notification
Should Be Equal ${notification}[type] Notification
Should Be Equal ${notification}[subscriptionId] ${subscription_id}
- ${is_date}= Is Date ${notification}[notifiedAt] ${date_format}
- ${is_date_with_millis}= Is Date ${notification}[notifiedAt] ${date_format_with_millis}
- Should Be True ${is_date} or ${is_date_with_millis}
+ ${notified_at_date}= Parse Ngsild Date ${notification}[notifiedAt]
+ Should Not Be Equal ${notified_at_date} ${None}
Dictionary Should Contain Key ${notification}[data][0] https://ngsi-ld-test-suite/context#airQualityLevel
[Teardown] Delete Fixture Data
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_08.robot b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_08.robot
similarity index 89%
rename from TP/NGSI-LD/ContextInformation/Subscription/Notification/046_08.robot
rename to TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_08.robot
index 33a1751c0224d9448695f323e71ba3573e54e79a..397f05dde80124aeb911f7f41fc4fb532abb257c 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_08.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_08.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that a notification is only sent if and only if the status is active
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -14,13 +15,13 @@ Suite Teardown After Test
${subscription_id_prefix}= urn:ngsi-ld:Subscription:
${subscription_payload_file_path}= subscriptions/subscription-building-entities-active.jsonld
${building_id_prefix}= urn:ngsi-ld:Building:
-${notification_server_send_url}= http://${send_notification_server_host}:${send_notification_server_port}/notify
+${notification_server_send_url}= http://${notification_server_host}:${notification_server_port}/notify
${entity_building_filepath}= building-simple-attributes-sample.jsonld
${fragment_filename}= airQualityLevel-fragment.jsonld
*** Test Cases ***
-Check that a notification is sent with all attributes
+046_08_01 Check that a notification is sent with all attributes
[Documentation] The structure of the notification message shall be as mandated by clause 5.3.1. The absence of the notification.attributes member of a Subscription means that all Entity Attributes shall be included. All attributes are included
[Tags] sub-notification 5_8_6 046_08_01
@@ -30,7 +31,7 @@ Check that a notification is sent with all attributes
Update Entity Attributes ${entity_id} ${fragment_filename} ${CONTENT_TYPE_LD_JSON}
- ${notification}= Wait for notification ${5}
+ ${notification} ${headers}= Wait for notification ${5}
Should be Equal ${subscription_id} ${notification}[subscriptionId]
Dictionary Should Contain Key ${notification} data
@@ -42,7 +43,7 @@ Check that a notification is sent with all attributes
Dictionary Should Contain Key ${notification}[data][0] subCategory
[Teardown] Delete Fixture Data
-Check that a notification is sent with all attributes in simplified format
+046_08_02 Check that a notification is sent with all attributes in simplified format
[Documentation] The structure of the notification message shall be as mandated by clause 5.3.1. The absence of the notification.attributes member of a Subscription means that all Entity Attributes shall be included If the notification.format member value is "keyValues" then a simplified representation of the entities (as mandated by clause 4.5.3) shall be provided
[Tags] sub-notification 5_8_6 046_08_02
@@ -62,7 +63,7 @@ Check that a notification is sent with all attributes in simplified format
Update Entity Attributes ${entity_id} ${fragment_filename} ${CONTENT_TYPE_LD_JSON}
- ${notification}= Wait for notification ${5}
+ ${notification} ${headers}= Wait for notification ${5}
Should be Equal ${subscription_id} ${notification}[subscriptionId]
Dictionary Should Contain Key ${notification} data
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_09.robot b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_09.robot
similarity index 70%
rename from TP/NGSI-LD/ContextInformation/Subscription/Notification/046_09.robot
rename to TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_09.robot
index 588e9d483f8df632bae3b3b9f002555c33e6ee98..4478fa41ed2854b0c6da632789a4b327b21ec506 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_09.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_09.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation A Notification shall be sent (as mandated by each concrete binding and including any optional endpoint.info defined by clause 5.2.22) to the endpoint specified by the endpoint.uri member of the notification structure defined by clause 5.2.14
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -11,18 +12,18 @@ Suite Teardown After Test
*** Variables ***
-${subscription_id_prefix}= urn:ngsi-ld:Subscription:
-${subscription_payload_file_path}= subscriptions/subscription-building-entities-active.jsonld
-${building_id_prefix}= urn:ngsi-ld:Building:
-${entity_building_filepath}= building-simple-attributes-sample.jsonld
-${fragment_filename}= airQualityLevel-fragment.jsonld
-${notification_server_send_url}= http://${send_notification_server_host}:${send_notification_server_port}/notify
+${subscription_id_prefix} urn:ngsi-ld:Subscription:
+${subscription_payload_file_path} subscriptions/subscription-building-entities-active-endpoint-info.jsonld
+${building_id_prefix} urn:ngsi-ld:Building:
+${entity_building_filepath} building-simple-attributes-sample.jsonld
+${fragment_filename} airQualityLevel-fragment.jsonld
+${notification_server_send_url} http://${notification_server_host}:${notification_server_port}/notify
*** Test Cases ***
-Check that a notification is sent to the endpoint
+046_09_01 Check that a notification is sent to the endpoint
[Documentation] A Notification shall be sent (as mandated by each concrete binding and including any optional endpoint.info defined by clause 5.2.22) to the endpoint specified by the endpoint.uri member of the notification structure defined by clause 5.2.1
- [Tags] sub-notification 5_11_7 046_09
+ [Tags] sub-notification 5_8_6 046_09
Add Initial Entity
Sleep 1s
@@ -30,7 +31,8 @@ Check that a notification is sent to the endpoint
Update Entity Attributes ${entity_id} ${fragment_filename} ${CONTENT_TYPE_LD_JSON}
- ${notification}= Wait for notification timeout=${10}
+ ${notification} ${headers}= Wait for notification timeout=${10}
+ Dictionary Should Contain Key ${headers} X-Additional-Key
*** Keywords ***
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_10.robot b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_10.robot
similarity index 66%
rename from TP/NGSI-LD/ContextInformation/Subscription/Notification/046_10.robot
rename to TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_10.robot
index 5b74fc305f12ade83fd1a566edd9f84e583cb0fb..785bc200f83ddba8bb79515184dcfe86da51a8f8 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_10.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_10.robot
@@ -1,7 +1,8 @@
*** Settings ***
-Documentation A Notification shall be sent (as mandated by each concrete binding and including any optional endpoint.info defined by clause 5.2.22) to the endpoint specified by the endpoint.uri member of the notification structure defined by clause 5.2.14
+Documentation The Notification content shall be JSON by default.
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -16,14 +17,14 @@ ${subscription_payload_file_path} subscriptions/subscription-building-enti
${building_id_prefix} urn:ngsi-ld:Building:
${entity_building_filepath} building-simple-attributes-sample.jsonld
${fragment_filename} airQualityLevel-fragment.jsonld
-${notification_server_send_url} http://${send_notification_server_host}:${send_notification_server_port}/notify
+${notification_server_send_url} http://${notification_server_host}:${notification_server_port}/notify
${expected_header_links} <${ngsild_test_suite_context}>; rel="http://www.w3.org/ns/json-ld#context"; type="application/ld+json"
*** Test Cases ***
-Check that a notification is JSON
- [Documentation] The Notification content shall be JSON by default
- [Tags] sub-notification 5_11_7 046_10
+046_10_01 Check that the notification is sent as JSON
+ [Documentation] The Notification shall be sent as JSON
+ [Tags] sub-notification 5_8_6 046_10
Add Initial Entity
Sleep 1s
@@ -31,16 +32,10 @@ Check that a notification is JSON
Update Entity Attributes ${entity_id} ${fragment_filename} ${CONTENT_TYPE_LD_JSON}
- Wait For Request timeout=${10}
- Reply By 200
+ ${notification} ${headers}= Wait for notification timeout=${10}
- ${notification_headers}= Get Request Headers
- ${notification_headers_dict}= Convert To Dictionary ${notification_headers}
- Dictionary Should Contain Item ${notification_headers_dict} Link ${expected_header_links}
+ Dictionary Should Contain Item ${headers} Link ${expected_header_links}
- ${notification_payload}= Get Request Body
- # json.loads parses the payload as json. It fails if the payload is malformed
- ${notification}= Evaluate json.loads('''${notification_payload}''') json
Dictionary Should Not Contain Key ${notification}[data][0] @context
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_11.robot b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_11.robot
similarity index 87%
rename from TP/NGSI-LD/ContextInformation/Subscription/Notification/046_11.robot
rename to TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_11.robot
index d9d7b847166ec9a760057ac8b15d58874d70a6c2..76a9c22e20f6e1d53d5565239940823ac3a13d33 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_11.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_11.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation A Notification shall be sent (as mandated by each concrete binding and including any optional endpoint.info defined by clause 5.2.22) to the endpoint specified by the endpoint.uri member of the notification structure defined by clause 5.2.14
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -16,15 +17,15 @@ ${subscription_payload_file_path}= subscriptions/subscription-building-enti
${building_id_prefix}= urn:ngsi-ld:Building:
${entity_building_filepath}= building-simple-attributes-sample.jsonld
${fragment_filename}= airQualityLevel-fragment.jsonld
-${notification_server_send_url}= http://${send_notification_server_host}:${send_notification_server_port}/notify
+${notification_server_send_url}= http://${notification_server_host}:${notification_server_port}/notify
${date_format}= %Y-%m-%dT%H:%M:%SZ
${date_format_with_millis}= %Y-%m-%dT%H:%M:%S.%fZ
*** Test Cases ***
-Check that timesSent is increased by one
+046_11_01 Check that timesSent is increased by one
[Documentation] The notification.timesSent member shall be incremented by one.
- [Tags] sub-notification 5_11_7 046_11
+ [Tags] sub-notification 5_8_6 046_11
Add Initial Entity
Sleep 1s
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_12.robot b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_12.robot
similarity index 79%
rename from TP/NGSI-LD/ContextInformation/Subscription/Notification/046_12.robot
rename to TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_12.robot
index 9a7ecead149afe2790268de1a3771946d5a04d07..7dd5003d1dbd88b2b2c3a41a0a2553b9f061ef78 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_12.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_12.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation A Notification shall be sent (as mandated by each concrete binding and including any optional endpoint.info defined by clause 5.2.22) to the endpoint specified by the endpoint.uri member of the notification structure defined by clause 5.2.14
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -16,13 +17,13 @@ ${subscription_payload_file_path}= subscriptions/subscription-building-enti
${building_id_prefix}= urn:ngsi-ld:Building:
${entity_building_filepath}= building-simple-attributes-sample.jsonld
${fragment_filename}= airQualityLevel-fragment.jsonld
-${notification_server_send_url}= http://${send_notification_server_host}:${send_notification_server_port}/notify
+${notification_server_send_url}= http://${notification_server_host}:${notification_server_port}/notify
*** Test Cases ***
-Check that lastNotification is updated
+046_12_01 Check that lastNotification is updated
[Documentation] The status, lastNotification and lastSuccess members shall be updated with expected value and dates. This test will check these formats.
- [Tags] sub-notification 5_11_7 046_12
+ [Tags] sub-notification 5_8_6 046_12
Add Initial Entity
Sleep 1s
@@ -43,14 +44,12 @@ Check that lastNotification is updated
Should Be Equal ok ${notification_info}[0][status]
Dictionary Should Contain Key ${notification_info}[0] lastNotification
- ${is_date}= Is Date ${notification_info}[0][lastNotification] ${date_format}
- ${is_date_with_millis}= Is Date ${notification_info}[0][lastNotification] ${date_format_with_millis}
- Should Be True ${is_date} or ${is_date_with_millis}
+ ${last_notification_date}= Parse Ngsild Date ${notification_info}[0][lastNotification]
+ Should Not Be Equal ${last_notification_date} ${None}
Dictionary Should Contain Key ${notification_info}[0] lastSuccess
- ${is_date}= Is Date ${notification_info}[0][lastSuccess] ${date_format}
- ${is_date_with_millis}= Is Date ${notification_info}[0][lastSuccess] ${date_format_with_millis}
- Should Be True ${is_date} or ${is_date_with_millis}
+ ${last_success_date}= Parse Ngsild Date ${notification_info}[0][lastSuccess]
+ Should Not Be Equal ${last_success_date} ${None}
*** Keywords ***
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_13.robot b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_13.robot
similarity index 85%
rename from TP/NGSI-LD/ContextInformation/Subscription/Notification/046_13.robot
rename to TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_13.robot
index 1cb6c606ba66146ef01e2644c990e814a9d32ff6..6007a7ab9d39869800d244af0b58498b648b7fca 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_13.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_13.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation If the response to the notification request is different than 200 OK then implementations shall: Update notification.lastFailure with a timestamp representing the current date and time, update notification.status to "failed"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -20,9 +21,9 @@ ${fragment_filename}= airQualityLevel-fragment.jsonld
*** Test Cases ***
-Check that lastFailure and status are updated if a notification could not be sent
+046_13_01 Check that lastFailure and status are updated if a notification could not be sent
[Documentation] If the response to the notification request is different than 200 OK then implementations shall: Update notification.lastFailure with a timestamp representing the current date and time, update notification.status to "failed"
- [Tags] sub-notification 5_11_7 046_13
+ [Tags] sub-notification 5_8_6 046_13
@{expected_notification_data_entities}= Create List Building
Update Entity Attributes ${entity_id} ${fragment_filename} ${CONTENT_TYPE_LD_JSON}
@@ -40,9 +41,8 @@ Check that lastFailure and status are updated if a notification could not be sen
Should Be Equal failed ${notification_info}[0][status]
Dictionary Should Contain Key ${notification_info}[0] lastFailure
- ${is_date}= Is Date ${notification_info}[0][lastFailure] ${date_format}
- ${is_date_with_millis}= Is Date ${notification_info}[0][lastFailure] ${date_format_with_millis}
- Should Be True ${is_date} or ${is_date_with_millis}
+ ${last_failure_date}= Parse Ngsild Date ${notification_info}[0][lastFailure]
+ Should Not Be Equal ${last_failure_date} ${None}
*** Keywords ***
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_14.robot b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_14.robot
similarity index 80%
rename from TP/NGSI-LD/ContextInformation/Subscription/Notification/046_14.robot
rename to TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_14.robot
index dcb7ec3d75168d5d2b017f7f6903370d36fb47c5..05fe6d3feb3398fe8b9274216f726bf67834c42e 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/Notification/046_14.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/SubscriptionNotificationBehaviour/046_14.robot
@@ -1,7 +1,8 @@
*** Settings ***
-Documentation A Notification shall be sent (as mandated by each concrete binding and including any optional endpoint.info defined by clause 5.2.22) to the endpoint specified by the endpoint.uri member of the notification structure defined by clause 5.2.14
+Documentation The Notification content shall be JSON-LD when endpoint.accept is set to JSON-LD
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -16,13 +17,13 @@ ${subscription_payload_file_path} subscriptions/subscription-building-enti
${building_id_prefix} urn:ngsi-ld:Building:
${entity_building_filepath} building-simple-attributes-sample.jsonld
${fragment_filename} airQualityLevel-fragment.jsonld
-${notification_server_send_url} http://${send_notification_server_host}:${send_notification_server_port}/notify
+${notification_server_send_url} http://${notification_server_host}:${notification_server_port}/notify
*** Test Cases ***
-Check that a notification is sent as JSON-LD
- [Documentation] The Notification content shall be JSON-LD when we set endpoint.accept to 'application/ld+json'
- [Tags] sub-notification 5_11_7 046_14
+046_14_01 Check that a notification is sent as JSON-LD
+ [Documentation] The Notification content shall be JSON-LD when endpoint.accept is set to JSON-LD
+ [Tags] sub-notification 5_8_6 046_14
Add Initial Entity
Sleep 1s
@@ -30,7 +31,7 @@ Check that a notification is sent as JSON-LD
Update Entity Attributes ${entity_id} ${fragment_filename} ${CONTENT_TYPE_LD_JSON}
- Wait For Request timeout=${10}
+ Wait For Notification timeout=${10}
Reply By 200
${notification_headers}= Get Request Headers
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_01.robot b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_01.robot
index 4f2e1a3e351daf96e6801cb722d9e80da58764ae..9af5deda5eb0ca4cc2048d299b5ad7dc6724b632 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_01.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_01.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot update a subcription: If the Subscription id is not present or it is not a valid URI, then an error of type BadRequestData shall be raised
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -13,9 +13,9 @@ ${subscription_update_fragment_file_path}= subscriptions/fragments/subscrip
*** Test Cases *** id
-NotPresentId [Tags] sub-update 5_8_2
+029_01_01 NotPresentId [Tags] sub-update 5_8_2
${EMPTY}
-InvalidId [Tags] sub-update 5_8_2
+029_01_02 InvalidId [Tags] sub-update 5_8_2
InvalidUri
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_02.robot b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_02.robot
index a4ad298fb2748357abba28361278f472df1bd35a..551020eb9db494d04206fe03ff2c70dbe984c8d7 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_02.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot update a subscription: If the NGSI-LD System does not know about the target Subscription, because there is no existing Subscription whose id (URI) is equivalent, an error of type ResourceNotFound shall be raised
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -11,7 +11,7 @@ ${subscription_update_fragment_file_path}= subscriptions/fragments/subscrip
*** Test Cases ***
-Update Unknown Subscription
+029_02_01 Update Unknown Subscription
[Documentation] Check that you cannot update a subscription: If the NGSI-LD System does not know about the target Subscription, because there is no existing Subscription whose id (URI) is equivalent, an error of type ResourceNotFound shall be raised
[Tags] sub-update 5_8_2
${response}= Update Subscription
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_03.robot b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_03.robot
index 63869f67e78d84cf591d1d2a5b03e38e9504afe3..6463410c38fd8788fb4561ae0260b8dc346b9f60 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_03.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot update a subcription: If the data types and restriction are not met by the Subscription Fragment, then an error of type BadRequestData shall be raised
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +16,7 @@ ${subscription_update_fragment_file_path}= subscriptions/fragments/subscrip
*** Test Cases ***
-Update Subscription With Invalid Fragment
+029_03_01 Update Subscription With Invalid Fragment
[Documentation] Check that you cannot update a subcription: If the data types and restriction are not met by the Subscription Fragment, then an error of type BadRequestData shall be raised
[Tags] sub-update 5_8_2
${response}= Update Subscription
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_04.robot b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_04.robot
index da9c634d40847a71b726429150addaa2b6dab429..f77a9d5552f1a6aa71ee57d5376e3cffe2cef112 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_04.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_04.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot update a subscription: Any attempt to remove (by setting them to null in the Fragment) mandatory properties of a Subscription (clause 5.2.12) shall result in an error of type BadRequestData
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +16,7 @@ ${subscription_update_fragment_file_path}= subscriptions/fragments/subscrip
*** Test Cases ***
-Update Subscription With Null Mandatory Properties
+029_04_01 Update Subscription With Null Mandatory Properties
[Documentation] Check that you cannot update a subscription: Any attempt to remove (by setting them to null in the Fragment) mandatory properties of a Subscription (clause 5.2.12) shall result in an error of type BadRequestData
[Tags] sub-update 5_8_2
${response}= Update Subscription
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_05.robot b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_05.robot
index 340d4fcd495aea9b2396fb2ff1b74f4b6c97c6df..072ddd0f077dc344230d67bcf982de5aadb01492 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_05.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_05.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can update a subcription: Term to URI expansion of Attribute names shall be observed
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,7 +18,7 @@ ${expected_expanded_subscription_payload_file_path}= subscriptions/expectatio
*** Test Cases ***
-Update Subscription With Term to Uri Expansion
+029_05_01 Update Subscription With Term to Uri Expansion
[Documentation] Check that you can update a subcription: Term to URI expansion of Attribute names shall be observed
[Tags] sub-update 5_8_2
${response}= Update Subscription
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_06.robot b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_06.robot
index 606ecfebf96179769aa91ea16b74c1c621fe1b6a..b5c22a8437a8af5711a91ed3898e73725e26bc73 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_06.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_06.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can update a subcription: The implementation shall modify the target Subscription
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +16,7 @@ ${subscription_update_fragment_file_path}= subscriptions/fragments/subscrip
*** Test Cases ***
-Update Subscription
+029_06_01 Update Subscription
[Documentation] Check that you can update a subcription: The implementation shall modify the target Subscription
[Tags] sub-update 5_8_2
${response}= Update Subscription
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_07.robot b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_07.robot
index 6b1a4158e5059a798ff16c160f558c9acfd06dda..d3815a65860242736276b80a986dcbd374199eb6 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_07.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_07.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can update a subscription: If isActive is equal to true and expiresAt is not present, then status shall be updated to "active", if and only if, the previous value of status was different than "expired"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +16,7 @@ ${subscription_payload_file_path}= subscriptions/subscription-inactive-samp
*** Test Cases *** SUBSCRIPTION_UPDATE_FRAGMENT_FILE_PATH
-ActiveTrue [Tags] sub-update 5_8_2
+029_07_01 ActiveTrue [Tags] sub-update 5_8_2
subscriptions/fragments/subscription-isActive-true-update-sample.json
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_08.robot b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_08.robot
index ad62120ed97ed10b580e20a127a7d4bb7609e1e4..cf2be65011f6355f207cd19494b87c95385d652b 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_08.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_08.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can update a subcription: If isActive is equal to true and expiresAt corresponds to a DateTime in the future, then status shall be updated to "active"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +16,7 @@ ${subscription_payload_file_path}= subscriptions/subscription-inactive-samp
*** Test Cases *** SUBSCRIPTION_UPDATE_FRAGMENT_FILE_PATH
-ActiveTrueExpiresAt
+029_08_01 ActiveTrueExpiresAt
[Tags] sub-update 5_8_2
subscriptions/fragments/subscription-isActive-expiresAt-update-sample.json
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_09.robot b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_09.robot
index 024d6d12a79c97a86f8206a92e5e3423c1eb5178..1049328d8c0e8a15693f37736a9accab845ec8ea 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_09.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_09.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can update a subscription: If isActive is equal to false and expiresAt is not present, then status shall be updated to "paused", if and only if, the previous value of status was different than "expired"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +16,7 @@ ${subscription_update_fragment_file_path}= subscriptions/fragments/subscrip
*** Test Cases ***
-Update Subscription Status To Paused
+029_09_01 Update Subscription Status To Paused
[Documentation] Check that you can update a subscription: If isActive is equal to false and expiresAt is not present, then status shall be updated to "paused", if and only if, the previous value of status was different than "expired"
[Tags] sub-update 5_8_2
${response}= Update Subscription
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_10.robot b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_10.robot
index aeb29fa0184f01bcb58d5890b37d8cddc6c76f61..19bcd40d32ce20f29470bd29abf468c5f7e4f522 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_10.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_10.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can update a subscription: If only expiresAt is included and refers to a DateTime in the future, then status shall be updated to "active", if and only if the previous value of status was "expired"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +16,7 @@ ${subscription_update_fragment_file_path} subscriptions/fragments/subscrip
*** Test Cases ***
-Activate Expired Subscription
+029_10_01 Activate Expired Subscription
[Documentation] Check that you can update a subscription: If only expiresAt is included and refers to a DateTime in the future, then status shall be updated to "active", if and only if the previous value of status was "expired"
[Tags] sub-update 5_8_2
# Update subscription to expire in 5 seconds
diff --git a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_11.robot b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_11.robot
index 480bc93196d07935054f5911bd3fb89aa0c90d07..794e10480f9812fb6f18df6a64f45d248075fdd8 100644
--- a/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_11.robot
+++ b/TP/NGSI-LD/ContextInformation/Subscription/UpdateSubscription/029_11.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot update a subscription: If expiresAt is included but referring to a DateTime in the past, then a BadRequestData error shall be raised
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +16,7 @@ ${subscription_update_fragment_file_path}= subscriptions/fragments/subscrip
*** Test Cases ***
-Update Subscription With ExpiresAt In The Past
+029_11_01 Update Subscription With ExpiresAt In The Past
[Documentation] Check that you cannot update a subscription: If expiresAt is included but referring to a DateTime in the past, then a BadRequestData error shall be raised
[Tags] sub-update 5_8_2
${response}= Update Subscription
diff --git a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_01.robot b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_01.robot
similarity index 93%
rename from TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_01.robot
rename to TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_01.robot
index 31f846be1afa497455fa0386e764eec96f2126d8..b3190fb2c30805801670ae3fbed0fa861b672a74 100644
--- a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_01.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query context source registrations if at least one of list of Entity Types or list of Attribute names is present
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,10 +18,10 @@ ${second_context_source_registration_payload_file_path}= csourceRegistrations
*** Test Cases *** QUERY_PARAM_NAME QUERY_PARAM_VALUE EXPECTATION_FILE_PATH EXPECTED_CONTEXT_SOURCE_REGISTRATION_IDS
-With list of entity types
+037_01_01 With list of entity types
[Tags] csr-query 5_10_2
type Building csourceRegistrations/expectations/context-source-registrations-037-01-expectation.json ${first_context_source_registration_id} ${second_context_source_registration_id}
-With list of attribute names
+037_01_02 With list of attribute names
[Tags] csr-query 5_10_2
attrs name csourceRegistrations/expectations/context-source-registrations-037-01-expectation.json ${second_context_source_registration_id}
diff --git a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_02.robot b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_02.robot
similarity index 85%
rename from TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_02.robot
rename to TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_02.robot
index 2a442f8838f56316799221e10923c801fa29ac61..6c0c788ec7fa9cf0acc5e956ee078f655eb39632 100644
--- a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_02.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_02.robot
@@ -1,13 +1,13 @@
*** Settings ***
Documentation Check that you cannot query context source registrations, if neither Entity types nor Attribute names are provided, an error of type 400 shall be raised.
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
*** Test Cases ***
-Query Context Source Registrations Without Entity Types and Attribute Names
+037_02_01 Query Context Source Registrations Without Entity Types and Attribute Names
[Documentation] Check that you cannot query context source registrations, if neither Entity types nor Attribute names are provided, an error of type 400 shall be raised.
[Tags] csr-query 5_10_2
${response}= Query Context Source Registrations context=${ngsild_test_suite_context}
diff --git a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_03.robot b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_03.robot
similarity index 89%
rename from TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_03.robot
rename to TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_03.robot
index 295a264f53d7ca2b0dcec1d5f143b87f67bc935f..a0faf22d73e9d62328e6f96aa6ec168ab9f2df91 100644
--- a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_03.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot query context source registrations, if the list of Entity identifiers includes a URI which it is not valid, or the query, geo-query or temporal query are not syntactically valid
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -9,16 +9,16 @@ Test Template Query Context Source Registration With Invalid Query Param
*** Test Cases *** QUERY_PARAM_NAME QUERY_PARAM_VALUE
-Invalid URI
+037_03_01 Invalid URI
[Tags] csr-query 5_10_2
id invalidUri
-Invalid Query
+037_03_02 Invalid Query
[Tags] csr-query 5_10_2
q invalidQuery
-Invalid GeoQuery
+037_03_03 Invalid GeoQuery
[Tags] csr-query 5_10_2
georel within
-Invalid Temporal Query
+037_03_04 Invalid Temporal Query
[Tags] csr-query 5_10_2
timerel before
diff --git a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_04.robot b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_04.robot
similarity index 90%
rename from TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_04.robot
rename to TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_04.robot
index 200574a35a8c52abaec9f0b3343b73f7c0e046d0..4430c7fec1f913e563e649fa41a0817bec39509a 100644
--- a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_04.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_04.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query context source registrations. If a JSON-LD context is not provided, then all the query terms shall be resolved against the default JSON-LD @context
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${expectation_file_path}= csourceRegistrations/exp
*** Test Cases ***
-Query Context Source Registrations Without Context
+037_04_01 Query Context Source Registrations Without Context
[Documentation] Check that you can query context source registrations. If a JSON-LD context is not provided, then all the query terms shall be resolved against the default JSON-LD @context
[Tags] csr-query 5_10_2
${response}= Query Context Source Registrations id=${context_source_registration_id}
diff --git a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_05.robot b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_05.robot
similarity index 89%
rename from TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_05.robot
rename to TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_05.robot
index 97e3074b033766485e3cb05c4a2d60b56028bc16..cfb155833227452447e126167330c7f710447be0 100644
--- a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_05.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_05.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query context source registrations matching EntityInfo of RegistrationInfo
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,10 +15,10 @@ ${context_source_registration_id_prefix}= urn:ngsi-ld:ContextSourceRegistr
*** Test Cases *** REGISTRATION_FILE_PATH EXPECTATION_FILE_PATH
-Registration With EntityInfo Matching The Query
+037_05_01 Registration With EntityInfo Matching The Query
[Tags] csr-query 5_10_2
csourceRegistrations/context-source-registration-sample.jsonld csourceRegistrations/expectations/context-source-registrations-037-05-01-expectation.json
-Registration Without EntityInfo
+037_05_02 Registration Without EntityInfo
[Tags] csr-query 5_10_2
csourceRegistrations/context-source-registration-with-only-properties-information-sample.jsonld csourceRegistrations/expectations/context-source-registrations-037-05-02-expectation.json
diff --git a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_06.robot b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_06.robot
similarity index 90%
rename from TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_06.robot
rename to TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_06.robot
index 770221b186a3bd4443d92df8da9e972045a9b967..4c25d9f666ab67ce16cd0e941d4f21156344489d 100644
--- a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_06.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_06.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query context source registrations matching property and relationship names of RegistrationInfo
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,10 +17,10 @@ ${context_source_registration_payload_file_path}= csourceRegistrations/con
*** Test Cases *** ATTRS_VALUE EXPECTATION_FILE_PATH
-Query With Matching Properties And Relationships
+037_06_01 Query With Matching Properties And Relationships
[Tags] csr-query 5_10_2
name,locatedAt csourceRegistrations/expectations/context-source-registrations-037-06-expectation.json
-Query Without Properties And Relationships
+037_06_02 Query Without Properties And Relationships
[Tags] csr-query 5_10_2
${EMPTY} csourceRegistrations/expectations/context-source-registrations-037-06-expectation.json
diff --git a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_07.robot b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_07.robot
similarity index 91%
rename from TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_07.robot
rename to TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_07.robot
index 59b262363c99ec101c551915fd61d3dc96d91507..b544645521282dba9c07762548033b9ad73dccb2 100644
--- a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_07.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_07.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query context source registrations. If present, the geoquery is matched against the GeoProperty programmatic parameter identified in the geoquery
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,9 +18,9 @@ ${expectation_file_path}= csourceRegistrations/exp
*** Test Cases *** GEOREL GEOMETRY COORDINATES GEOPROPERTY EXPECTATION_FILE_PATH
-Near Point [Tags] csr-query 5_10_2
+037_07_01 Near Point [Tags] csr-query 5_10_2
near;maxDistance==2000 Point [-8.503,41.202] ${EMPTY} ${expectation_file_path}
-Within Polygon [Tags] csr-query 5_10_2
+037_07_02 Within Polygon [Tags] csr-query 5_10_2
within Polygon [[-13.503,47.202],[6.541, 52.961],[20.37,44.653],[9.46,32.57],[-15.23,21.37]] location ${expectation_file_path}
diff --git a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_08.robot b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_08.robot
similarity index 90%
rename from TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_08.robot
rename to TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_08.robot
index b1fe80c5884706294bc93ee6404283701b106a61..f7d43d632b9fd20bb7ba283937ead05fc8ef16ab 100644
--- a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_08.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_08.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query context source registrations. If no temporal query is present, only Context Source Registrations for Context Sources providing latest information are considered
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${expectation_file_path}= csourceRegistrations/exp
*** Test Cases ***
-Query Context Source Registration Without Temporal Query
+037_08_01 Query Context Source Registration Without Temporal Query
[Documentation] Check that you can query context source registrations. If no temporal query is present, only Context Source Registrations for Context Sources providing latest information are considered
[Tags] csr-query 5_10_2
${response}= Query Context Source Registrations context=${ngsild_test_suite_context} type=Building
diff --git a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_09.robot b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_09.robot
similarity index 90%
rename from TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_09.robot
rename to TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_09.robot
index 619e3ba781d414f2856eba996a5b34277275f932..15fcfa2efb251e1362944ae7d4f14fe04cc8fdcc 100644
--- a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_09.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_09.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query context source registrations. If present, the temporal query is matched against the observationInterval or the managementInterval
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,16 +19,16 @@ ${management_interval_expectation_file_path}= csou
*** Test Cases *** PAYLOAD_FILE_PATH TIMEPROPERTY EXPECTATION_FILE_PATH
-Observation Interval With observedAt
+037_09_01 Observation Interval With observedAt
[Tags] csr-query 5_10_2
${context_source_registration_observation_interval_payload_file_path} observedAt ${observation_interval_expectation_file_path}
-Observation Interval Without timeproperty
+037_09_02 Observation Interval Without timeproperty
[Tags] csr-query 5_10_2
${context_source_registration_observation_interval_payload_file_path} ${EMPTY} ${observation_interval_expectation_file_path}
-Management Interval With createdAt
+037_09_03 Management Interval With createdAt
[Tags] csr-query 5_10_2
${context_source_registration_management_interval_payload_file_path} createdAt ${management_interval_expectation_file_path}
-Management Interval With modifiedAt
+037_09_04 Management Interval With modifiedAt
[Tags] csr-query 5_10_2
${context_source_registration_management_interval_payload_file_path} modifiedAt ${management_interval_expectation_file_path}
diff --git a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_10.robot b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_10.robot
similarity index 94%
rename from TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_10.robot
rename to TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_10.robot
index b82e5b1c443d743ed69b18fdaecdf71248117676..22e2d1845d80ff04ad8a688e6c7438edc0d1140b 100644
--- a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_10.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_10.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query context source registrations. If present, the conditions specified by the context source query match the respective Context Source Properties
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,13 +19,13 @@ ${third_context_source_registration_payload_file_path}= csourceRegistrations
*** Test Cases *** QUERY_PARAM_NAME QUERY_PARAM_VALUE EXPECTATION_FILE_PATH EXPECTED_CONTEXT_SOURCE_REGISTRATION_IDS
-With list of Entity Ids
+037_10_01 With list of Entity Ids
[Tags] csr-query 5_10_2
id ${first_context_source_registration_id},${third_context_source_registration_id} csourceRegistrations/expectations/context-source-registrations-037-10-01-expectation.json ${first_context_source_registration_id} ${third_context_source_registration_id}
-With NGSI-LD Query
+037_10_02 With NGSI-LD Query
[Tags] csr-query 5_10_2
q location.type=="GeoProperty" csourceRegistrations/expectations/context-source-registrations-037-10-02-expectation.json ${third_context_source_registration_id}
-With Context Source Filter
+037_10_03 With Context Source Filter
[Tags] csr-query 5_10_2
csf endpoint=="http://my.csource.org:1026" csourceRegistrations/expectations/context-source-registrations-037-10-03-expectation.json ${first_context_source_registration_id} ${second_context_source_registration_id} ${third_context_source_registration_id}
diff --git a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_11.robot b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_11.robot
similarity index 93%
rename from TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_11.robot
rename to TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_11.robot
index 285bdf69cc2d47baf62ec41882c344bcc0e4339f..9fd5f98730ed263cc26094e95b5d840021bff558 100644
--- a/TP/NGSI-LD/ContextSource/Registration/QueryContextSourceRegistrations/037_11.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/QueryContextSourceRegistrations/037_11.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can query context source registrations with providing page and limit parameters, pagination logic shall be in place as mandated by clause 5.5.9.
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,13 +19,13 @@ ${third_context_source_registration_payload_file_path}= csourceRegistrations
*** Test Cases *** LIMIT PAGE EXPECTED_NUMBER PREV_LINK NEXT_LINK
-Query Second Subscription
+037_11_01 Query Second Subscription
[Tags] csr-query 5_10_2
${1} ${2} ${1} ;rel="prev";type="application/ld+json" ;rel="next";type="application/ld+json"
-Query Last Subscription
+037_11_02 Query Last Subscription
[Tags] csr-query 5_10_2
${2} ${2} ${1} ;rel="prev";type="application/ld+json" ${EMPTY}
-Query All Subscriptions
+037_11_03 Query All Subscriptions
[Tags] csr-query 5_10_2
${15} ${1} ${3} ${EMPTY} ${EMPTY}
diff --git a/TP/NGSI-LD/ContextSource/Registration/RetrieveContextSourceRegistration/036_01.robot b/TP/NGSI-LD/ContextSource/Discovery/RetrieveContextSourceRegistration/036_01.robot
similarity index 84%
rename from TP/NGSI-LD/ContextSource/Registration/RetrieveContextSourceRegistration/036_01.robot
rename to TP/NGSI-LD/ContextSource/Discovery/RetrieveContextSourceRegistration/036_01.robot
index 9d34f7ae6fb236cca783cba4cedef25082a69540..35acf4076bdf03862f4e7d4930dbac9dc54a278a 100644
--- a/TP/NGSI-LD/ContextSource/Registration/RetrieveContextSourceRegistration/036_01.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/RetrieveContextSourceRegistration/036_01.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot retrieve a Context Source Registration, if the context source registration id is not present or it is not a valid URI
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -9,9 +9,9 @@ Test Template Retrieve Context Source Registration With A Not Present Or I
*** Test Cases *** ID
-Not Present Id [Tags] csr-retrieve 5_10_1
+036_01_01 Not Present Id [Tags] csr-retrieve 5_10_1
${EMPTY}
-Invalid Id [Tags] csr-retrieve 5_10_1
+036_01_02 Invalid Id [Tags] csr-retrieve 5_10_1
invalidUri
diff --git a/TP/NGSI-LD/ContextSource/Registration/RetrieveContextSourceRegistration/036_02.robot b/TP/NGSI-LD/ContextSource/Discovery/RetrieveContextSourceRegistration/036_02.robot
similarity index 89%
rename from TP/NGSI-LD/ContextSource/Registration/RetrieveContextSourceRegistration/036_02.robot
rename to TP/NGSI-LD/ContextSource/Discovery/RetrieveContextSourceRegistration/036_02.robot
index 8f23c64c7e54e368dd74553bcb9a577426a479f6..58876bf6b4736ec878c3b2a331f2f28e62ab99c1 100644
--- a/TP/NGSI-LD/ContextSource/Registration/RetrieveContextSourceRegistration/036_02.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/RetrieveContextSourceRegistration/036_02.robot
@@ -1,13 +1,13 @@
*** Settings ***
Documentation Check that you cannot retrieve a Context Source Registration, if the NGSI-LD endpoint does not know about the target context source registration, because there is no existing context source registration whose id (URI) is equivalent
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
*** Test Cases ***
-Retrieve Unknown Context Source Registration
+036_02_01 Retrieve Unknown Context Source Registration
[Documentation] Check that you cannot retrieve a Context Source Registration, if the NGSI-LD endpoint does not know about the target context source registration, because there is no existing context source registration whose id (URI) is equivalent
[Tags] csr-retrieve 5_10_1
${response}= Retrieve Context Source Registration urn:ngsi-ld:ContextSourceRegistration:unknowRegistration
diff --git a/TP/NGSI-LD/ContextSource/Registration/RetrieveContextSourceRegistration/036_03.robot b/TP/NGSI-LD/ContextSource/Discovery/RetrieveContextSourceRegistration/036_03.robot
similarity index 88%
rename from TP/NGSI-LD/ContextSource/Registration/RetrieveContextSourceRegistration/036_03.robot
rename to TP/NGSI-LD/ContextSource/Discovery/RetrieveContextSourceRegistration/036_03.robot
index a950048628c736e4bbcec366f8f34af38594d4ce..939b051e6100c88eb0098b9205980fd05280918b 100644
--- a/TP/NGSI-LD/ContextSource/Registration/RetrieveContextSourceRegistration/036_03.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/RetrieveContextSourceRegistration/036_03.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can retrieve a Context Source Registration. Term to URI expansion of Attribute names shall be observed.
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${expectation_file_path}= csourceRegistrations/exp
*** Test Cases ***
-Retrieve Context Source Registration With Default Core Context
+036_03_01 Retrieve Context Source Registration With Default Core Context
[Documentation] Check that you can retrieve a Context Source Registration. Term to URI expansion of Attribute names shall be observed.
[Tags] csr-retrieve 5_10_1
${response}= Retrieve Context Source Registration ${context_source_registration_id}
diff --git a/TP/NGSI-LD/ContextSource/Registration/RetrieveContextSourceRegistration/036_04.robot b/TP/NGSI-LD/ContextSource/Discovery/RetrieveContextSourceRegistration/036_04.robot
similarity index 89%
rename from TP/NGSI-LD/ContextSource/Registration/RetrieveContextSourceRegistration/036_04.robot
rename to TP/NGSI-LD/ContextSource/Discovery/RetrieveContextSourceRegistration/036_04.robot
index 3c968a8704ffbb04382250229583266f77cbb61e..b10b589227e5afd2e0197ae3a6bf48f51e97918e 100644
--- a/TP/NGSI-LD/ContextSource/Registration/RetrieveContextSourceRegistration/036_04.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/RetrieveContextSourceRegistration/036_04.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can retrieve a Context Source Registration
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +17,7 @@ ${expectation_file_path}= csourceRegistrations/exp
*** Test Cases ***
-Retrieve Context Source Registration
+036_04_01 Retrieve Context Source Registration
[Documentation] Check that you can retrieve a Context Source Registration
[Tags] csr-retrieve 5_10_1
${response}= Retrieve Context Source Registration
diff --git a/TP/NGSI-LD/ContextSource/Registration/RetrieveContextSourceRegistration/036_05.robot b/TP/NGSI-LD/ContextSource/Discovery/RetrieveContextSourceRegistration/036_05.robot
similarity index 91%
rename from TP/NGSI-LD/ContextSource/Registration/RetrieveContextSourceRegistration/036_05.robot
rename to TP/NGSI-LD/ContextSource/Discovery/RetrieveContextSourceRegistration/036_05.robot
index 87a9e9a72d745f2d7ff044c9711d87403e741b4a..0157c7320e94bd9cf30d4f5bee6403c13c731aea 100644
--- a/TP/NGSI-LD/ContextSource/Registration/RetrieveContextSourceRegistration/036_05.robot
+++ b/TP/NGSI-LD/ContextSource/Discovery/RetrieveContextSourceRegistration/036_05.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that the JSON-LD @context is obtained from a Link header if present and that the default JSON-LD @context is used if not present
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,10 +19,10 @@ ${expectation_file_path_expanded}= csourceRegistrations/exp
*** Test Cases *** CONTEXT EXPECTED_PAYLOAD
-EmptyJsonLdContext
+036_05_01 EmptyJsonLdContext
[Tags] csr-retrieve 6_3_5
${EMPTY} ${expectation_file_path_expanded}
-CreationTimeJsonLdContext
+036_05_02 CreationTimeJsonLdContext
[Tags] csr-retrieve 6_3_5
${ngsild_test_suite_context} ${expectation_file_path_compacted}
diff --git a/TP/NGSI-LD/ContextSource/Registration/DeleteContextSourceRegistration/035_01.robot b/TP/NGSI-LD/ContextSource/Registration/DeleteContextSourceRegistration/035_01.robot
index bd7979a8788bf8da82bb0dae68e60068f07c0204..d9ad866685f161e592b44282efee0a1423d59ba7 100644
--- a/TP/NGSI-LD/ContextSource/Registration/DeleteContextSourceRegistration/035_01.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/DeleteContextSourceRegistration/035_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can delete a context source registration by id
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,7 +13,7 @@ ${registration_payload_file_path}= context-source-registration-simple-sampl
*** Test Cases ***
-Delete a context source registration by id
+035_01_01 Delete a context source registration by id
[Documentation] Check that you can delete a context source registration by id
[Tags] csr-delete
${registration_id}= Generate Random Entity Id ${registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/Registration/DeleteContextSourceRegistration/035_02.robot b/TP/NGSI-LD/ContextSource/Registration/DeleteContextSourceRegistration/035_02.robot
index 803bb0a4d734b407581afc9ba4f099a0e67f4ea4..9df303c7026238e421fcd4fd25e7d01c96dfbb98 100644
--- a/TP/NGSI-LD/ContextSource/Registration/DeleteContextSourceRegistration/035_02.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/DeleteContextSourceRegistration/035_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot delete a context source registration under some conditions
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,10 +15,10 @@ ${filename}= context-source-registration-simple-sample.jsonld
*** Test Cases *** INVALID_REGISTRATION_ID
-035_02_01_Delete a Context Source Registration if the Id is not present
+035_02_01 Delete a Context Source Registration if the Id is not present
[Tags] csr-delete 5_9_4
${EMPTY}
-035_02_02_Delete a Context Source Registration if the Id is not a valid URI
+035_02_02 Delete a Context Source Registration if the Id is not a valid URI
[Tags] csr-delete 5_9_4
invalidURI
diff --git a/TP/NGSI-LD/ContextSource/Registration/DeleteContextSourceRegistration/035_03.robot b/TP/NGSI-LD/ContextSource/Registration/DeleteContextSourceRegistration/035_03.robot
index 86205978d7ac612efbff3c0b237bdf3861eb00b0..9f10d77a2e27656e76c704576c4285a6fe84ed8c 100644
--- a/TP/NGSI-LD/ContextSource/Registration/DeleteContextSourceRegistration/035_03.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/DeleteContextSourceRegistration/035_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot delete a context source registration by id if the id is not known to the system
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,7 +12,7 @@ ${registration_payload_file_path}= context-source-registration-simple-sampl
*** Test Cases ***
-Delete a context source registration by id
+035_03_01 Delete a context source registration by id
[Documentation] Check that you cannot delete a context source registration by id if the id is not known to the system
[Tags] csr-delete
${registration_id}= Generate Random Entity Id ${registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_01_01.robot b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_01_01.robot
similarity index 86%
rename from TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_01_01.robot
rename to TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_01_01.robot
index b2b2aba7f31eee1e9d79c69b97935e510f698296..087d000b8be4aa19ab314f2c5cae49947e68b33e 100644
--- a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_01_01.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_01_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can create a context source registration with specific ID and expiration date
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,7 +15,7 @@ ${registration_payload_file_path}= csourceRegistrations/context-source-regi
*** Test Cases ***
-Create Context Source Registration With Specific Date Expiration Date
+033_01_01 Create Context Source Registration With Specific Date Expiration Date
[Documentation] Check that you can create a context source registration with specific ID and expiration date
[Tags] csr-create
${registration_id}= Generate Random Entity Id ${registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_01_02.robot b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_01_02.robot
similarity index 87%
rename from TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_01_02.robot
rename to TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_01_02.robot
index 2f6edc2453054c6d9b98bbb52d381f41ba42eed3..c12761ce73b10ce36e564efa44e4c29623587dbb 100644
--- a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_01_02.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_01_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can create a context source registration that never expires
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,7 +15,7 @@ ${registration_payload_file_path}= csourceRegistrations/context-source-regi
*** Test Cases ***
-Create Context Source Registration That Never Expires
+033_01_02 Create Context Source Registration That Never Expires
[Documentation] Check that you can create a context source registration that never expires
[Tags] csr-create
${registration_id}= Generate Random Entity Id ${registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_01_03.robot b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_01_03.robot
similarity index 87%
rename from TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_01_03.robot
rename to TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_01_03.robot
index 3af5ee3bc97d3a399204296352bde79926727a8c..ea46d7c01539d728337dc1360f8cfe120a52fcd5 100644
--- a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_01_03.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_01_03.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can create a context source registration without specifying an ID
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,7 +15,7 @@ ${registration_payload_file_path}= csourceRegistrations/context-source-regi
*** Test Cases ***
-Create Context Source Registration Without A Sprecified ID
+033_01_03 Create Context Source Registration Without A Sprecified ID
[Documentation] Check that you can create a context source registration without specifying an ID
[Tags] csr-create
${payload}= Load JSON From File ${EXECDIR}/data/${registration_payload_file_path}
diff --git a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_02.robot b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_02.robot
similarity index 81%
rename from TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_02.robot
rename to TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_02.robot
index 97fda2bb05980b6746663778090f5adc06727cce..5c471249b0a2e8a9439a544674c65c78a6096bb6 100644
--- a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_02.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you cannot create a context source with invalid content
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,16 +13,16 @@ ${registration_payload_file_path}= context-source-registration-invalid-samp
*** Test Cases ***
-033_02_01_Create a context source registration with invalid JSON file
+033_02_01 Create a context source registration with invalid JSON file
[Tags] csr-create 5_9_2
Create a context source registration with invalid JSON file
-033_02_02_Create a context source registration with a different data structure than CsourRegistration data type
+033_02_02 Create a context source registration with a different data structure than CsourRegistration data type
[Tags] csr-create 5_9_2
Create Context Source With Invalid Content
... csourceRegistrations/context-source-registration-invalid-structure-sample.jsonld
-033_02_03_Create a context source registration with a date in the past
+033_02_03 Create a context source registration with a date in the past
[Tags] csr-create 5_9_2
Create Context Source With Invalid Content
... csourceRegistrations/context-source-registration-past-expiration-sample.jsonld
@@ -45,7 +46,7 @@ Create a context source registration with invalid JSON file
${registration_id}= Generate Random Entity Id ${registration_id_prefix}
${response}= Create Context Source Registration
... ${registration_payload_file_path}
- Check Response Status Code ${response.status_code}
+ Check Response Status Code 400 ${response.status_code}
Check Response Body Type When Using Session Request ${response.json()} ${ERROR_TYPE_BAD_REQUEST_DATA}
Check Response Body Title When Using Session Request ${response.json()}
- [Teardown] Delete Entity by Id Returning Response ${registration_id}
+ [Teardown] Delete Context Source Registration ${registration_id}
diff --git a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_03.robot b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_03.robot
similarity index 90%
rename from TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_03.robot
rename to TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_03.robot
index ead33a0632e0062117090fed1ff1ba7b71f167a7..6ec328ca70549161b60a7954e95d2392dc32c526 100644
--- a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_03.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot create a context source registration that already exists
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,7 +14,7 @@ ${filename}= csourceRegistrations/context-source-registration
*** Test Cases ***
-Create a context source registration that already exists
+033_03_01 Create a context source registration that already exists
[Documentation] Check that you cannot create a context source registration that already exists
[Tags] csr-create
${registration_id}= Generate Random Entity Id ${registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_04.robot b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_04.robot
similarity index 79%
rename from TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_04.robot
rename to TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_04.robot
index 7a4ac3e658455228a909173f598b2a560f016028..bbe6e1262cfd4a05f48e888a39e281dac4bc4343 100644
--- a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_04.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_04.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that the @context is obtained from a Link Header if the Content-Type header is "application/json"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,7 +15,7 @@ ${registration_payload_file_path}= csourceRegistrations/context-source-regi
*** Test Cases ***
-Create one context source registration using a provided Link header with JSON content type
+033_04_01 Create one context source registration using a provided Link header with JSON content type
[Documentation] Check that the @context is obtained from a Link Header if the Content-Type header is "application/json"
[Tags] csr-create 6_3_5
${registration_id}= Generate Random Entity Id ${registration_id_prefix}
@@ -27,10 +28,10 @@ Create one context source registration using a provided Link header with JSON co
... ${ngsild_test_suite_context}
Check Response Status Code 201 ${response.status_code}
${response}= Retrieve Context Source Registration ${registration_id} context=${ngsild_test_suite_context}
- Check JSON Value In Response Body ['information']['entities'][0]['type'] Building ${response.json()}
+ Check JSON Value In Response Body ['information'][0]['entities'][0]['type'] Building ${response.json()}
${response}= Retrieve Context Source Registration ${registration_id}
Check JSON Value In Response Body
- ... ['information']['entities'][0]['type']
+ ... ['information'][0]['entities'][0]['type']
... https://ngsi-ld-test-suite/context#Building
... ${response.json()}
diff --git a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_05.robot b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_05.robot
similarity index 79%
rename from TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_05.robot
rename to TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_05.robot
index a22690bf6ba23a0c4df38c83320067e09cd3332b..2dc29a41a59a6c96199f6dcb4d5b15ba304ad049 100644
--- a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_05.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_05.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that the default @context is used if the Content-Type header is "application/json" and the Link header does not contain a JSON-LD @context
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,7 +15,7 @@ ${registration_payload_file_path}= csourceRegistrations/context-source-regi
*** Test Cases ***
-Create one context source registration using the default context with JSON content type
+033_05_01 Create one context source registration using the default context with JSON content type
[Documentation] Check that the default @context is used if the Content-Type header is "application/json" and the Link header does not contain a JSON-LD @context
[Tags] csr-create 6_3_5
${registration_id}= Generate Random Entity Id ${registration_id_prefix}
@@ -27,11 +28,11 @@ Create one context source registration using the default context with JSON conte
Check Response Status Code 201 ${response.status_code}
${response}= Retrieve Context Source Registration ${registration_id} context=${ngsild_test_suite_context}
Check JSON Value In Response Body
- ... ['information']['entities'][0]['type']
+ ... ['information'][0]['entities'][0]['type']
... ngsi-ld:default-context/Building
... ${response.json()}
${response}= Retrieve Context Source Registration ${registration_id}
- Check JSON Value In Response Body ['information']['entities'][0]['type'] Building ${response.json()}
+ Check JSON Value In Response Body ['information'][0]['entities'][0]['type'] Building ${response.json()}
*** Keywords ***
diff --git a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_06.robot b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_06.robot
similarity index 88%
rename from TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_06.robot
rename to TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_06.robot
index ad381cc9bba9dda1e28abcf05d2386b2ef38768e..9a13159ef2a700b9845f90cd0b841091cdd8f154 100644
--- a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_06.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_06.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/json" and the request payload body (as JSON) contains a "@context" term
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,7 +12,7 @@ ${registration_payload_file_path}= csourceRegistrations/context-source-regi
*** Test Cases ***
-Create one context source registration containing a JSON-LD @context with a JSON content type
+033_06_01 Create one context source registration containing a JSON-LD @context with a JSON content type
[Documentation] Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/json" and the request payload body (as JSON) contains a "@context" term
[Tags] csr-create 6_3_5
${registration_id}= Generate Random Entity Id ${registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_07.robot b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_07.robot
similarity index 79%
rename from TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_07.robot
rename to TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_07.robot
index 7af118db1ba5c32536bee28991e0b66301356741..5c85cabe0cf6138365d2aa06d6cd66f45f0f837c 100644
--- a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_07.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_07.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that the @context is obtained from the request payload body itself if the Content-Type header is "application/ld+json"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,7 +15,7 @@ ${registration_payload_file_path}= csourceRegistrations/context-source-regi
*** Test Cases ***
-Create one context source registration using a JSON-LD @context obtained from the request payload
+033_07_01 Create one context source registration using a JSON-LD @context obtained from the request payload
[Documentation] Check that the @context is obtained from the request payload body itself if the Content-Type header is "application/ld+json"
[Tags] csr-create 6_3_5
${registration_id}= Generate Random Entity Id ${registration_id_prefix}
@@ -26,10 +27,10 @@ Create one context source registration using a JSON-LD @context obtained from th
... ${CONTENT_TYPE_LD_JSON}
Check Response Status Code 201 ${response.status_code}
${response}= Retrieve Context Source Registration ${registration_id} context=${ngsild_test_suite_context}
- Check JSON Value In Response Body ['information']['entities'][0]['type'] Building ${response.json()}
+ Check JSON Value In Response Body ['information'][0]['entities'][0]['type'] Building ${response.json()}
${response}= Retrieve Context Source Registration ${registration_id}
Check JSON Value In Response Body
- ... ['information']['entities'][0]['type']
+ ... ['information'][0]['entities'][0]['type']
... https://ngsi-ld-test-suite/context#Building
... ${response.json()}
diff --git a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_08.robot b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_08.robot
similarity index 88%
rename from TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_08.robot
rename to TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_08.robot
index 92bf6de34a614a491af798719f9d2b2cdb76a097..bcd080707a20e13b89644b903c68a7b4245995c2 100644
--- a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_08.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_08.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/ld+json" and the request payload body does not contain a @context term
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,7 +12,7 @@ ${registration_payload_file_path}= csourceRegistrations/context-source-regi
*** Test Cases ***
-Create one context source registration not containing a JSON-LD @context with a JSON-LD content type
+033_08_01 Create one context source registration not containing a JSON-LD @context with a JSON-LD content type
[Documentation] Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/ld+json" and the request payload body does not contain a @context term
[Tags] csr-create 6_3_5
${registration_id}= Generate Random Entity Id ${registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_09.robot b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_09.robot
similarity index 89%
rename from TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_09.robot
rename to TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_09.robot
index 76b18cfd630798ad17e035a90fc965b7c585436d..c11ec0473b788f69e27b23ecc5bba5f07a614f2a 100644
--- a/TP/NGSI-LD/ContextSource/Registration/CreateContextSourceRegistration/033_09.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/RegisterContextSource/033_09.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/ld+json" and a JSON-LD Link header is present in the incoming HTTP request
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,7 +12,7 @@ ${registration_payload_file_path}= csourceRegistrations/context-source-regi
*** Test Cases ***
-Create one context source registration with a Link header and a JSON-LD content type
+033_09_01 Create one context source registration with a Link header and a JSON-LD content type
[Documentation] Check that an HTTP error response of type BadRequestData is raised if the Content-Type header is "application/ld+json" and a JSON-LD Link header is present in the incoming HTTP request
[Tags] csr-create 6_3_5
${registration_id}= Generate Random Entity Id ${registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/Registration/UpdateContextSourceRegistration/034_01.robot b/TP/NGSI-LD/ContextSource/Registration/UpdateContextSourceRegistration/034_01.robot
index b79d46b0b186870c63a1b84447a67ce491078c9f..e91f5d8f0955ea359ddc35c4d0e246fbd842b857 100644
--- a/TP/NGSI-LD/ContextSource/Registration/UpdateContextSourceRegistration/034_01.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/UpdateContextSourceRegistration/034_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that you can update a context source registration by id
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,10 +15,10 @@ ${registration_id_prefix}= urn:ngsi-ld:Registration:
*** Test Cases *** FILENAME UPDATE_FILENAME
-034_01_01_Update a context source registration by id
+034_01_01 Update a context source registration by id
[Tags] csr-update 5_9_3
context-source-registration-sample.jsonld context-source-registration-with-expiration-sample.jsonld
-034_01_02_Update a context source registration to never expire
+034_01_02 Update a context source registration to never expire
[Tags] csr-update 5_9_3
context-source-registration-with-expiration-sample.jsonld context-source-registration-simple-sample.jsonld
diff --git a/TP/NGSI-LD/ContextSource/Registration/UpdateContextSourceRegistration/034_02.robot b/TP/NGSI-LD/ContextSource/Registration/UpdateContextSourceRegistration/034_02.robot
index 799ff6f646137097f3c02a3bd00d134c20329bf5..23904f8006c4ab3e83fa2ff61df56b06a3685a59 100644
--- a/TP/NGSI-LD/ContextSource/Registration/UpdateContextSourceRegistration/034_02.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/UpdateContextSourceRegistration/034_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot update a context source registration under some conditions
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,15 +15,15 @@ ${registration_payload_file_path}= context-source-registration-invalid-samp
*** Test Cases ***
-034_02_01_Update a context source registration by id if the Id is not present
+034_02_01 Update a context source registration by id if the Id is not present
[Tags] csr-update 5_9_3
Update Context Source ${EMPTY} fragments/context-source-registration-different-type-sample.jsonld
-034_02_02_Update a context source registration by id if the Id is not a valid URI
+034_02_02 Update a context source registration by id if the Id is not a valid URI
[Tags] csr-update 5_9_3
Update Context Source invalidURI fragments/context-source-registration-different-type-sample.jsonld
-034_02_03_Update a context source registration if the request body is not of the same data type
+034_02_03 Update a context source registration if the request body is not of the same data type
[Tags] csr-update 5_9_3
Update Context Source
... ${valid_registration_id}
diff --git a/TP/NGSI-LD/ContextSource/Registration/UpdateContextSourceRegistration/034_03.robot b/TP/NGSI-LD/ContextSource/Registration/UpdateContextSourceRegistration/034_03.robot
index 519e3bbf7816f062a5408841366382dfacaaf594..13b434d99ed0f5b7a104aebff8299abe0996d508 100644
--- a/TP/NGSI-LD/ContextSource/Registration/UpdateContextSourceRegistration/034_03.robot
+++ b/TP/NGSI-LD/ContextSource/Registration/UpdateContextSourceRegistration/034_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot update a context source registration by id if the id is not known to the system
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,7 +14,7 @@ ${filename}= context-source-registration-simple-sample.jsonld
*** Test Cases ***
-Update a context source registration by id if the id is not known to the system
+034_03_01 Update a context source registration by id if the id is not known to the system
[Documentation] Check that you cannot update a context source registration by id if the id is not known to the system
[Tags] csr-update
${registration_id}= Generate Random Entity Id ${registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_01.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_01.robot
similarity index 90%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_01.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_01.robot
index feaf4e57f59f49cd523c76f11f3d21e69de766f5..cac02b0f111fec272fe1c83924b8871bdeec986e 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_01.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_01.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that if the created context source registration subscription defines a timeInterval member, a cSourceNotification will be sent periodically, initially on subscription and when the time interval is reached
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -18,7 +19,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/sub
*** Test Cases ***
-Receive cSourceNotification Periodically And Initially On Subscription
+047_01_01 Receive cSourceNotification Periodically And Initially On Subscription
[Documentation] Check that if the created context source registration subscription defines a timeInterval member, a cSourceNotification will be sent periodically, initially on subscription and when the time interval is reached
[Tags] csrsub-notification 5_11_7
${subscription_id}= Generate Random Entity Id ${subscription_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_02.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_02.robot
similarity index 91%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_02.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_02.robot
index 3c4532d9797ee6e930f7087fd25752ae924f1355..6242241fa33b4146aa571ba386b6534aa4373948 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_02.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_02.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that if the created context source registration subscription does not define a timeInterval member, a cSourceNotification, with the appropriate trigger reason in the "triggerReason" member, will be sent initially on subscription and whenever there is a change of a matching Context Source Registration
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -19,7 +20,7 @@ ${update_fragment_file_path}= csourceRegistrations/fra
*** Test Cases ***
-Receive cSourceNotification Initially On Subscription And Whenever There Is A Change Of A Matching Context Source Registration
+047_02_01 Receive cSourceNotification Initially On Subscription And Whenever There Is A Change Of A Matching Context Source Registration
[Documentation] Check that if the created context source registration subscription does not define a timeInterval member, a cSourceNotification, with the appropriate trigger reason in the "triggerReason" member, will be sent initially on subscription and whenever there is a change of a matching Context Source Registration
[Tags] csrsub-notification 5_11_7
${subscription_id}= Generate Random Entity Id ${subscription_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_03.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_03.robot
similarity index 92%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_03.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_03.robot
index cded0e4ba3ee6c34aa34bc369bec616a6c6202c4..6f51a560ddb4e997b4ea2c7354576d15189793be 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_03.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_03.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that instead of providing the original context source registration, implementations should return context source registration information relevant for the subscription, in particular only matching RegistrationInfo elements
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -18,7 +19,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/sub
*** Test Cases ***
-Receive cSourceNotification With Relevant Information
+047_03_01 Receive cSourceNotification With Relevant Information
[Documentation] Check that instead of providing the original context source registration, implementations should return context source registration information relevant for the subscription, in particular only matching RegistrationInfo elements
[Tags] csrsub-notification 5_11_7
${context_source_registration_id}= Generate Random Entity Id ${context_source_registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_04.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_04.robot
similarity index 90%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_04.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_04.robot
index 007a80c4a71e001dd1380f70b03381285106a815..227ef3bd9bd98fae1c9a735f6ff95eb0adb9b1fb 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_04.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_04.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation The structure of the csource notification message shall be as mandated by clause 5.3.2
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -18,7 +19,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/sub
*** Test Cases ***
-Receive cSourceNotification With Compliant Structure
+047_04_01 Receive cSourceNotification With Compliant Structure
[Documentation] The structure of the csource notification message shall be as mandated by clause 5.3.2
[Tags] csrsub-notification 5_11_7
${context_source_registration_id}= Generate Random Entity Id ${context_source_registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_05.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_05.robot
similarity index 92%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_05.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_05.robot
index 8b679d27cfa4304815e85a9a9ebdd4a8374a90f2..6e291625e07a974938065bd43e5d6c1eedda2647 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_05.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_05.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that if a cSourceNotification is sent successfully to the "endpoint" member, the "notification.timesSent" member shall be incremented by one and the "notification.lastSuccess" and "notification.lastNotification" members shall be updated with the current timestamp and the status of the context source registration subscription shall be updated to "ok"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -19,7 +20,7 @@ ${notification_expectation_file_path}= notifications/expectatio
*** Test Cases ***
-If A cSourceNotification Is Successfully Sent The Notification Member Shall Be Updated
+047_05_01 If A cSourceNotification Is Successfully Sent The Notification Member Shall Be Updated
[Documentation] Check that if a cSourceNotification is sent successfully to the "endpoint" member, the "notification.timesSent" member shall be incremented by one and the "notification.lastSuccess" and "notification.lastNotification" members shall be updated with the current timestamp and the status of the context source registration subscription shall be updated to "ok"
[Tags] csrsub-notification 5_11_7
${context_source_registration_id}= Generate Random Entity Id ${context_source_registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_06.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_06.robot
similarity index 91%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_06.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_06.robot
index a497ee9546600c6e864ba937e78bfaac8b704d10..399c68e97ff6affc431452a0a79ff84643462944 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_06.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_06.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that if a cSourceNotification is not sent successfully, the "notification.timesSent" member shall be incremented by one and the notification.lastFailure" and "notification.lastNotification" members shall be updated with the current timestamp and the status of the context source registration subscription shall be updated to "failed"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -19,7 +20,7 @@ ${notification_expectation_file_path}= notifications/expectatio
*** Test Cases ***
-If A cSourceNotification Is Not Successfully Sent The Notification Member Shall Be Updated
+047_06_01 If A cSourceNotification Is Not Successfully Sent The Notification Member Shall Be Updated
[Documentation] Check that if a cSourceNotification is not sent successfully, the "notification.timesSent" member shall be incremented by one and the notification.lastFailure" and "notification.lastNotification" members shall be updated with the current timestamp and the status of the context source registration subscription shall be updated to "failed"
[Tags] csrsub-notification 5_11_7
${context_source_registration_id}= Generate Random Entity Id ${context_source_registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_07.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_07.robot
similarity index 92%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_07.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_07.robot
index b006466624fdaf280c3e565aae62cbc9d8584512..62557282a4adc4882c42e0efb2b7f2e1573ae8c1 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_07.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_07.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check that a cSourceNotification shall only be sent if and only if the status of the corresponding subscription is active, neither paused or expired
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -19,10 +20,10 @@ ${subscription_payload_file_path}= csourceSubscriptions/sub
*** Test Cases *** FILEPATH
-PausedSubscription
+047_07_01 PausedSubscription
[Tags] csrsub-notification 5_11_7
csourceSubscriptions/fragments/subscription-isActive-update-sample.json
-ExpiredSubscription
+047_07_02 ExpiredSubscription
[Tags] csrsub-notification 5_11_7
csourceSubscriptions/fragments/subscription-expiresAt-update-sample.json
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_08.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_08.robot
similarity index 91%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_08.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_08.robot
index 87d358eba1835f9b8f5df94601a9e989d6acf5a6..946a91022dd32af22cbd5468be9def3f794b75ee 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_08.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_08.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check if a context source registration subscription does not define a temporalQ member, a CsourceNotification will be triggered from matching context source registrations for context sources providing latest information
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -19,7 +20,7 @@ ${update_fragment_file_path}= csourceRegistrations/fra
*** Test Cases ***
-Receive cSourceNotification For Matching Context Source Registrations Providing Latest Information
+047_08_01 Receive cSourceNotification For Matching Context Source Registrations Providing Latest Information
[Documentation] Check if a context source registration subscription does not define a temporalQ member, a CsourceNotification will be triggered from matching context source registrations for context sources providing latest information
[Tags] csrsub-notification 5_11_7
${update_fragment}= Load Test Sample ${update_fragment_file_path}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_09.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_09.robot
similarity index 91%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_09.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_09.robot
index c860c849d80013f1a260ae0eea39e4430bad997e..03089aaa128b85a512236b8527bd1af1f0bbd31a 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_09.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_09.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check if a context source registration subscription defines an "entities" member, a CsourceNotification will be triggered from context source registrations with information member matching the described "entities"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -19,7 +20,7 @@ ${update_fragment_file_path}= csourceRegistrations/fra
*** Test Cases ***
-Receive cSourceNotification For No Longer Matching Context Source Registrations Providing Latest Information
+047_09_01 Receive cSourceNotification For No Longer Matching Context Source Registrations Providing Latest Information
[Documentation] Check if a context source registration subscription defines an "entities" member, a CsourceNotification will be triggered from context source registrations with information member matching the described "entities"
[Tags] csrsub-notification 5_11_7
${update_fragment}= Load Test Sample ${update_fragment_file_path}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_10.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_10.robot
similarity index 90%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_10.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_10.robot
index d347b1f773794c71cc19ca4624d4687d756b6afd..9089f74b851dfbef2126fcefd54ed3726b754478 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_10.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_10.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check if a context source registration subscription defines temporalQ member with timeproperty observedAt, the temporal query is matched against the observationInterval of matching context source registrations
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -18,7 +19,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/sub
*** Test Cases ***
-Receive cSourceNotification For Matching Context Source Registrations On Observation Interval
+047_10_01 Receive cSourceNotification For Matching Context Source Registrations On Observation Interval
[Documentation] Check if a context source registration subscription defines temporalQ member with timeproperty observedAt, the temporal query is matched against the observationInterval of matching context source registrations
[Tags] csrsub-notification 5_11_7
${context_source_registration_id}= Generate Random Entity Id ${context_source_registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_11.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_11.robot
similarity index 90%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_11.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_11.robot
index df5f1481bd92dc8ffb4991bc60a52a95211af9c3..23b0ed3600f3369f26f107ce5f5c7a94b31639ae 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_11.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_11.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check if a context source registration subscription defines temporalQ member with timeproperty createdAt or modifiedAt, the temporal query is matched against the managementInterval of matching context source registrations
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -19,9 +20,9 @@ ${context_source_registration_payload_file_path}= csourceRegistrations/con
*** Test Cases *** FILEPATH
-CreatedAt [Tags] csrsub-notification 5_11_7
+047_11_01 CreatedAt [Tags] csrsub-notification 5_11_7
csourceSubscriptions/subscription-temporalQ-createdAt-sample.jsonld
-ModifiedAt [Tags] csrsub-notification 5_11_7
+047_11_02 ModifiedAt [Tags] csrsub-notification 5_11_7
csourceSubscriptions/subscription-temporalQ-modifiedAt-sample.jsonld
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_12.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_12.robot
similarity index 90%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_12.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_12.robot
index 0f858143d92c0767140a5b4c4f3ed61a29a5166f..41ced7db74b61a5e7149711859c363878552eeea 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_12.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_12.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check if a context source registrations subscription defines entities member and watchedAttributes member, a CsourceNotification will be triggered from context source registrations with information member matching the described "entities" and "attributes"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -18,7 +19,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/sub
*** Test Cases ***
-Receive cSourceNotification For Matching Context Source Registrations On Watched Attributes
+047_12_01 Receive cSourceNotification For Matching Context Source Registrations On Watched Attributes
[Documentation] Check if a context source registrations subscription defines entities member and watchedAttributes member, a CsourceNotification will be triggered from context source registrations with information member matching the described "entities" and "attributes"
[Tags] csrsub-notification 5_11_7
${context_source_registration_id}= Generate Random Entity Id ${context_source_registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_13.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_13.robot
similarity index 90%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_13.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_13.robot
index 54d47f0399b3025daf777e7e1623095dfd81e7ec..520332f5fe81a00ed7cd51af5c700fdb371f19c1 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_13.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_13.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check if a context source registrations subscription does not define watchedAttributes member, a CsourceNotification will be triggered from context source registrations with information member matching all attributes of the described entities
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -18,7 +19,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/sub
*** Test Cases ***
-Receive cSourceNotification For Matching Context Source Registrations On Any watchedAttribute
+047_13_01 Receive cSourceNotification For Matching Context Source Registrations On Any watchedAttribute
[Documentation] Check if a context source registrations subscription does not define watchedAttributes member, a CsourceNotification will be triggered from context source registrations with information member matching all attributes of the described entities
[Tags] csrsub-notification 5_11_7
${context_source_registration_id}= Generate Random Entity Id ${context_source_registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_14.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_14.robot
similarity index 90%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_14.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_14.robot
index 0ec48479ab670124dd3828be967fd7acbd300a1a..26f5dedb2472af346b56691dbf61c390098eafb0 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_14.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_14.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check if a context source registrations subscription defines a geoQ member, a CsourceNotification will be triggered from matching context source registrations with a matching location member
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -18,7 +19,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/sub
*** Test Cases ***
-Receive cSourceNotification For Matching Context Source Registrations On Location
+047_14_01 Receive cSourceNotification For Matching Context Source Registrations On Location
[Documentation] Check if a context source registrations subscription defines a geoQ member, a CsourceNotification will be triggered from matching context source registrations with a matching location member
[Tags] csrsub-notification 5_11_7
${context_source_registration_id}= Generate Random Entity Id ${context_source_registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_15.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_15.robot
similarity index 90%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_15.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_15.robot
index 2da0eebde953ab1fc1ad3f516d306040c128b1b5..05f5ac653ff1c7e6c817f1db95e6136c2b66be70 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_15.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_15.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check if a context source registrations subscription does not define a geoproperty in the geoQ member, a CsourceNotification will be triggered from matching context source registrations with a matching location member
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -18,7 +19,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/sub
*** Test Cases ***
-Receive cSourceNotification For Matching Context Source Registrations On Location As Default
+047_15_01 Receive cSourceNotification For Matching Context Source Registrations On Location As Default
[Documentation] Check if a context source registrations subscription does not define a geoproperty in the geoQ member, a CsourceNotification will be triggered from matching context source registrations with a matching location member
[Tags] csrsub-notification 5_11_7
${context_source_registration_id}= Generate Random Entity Id ${context_source_registration_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_16.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_16.robot
similarity index 92%
rename from TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_16.robot
rename to TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_16.robot
index d7760fcd714d62556ef021ce6d452b1e4b4168f5..210e8fef0b4b96295744b49740cb1e96178f71fc 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/NotificationBehaviour/047_16.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/ContextSourceRegistrationSubscriptionNotificationBehaviour/047_16.robot
@@ -1,7 +1,8 @@
*** Settings ***
Documentation Check if you update a context source registration subscription, a CsourceNotification will be sent with all currently matching context source registrations
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/NotificationUtils.resource
@@ -20,13 +21,13 @@ ${subscription_payload_file_path}= csourceSubscriptions
*** Test Cases *** FILEPATH NOTIFICATION_CSR_IDS
-MatchFirstContextSourceRegistration
+047_16_01 MatchFirstContextSourceRegistration
[Tags] csrsub-notification 5_11_7
csourceSubscriptions/fragments/subscription-vehicle-entities-sample.json ${first_context_source_registration_id}
-MatchSecondContextSourceRegistration
+047_16_02 MatchSecondContextSourceRegistration
[Tags] csrsub-notification 5_11_7
csourceSubscriptions/fragments/subscription-bus-entities-sample.json ${second_context_source_registration_id}
-MatchBothContextSourceRegistrations
+047_16_03 MatchBothContextSourceRegistrations
[Tags] csrsub-notification 5_11_7
csourceSubscriptions/fragments/subscription-vehicle-and-bus-entities-sample.json ${first_context_source_registration_id} ${second_context_source_registration_id}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_01.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_01.robot
index d96731cf12efbefa980493daa2565d9af118b157..61c3ba5c09559a6082fc629dd64a5035f19fa498 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_01.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_01.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can create a minimal context source registration subscription
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,7 +15,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/subscription-sample
*** Test Cases ***
-Create Context Source Registration Subscription
+038_01_01 Create Context Source Registration Subscription
[Documentation] Check that you can create a minimal context source registration subscription
[Tags] csrsub-create 5_11_2
${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_02.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_02.robot
index 5caf4ed372a18df2e858e79d278374bb7088cd5b..685b12bcc26d92c66a7e35e9db99ff5cac760c81 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_02.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can create a context source registration subscription without providing an id and it will be automatically generated
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
Resource ${EXECDIR}/resources/HttpUtils.resource
@@ -14,7 +14,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/subscription-sample
*** Test Cases ***
-Create Context Source Registration Subscription Without An Id
+038_02_01 Create Context Source Registration Subscription Without An Id
[Documentation] Check that you can create a context source registration subscription without providing an id and it will be automatically generated
[Tags] csrsub-create 5_11_2
${subscription_payload}= Load Test Sample ${subscription_payload_file_path}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_03.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_03.robot
index 12673b28f3bbd19168b26acf8580da091aeef8ba..44dd144cdfcda390bb41bf06a096a09ae7e9464f 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_03.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can create a context source registration subscription without providing isActive member and will be active by default
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,7 +15,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/subscription-sample
*** Test Cases ***
-Create Context Source Registration Subscription Without isActive Member
+038_03_01 Create Context Source Registration Subscription Without isActive Member
[Documentation] Check that you can create a context source registration subscription without providing isActive member and will be active by default
[Tags] csrsub-create 5_11_2
${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_04.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_04.robot
index 25ba1341ab55775611241a4b268470abdbc9155d..2ce7edd3681552eca4875e9af7aea05b4c301cf5 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_04.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_04.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can create a context source registration subscription with isActive member set to false and it's initial status will be set to "paused"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,7 +15,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/subscription-inacti
*** Test Cases ***
-Create Inactive Context Source Registration Subscription
+038_04_01 Create Inactive Context Source Registration Subscription
[Documentation] Check that you can create a context source registration subscription with isActive member set to false and it's initial status will be set to "paused"
[Tags] csrsub-create 5_11_2
${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_05.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_05.robot
index 52b6a0ebfb335d5a2da90bc9d1dac4450fc65402..adab47b88c208c63828b23b48ad3f6cca6f51a08 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_05.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_05.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can create a context source registration subscription with an expiresAt member and when it is due the status of the subscription changes to "expired"
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,7 +15,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/subscription-expire
*** Test Cases ***
-Create Context Source Registration Subscription With expiresAt Member
+038_05_01 Create Context Source Registration Subscription With expiresAt Member
[Documentation] Check that you can create a context source registration subscription with an expiresAt member and when it is due the status of the subscription changes to "expired"
[Tags] csrsub-create 5_11_2
${subscription_payload_sample}= Load Test Sample ${subscription_payload_file_path} ${subscription_id}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_06.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_06.robot
index 3ccfc4de3a95a3e90128d616688e9a20220ce471..132c48775bd228f73c95433aae66af0d0fd200f1 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_06.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_06.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can create a context source registration subscription without an expiresAt member and it will be considered as perpetual
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,7 +15,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/subscription-sample
*** Test Cases ***
-Create Context Source Registration Subscription Without expiresAt Member
+038_06_01 Create Context Source Registration Subscription Without expiresAt Member
[Documentation] Check that you can create a context source registration subscription without an expiresAt member and it will be considered as perpetual
[Tags] csrsub-create 5_11_2
${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_07.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_07.robot
index 12eec6676f02e1680689d8cf93435e352fb952a4..2d014c9d1e377ce0c9a06ab1a9eaa0033d12ec94 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_07.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_07.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot create a context source registration subscription where another context source registration subscription whose id is equivalent exists
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -15,7 +15,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/subscription-sample
*** Test Cases ***
-Create Existing Context Source Registration Subscription
+038_07_01 Create Existing Context Source Registration Subscription
[Documentation] Check that you cannot create a context source registration subscription where another context source registration subscription whose id is equivalent exists
[Tags] csrsub-create 5_11_2
${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_08.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_08.robot
index eb0ea2fb9d460b37853c1db9579239cdc886af08..9a9fad6e816c8c8a0252a10e36dbfc57cffecdeb 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_08.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_08.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot create a context source registration subscription If the data types, cardinalities and restrictions expressed by clause 5.2.12 are not met
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,14 +14,14 @@ ${subscription_payload_file_path}= ${EMPTY}
*** Test Cases *** FILEPATH
-WithoutNotification
+038_08_01 WithoutNotification
[Tags] csrsub-create 5_11_2
csourceSubscriptions/subscription-without-notification-sample.jsonld
-InvalidType [Tags] csrsub-create 5_11_2
+038_08_02 InvalidType [Tags] csrsub-create 5_11_2
csourceSubscriptions/subscription-invalid-type-sample.jsonld
-InvalidQuery [Tags] csrsub-create 5_11_2
+038_08_03 InvalidQuery [Tags] csrsub-create 5_11_2
csourceSubscriptions/subscription-invalid-query-sample.jsonld
-EmptyWatchedAttributes
+038_08_04 EmptyWatchedAttributes
[Tags] csrsub-create 5_11_2
csourceSubscriptions/subscription-empty-watchedAttributes-sample.jsonld
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_09.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_09.robot
index 6474108d2f02fcca77c5fc8df0efc6f2cf513ddf..b3da65119f068dcd6b37bc25d99ad5ecdf3d7187 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_09.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/038_09.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot create a context source registration subscription with an expiration timestamp representing a moment before the current date and time
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -12,7 +12,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/subscription-expire
*** Test Cases ***
-Create Expired Context Source Registration Subscription
+038_09_01 Create Expired Context Source Registration Subscription
[Documentation] Check that you cannot create a context source registration subscription with an expiration timestamp representing a moment before the current date and time
[Tags] csrsub-create 5_11_2
${subscription_id}= Generate Random Entity Id ${subscription_id_prefix}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_01.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_01.robot
index c9e554213c545273d5e9941fe40cd0b2c79cf58c..e8c85751546b4555c123a7f0d95d2caf59440882 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_01.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_01.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can delete a context source registration subscription
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -14,7 +14,7 @@ ${subscription_payload_file_path}= csourceSubscriptions/subscription-sample
*** Test Cases ***
-Delete Context Source Registration Subscription
+042_01_01 Delete Context Source Registration Subscription
[Documentation] Check that you can delete a context source registration subscription
[Tags] csrsub-delete 5_11_6
${response}= Delete Context Source Registration Subscription ${subscription_id}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_02.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_02.robot
index 87bb7e2677b78c64cd1fc9226d47597e069a3842..aaf347e0c1e93625523e51e555f4efc43bfec0fd 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_02.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_02.robot
@@ -1,13 +1,13 @@
*** Settings ***
Documentation Check that you cannot delete a context source registration subscription with an invalid URI
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
*** Test Cases ***
-Delete Context Source Registration Subscription With Invalid Uri
+042_02_01 Delete Context Source Registration Subscription With Invalid Uri
[Documentation] Check that you cannot delete a context source registration subscription with an invalid URI
[Tags] csrsub-delete 5_11_6
${response}= Delete Context Source Registration Subscription invalidUri
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_03.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_03.robot
index 5b2a24bb8a87e629421903e79b1be55877755ad0..483035cc8007ad80a8a92239b5634f02c32be779 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_03.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/DeleteContextSourceRegistrationSubscription/042_03.robot
@@ -1,13 +1,13 @@
*** Settings ***
Documentation Check that you cannot delete an unknown context source registration subscription
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
*** Test Cases ***
-Delete Unknown Context Source Registration Subscription With Invalid Uri
+042_03_01 Delete Unknown Context Source Registration Subscription With Invalid Uri
[Documentation] Check that you cannot delete an unknown context source registration subscription
[Tags] csrsub-delete 5_11_6
${response}= Delete Context Source Registration Subscription urn:ngsi-ld:Subscription:unknowSubscription
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_01.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_01.robot
index d5ee16d8d6cfeb5e616bf8c85637782d13e3e2d2..10e2ed1a8c2cfacb0b93fde989143675f275ef06 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_01.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_01.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can query context source registration subscriptions
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -17,7 +17,7 @@ ${expectation_file_path}= csourceSubscriptions/expectation
*** Test Cases ***
-Query Context Source Registration Subscriptions
+041_01_01 Query Context Source Registration Subscriptions
[Documentation] Check that you can query context source registration subscriptions
[Tags] csrsub-query 5_11_5
${response}= Query Context Source Registration Subscriptions context=${ngsild_test_suite_context}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_02.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_02.robot
index 5635ce3992d6a3729b396abfe4d09d7fe1c36f83..0aa8358ab936021d5d327c1cb793da52cf201fde 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_02.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can query context source registration subscriptions with a limit parameter and it will be the maximum number of subscriptions to be retrieved
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -19,13 +19,13 @@ ${expectation_file_path}= csourceSubscriptions/expectation
*** Test Cases *** LIMIT EXPECTED_SUBSCRIPTION_NUMBER
-Query One Subscription
+041_02_01 Query One Subscription
[Tags] csrsub-query 5_11_5
${1} ${1}
-Query Two Subscription
+041_02_02 Query Two Subscription
[Tags] csrsub-query 5_11_5
${2} ${2}
-Query All Subscriptions
+041_02_03 Query All Subscriptions
[Tags] csrsub-query 5_11_5
${15} ${3}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_03.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_03.robot
index 5eb55de7dd34d2e1ca1760bacef8033e51afd3ef..9094d6c34e74ab236cb315b523a91a7194f0c5bb 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_03.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can query context source registration subscriptions with providing page and limit parameters for pagination
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -18,13 +18,13 @@ ${third_subscription_payload_file_path}= csourceSubscriptions/subscriptio
*** Test Cases *** LIMIT PAGE EXPECTED_SUBSCRIPTION_NUMBER PREV_LINK NEXT_LINK
-Query Second Subscription
+041_03_01 Query Second Subscription
[Tags] csrsub-query 5_11_5
${1} ${2} ${1} ;rel="prev";type="application/ld+json" ;rel="next";type="application/ld+json"
-Query Last Subscription
+041_03_02 Query Last Subscription
[Tags] csrsub-query 5_11_5
${2} ${2} ${1} ;rel="prev";type="application/ld+json" ${EMPTY}
-Query All Subscriptions
+041_03_03 Query All Subscriptions
[Tags] csrsub-query 5_11_5
${15} ${1} ${3} ${EMPTY} ${EMPTY}
@@ -60,9 +60,9 @@ Setup Initial Context Source Registration Subscriptions
Create Context Source Registration Subscription ${first_subscription_payload}
Create Context Source Registration Subscription ${second_subscription_payload}
Create Context Source Registration Subscription ${third_subscription_payload}
- Test Suite Variable ${first_subscription_id}
- Test Suite Variable ${second_subscription_id}
- Test Suite Variable ${third_subscription_id}
+ Set Suite Variable ${first_subscription_id}
+ Set Suite Variable ${second_subscription_id}
+ Set Suite Variable ${third_subscription_id}
Delete Created Context Source Registration Subscriptions
Delete Context Source Registration Subscription ${first_subscription_id}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_04.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_04.robot
index 5391ec10bc6ba62144e10f3b11706f9d4ff296a7..9ae02e4a6c00b60403e84e0e8da9fc50fe2c77fb 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_04.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/QueryContextSourceRegistrationSubscriptions/041_04.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot query context source registration subscriptions with invalid page and limit parameters
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -9,11 +9,11 @@ Test Template Query Context Source Registration Subscriptions With Invalid
*** Test Cases *** LIMIT PAGE
-Invalid Limit [Tags] csrsub-query 5_11_5
+041_04_01 Invalid Limit [Tags] csrsub-query 5_11_5
${-5} ${2}
-Invalid Page [Tags] csrsub-query 5_11_5
+041_04_02 Invalid Page [Tags] csrsub-query 5_11_5
${2} ${-3}
-Invalid Limit And Page
+041_04_03 Invalid Limit And Page
[Tags] csrsub-query 5_11_5
${0} ${0}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/RetrieveContextSourceRegistrationSubscription/040_01.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/RetrieveContextSourceRegistrationSubscription/040_01.robot
index 6f96204666bc64b1e10bd2ea9e2c6c3161121bec..5b97a1f73423e38759fd2ffa100509144e94db1a 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/RetrieveContextSourceRegistrationSubscription/040_01.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/RetrieveContextSourceRegistrationSubscription/040_01.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can retrieve a context source registration subscription
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +16,7 @@ ${expectation_file_path}= csourceSubscriptions/expectations/subscr
*** Test Cases ***
-Retrieve Context Source Registration Subscription
+040_01_01 Retrieve Context Source Registration Subscription
[Documentation] Check that you can retrieve a context source registration subscription
[Tags] csrsub-retrieve 5_11_4
${response}= Retrieve Context Source Registration Subscription
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/RetrieveContextSourceRegistrationSubscription/040_02.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/RetrieveContextSourceRegistrationSubscription/040_02.robot
index 0387b7e805c8b6fe0c4bb86e08cd9d1516be4c4e..a6d73ef92a8451aca53a2332abb58cab7601b48e 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/RetrieveContextSourceRegistrationSubscription/040_02.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/RetrieveContextSourceRegistrationSubscription/040_02.robot
@@ -1,13 +1,13 @@
*** Settings ***
Documentation Check that you cannot retrieve a context source registration subscription with an invalid URI, an error of type BadRequestData shall be raised
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
*** Test Cases ***
-Retrieve Context Source Registration Subscription With An Invalid Id
+040_02_01 Retrieve Context Source Registration Subscription With An Invalid Id
[Documentation] Check that you cannot retrieve a context source registration subscription with an invalid URI, an error of type BadRequestData shall be raised
[Tags] csrsub-retrieve 5_11_4
${response}= Retrieve Context Source Registration Subscription invalidUri
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/RetrieveContextSourceRegistrationSubscription/040_03.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/RetrieveContextSourceRegistrationSubscription/040_03.robot
index f25b20eb2e1fe9185bc6de775931ddc9bf49c5b2..e05523f7189f2e00893800d15bf43e92c51f26ae 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/RetrieveContextSourceRegistrationSubscription/040_03.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/RetrieveContextSourceRegistrationSubscription/040_03.robot
@@ -1,13 +1,13 @@
*** Settings ***
Documentation Check that you cannot retrieve an unknown context source registration subscription, an error of type ResourceNotFound shall be raised
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
*** Test Cases ***
-Retrieve Unknown Context Source Registration Subscription
+040_03_01 Retrieve Unknown Context Source Registration Subscription
[Documentation] Check that you cannot retrieve an unknown context source registration subscription, an error of type ResourceNotFound shall be raised
[Tags] csrsub-retrieve 5_11_4
${response}= Retrieve Context Source Registration Subscription urn:ngsi-ld:Subscription:unknowSubscription
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_01.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_01.robot
index 7905fd7b9848c6188e67c282d02adf0aa16dab69..9926142b0d725202bbcf60132b2b29362a27dc8a 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_01.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_01.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you can update a context source registration subscription
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +16,7 @@ ${subscription_update_fragment_file_path}= csourceSubscriptions/fragments/s
*** Test Cases ***
-Update Context Source Registration Subscription
+039_01_01 Update Context Source Registration Subscription
[Documentation] Check that you can update a context source registration subscription
[Tags] csrsub-update 5_11_3
${subscription_update_fragment}= Load Test Sample ${subscription_update_fragment_file_path}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_02.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_02.robot
index 47c31636245615e6eab80e88f072f32f629ca414..63bcdd789df1437004441d53fa758fe421d0e29c 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_02.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_02.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot update a context source registration subscription with an invalid URI
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -11,7 +11,7 @@ ${subscription_update_fragment_file_path}= csourceSubscriptions/fragments/s
*** Test Cases ***
-Update Context Source Registration Subscription With Invalid Uri
+039_02_01 Update Context Source Registration Subscription With Invalid Uri
[Documentation] Check that you cannot update a context source registration subscription with an invalid URI
[Tags] csrsub-update 5_11_3
${subscription_update_fragment}= Load Test Sample ${subscription_update_fragment_file_path}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_03.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_03.robot
index e7617f1d58f324c0d10aaee8c7f7b64469be8a08..c1688c1947abb563c3febe3b29fa6aca9e4076c8 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_03.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_03.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot update an unknown context source registration subscription
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -11,7 +11,7 @@ ${subscription_update_fragment_file_path}= csourceSubscriptions/fragments/s
*** Test Cases ***
-Update Unknown Context Source Registration Subscription
+039_03_01 Update Unknown Context Source Registration Subscription
[Documentation] Check that you cannot update an unknown context source registration subscription
[Tags] csrsub-update 5_11_3
${subscription_update_fragment}= Load Test Sample ${subscription_update_fragment_file_path}
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_04.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_04.robot
index 750e03f359960fb65f6e3ccbb7bf6590bde57353..61bd43c1606cbbf0c9d02a2a1ae6cb5198891595 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_04.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_04.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot update a context source registration subscription with a fragment that does not meet the data types and restrictions expressed by clause 5.2.12
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,9 +16,9 @@ ${subscription_payload_file_path}= csourceSubscriptions/subscription-sample
*** Test Cases *** FILEPATH
-InvalidType [Tags] csrsub-update 5_11_3
+039_04_01 InvalidType [Tags] csrsub-update 5_11_3
csourceSubscriptions/fragments/subscription-update-invalid-type-sample.json
-InvalidNotification
+039_04_02 InvalidNotification
[Tags] csrsub-update 5_11_3
csourceSubscriptions/fragments/subscription-update-invalid-notification-sample.json
diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_05.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_05.robot
index 55869fc9e95e3f4ec32d3d388a8238a9a3b9aa95..f80af4b8ce6a2a096d2265a854d19097ad668fad 100644
--- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_05.robot
+++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/UpdateContextSourceRegistrationSubscription/039_05.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation Check that you cannot update a context source registration subscription with an invalid request body (invalid JSON document)
-Resource ${EXECDIR}/resources/ApiUtils.resource
+Resource ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource ${EXECDIR}/resources/JsonUtils.resource
@@ -16,7 +16,7 @@ ${subscription_update_fragment_file_path}= csourceSubscriptions/fragments/s
*** Test Cases ***
-Update Context Source Registration Subscription With Invalid JSON Fragment
+039_05_01 Update Context Source Registration Subscription With Invalid JSON Fragment
[Documentation] Check that you cannot update a context source registration subscription with an invalid request body (invalid JSON document)
[Tags] csrsub-update 5_11_3
${response}= Update Context Source Registration Subscription From File
diff --git a/data/entities/fragmentEntities/vehicle-speed-invalid-datasetid-fragment.jsonld b/data/entities/fragmentEntities/vehicle-speed-no-datasetid-fragment.jsonld
similarity index 55%
rename from data/entities/fragmentEntities/vehicle-speed-invalid-datasetid-fragment.jsonld
rename to data/entities/fragmentEntities/vehicle-speed-no-datasetid-fragment.jsonld
index 5a7640a2fb0aeb6da92cbeae4e31f1390f1ba0ef..38de190916875d96266499cd68130d80b304ad20 100644
--- a/data/entities/fragmentEntities/vehicle-speed-invalid-datasetid-fragment.jsonld
+++ b/data/entities/fragmentEntities/vehicle-speed-no-datasetid-fragment.jsonld
@@ -1,12 +1,9 @@
{
- "speed": {
+ "type": "Property",
+ "value": 56,
+ "source": {
"type": "Property",
- "value": 56,
- "source": {
- "type": "Property",
- "value": "Speedometer"
- },
- "datasetId": ""
+ "value": "Speedometer"
},
"@context": [
"https://forge.etsi.org/rep/cim/ngsi-ld-test-suite/-/raw/develop/resources/jsonld-contexts/ngsi-ld-test-suite-compound.jsonld"
diff --git a/data/entities/fragmentEntities/vehicle-speed-unknown-datasetid-fragment.jsonld b/data/entities/fragmentEntities/vehicle-speed-unknown-datasetid-fragment.jsonld
new file mode 100644
index 0000000000000000000000000000000000000000..2367d134b1c466c595e4dfb2816ce992d4a36dbe
--- /dev/null
+++ b/data/entities/fragmentEntities/vehicle-speed-unknown-datasetid-fragment.jsonld
@@ -0,0 +1,12 @@
+{
+ "type": "Property",
+ "value": 56,
+ "source": {
+ "type": "Property",
+ "value": "Speedometer"
+ },
+ "datasetId": "urn:ngsi-ld:Property:unknownDatasetId",
+ "@context": [
+ "https://forge.etsi.org/rep/cim/ngsi-ld-test-suite/-/raw/develop/resources/jsonld-contexts/ngsi-ld-test-suite-compound.jsonld"
+ ]
+}
\ No newline at end of file
diff --git a/data/entities/fragmentEntities/vehicle-speed-wrong-name-fragment.jsonld b/data/entities/fragmentEntities/vehicle-speed-wrong-name-fragment.jsonld
deleted file mode 100644
index d84b42e45ba3ef4fe50ed1f5e21425fc58ce03ae..0000000000000000000000000000000000000000
--- a/data/entities/fragmentEntities/vehicle-speed-wrong-name-fragment.jsonld
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "speed2": {
- "type": "Property",
- "value": 56,
- "source": {
- "type": "Property",
- "value": "Speedometer"
- },
- "datasetId": "urn:ngsi-ld:Property:speedometerA4567-speed"
- },
- "brandName": {
- "type": "Property",
- "value": "BMW"
- },
- "@context": [
- "https://forge.etsi.org/rep/cim/ngsi-ld-test-suite/-/raw/develop/resources/jsonld-contexts/ngsi-ld-test-suite-compound.jsonld"
- ]
-}
\ No newline at end of file
diff --git a/data/subscriptions/subscription-timeInterval-sample-query.jsonld b/data/subscriptions/subscription-building-entities-active-endpoint-info.jsonld
similarity index 70%
rename from data/subscriptions/subscription-timeInterval-sample-query.jsonld
rename to data/subscriptions/subscription-building-entities-active-endpoint-info.jsonld
index a6bd1088b592fe44070de914d0baab7059fe5691..7e907cdbbd17f8d197a9e79da2f0f3a637a90949 100644
--- a/data/subscriptions/subscription-timeInterval-sample-query.jsonld
+++ b/data/subscriptions/subscription-building-entities-active-endpoint-info.jsonld
@@ -1,16 +1,19 @@
{
"id":"urn:ngsi-ld:Subscription:randomUUID",
"type":"Subscription",
- "timeInterval": 10,
"entities":[
{
"type":"Building"
}
],
"notification":{
+ "format": "normalized",
"endpoint":{
"uri":"http://my.endpoint.org/notify",
- "accept":"application/json"
+ "accept":"application/json",
+ "receiverInfo": [
+ { "key": "X-Additional-Key", "value": "Value" }
+ ]
}
},
"@context":[
diff --git a/data/subscriptions/subscription-building-entities-active-query.jsonld b/data/subscriptions/subscription-building-entities-active-query.jsonld
index 2cce39704ac439f29b68e883ea9b299adafcabbc..7166057132955a0458f00094ccd8c900b08aebd3 100644
--- a/data/subscriptions/subscription-building-entities-active-query.jsonld
+++ b/data/subscriptions/subscription-building-entities-active-query.jsonld
@@ -7,7 +7,6 @@
"type":"Building"
}
],
- "watchedAttributes": ["name"],
"q":"name==\"Eiffel Tower\"",
"notification":{
"format":"keyValues",
diff --git a/data/temporalEntities/entity-operations-after-query.jsonld b/data/temporalEntities/entity-operations-after-query.jsonld
index 590f4701e3684f91eb15be8feacf3d642df7fce1..4eeabb72141bc6c0be3ba5f5a7679350d0773f74 100644
--- a/data/temporalEntities/entity-operations-after-query.jsonld
+++ b/data/temporalEntities/entity-operations-after-query.jsonld
@@ -1,8 +1,5 @@
{
"type":"Vehicle",
"timerel":"after",
- "timeAt":"2020-08-02T12:05:00Z",
- "@context":[
- "https://forge.etsi.org/rep/cim/ngsi-ld-test-suite/-/raw/develop/resources/jsonld-contexts/ngsi-ld-test-suite-compound.jsonld"
- ]
+ "timeAt":"2020-08-02T12:05:00Z"
}
\ No newline at end of file
diff --git a/data/temporalEntities/entity-operations-before-query.jsonld b/data/temporalEntities/entity-operations-before-query.jsonld
index a5033a0503342b0c71d4b88af96b54c92ab9cb9e..03791c34ca4e849f0c83a53e48f74bc5cff153e0 100644
--- a/data/temporalEntities/entity-operations-before-query.jsonld
+++ b/data/temporalEntities/entity-operations-before-query.jsonld
@@ -1,8 +1,5 @@
{
"type":"Vehicle",
"timerel":"before",
- "timeAt":"2020-08-02T12:05:00Z",
- "@context":[
- "https://forge.etsi.org/rep/cim/ngsi-ld-test-suite/-/raw/develop/resources/jsonld-contexts/ngsi-ld-test-suite-compound.jsonld"
- ]
+ "timeAt":"2020-08-02T12:05:00Z"
}
\ No newline at end of file
diff --git a/libraries/ErrorListener.py b/libraries/ErrorListener.py
new file mode 100644
index 0000000000000000000000000000000000000000..6cd09f11dfcdfc6383e9f4f138c0242235c59fea
--- /dev/null
+++ b/libraries/ErrorListener.py
@@ -0,0 +1,53 @@
+from os.path import join
+from os import getcwd
+from re import compile, match, MULTILINE
+
+
+class ErrorListener:
+ ROBOT_LISTENER_API_VERSION = 2
+
+ def __init__(self, filename='errors.log'):
+ self.cwd = getcwd()
+ out_path = join('results', filename)
+ self.max_length = 150
+ self.outfile = open(out_path, 'w')
+ self.tests = str()
+ self.suite_name = str()
+ self.rx_dict = {
+ 'variables': compile('^\${.*$|^\&{.*$|^\@{.*'),
+ 'http_verbs': compile('^GET.*(Request|Response).*$|'
+ '^HEAD.*(Request|Response).*$|'
+ '^POST.*(Request|Response).*$|'
+ '^PUT.*(Request|Response).*$|'
+ '^DELETE.*(Request|Response).*$|'
+ '^CONNECT.*(Request|Response).*$|'
+ '^OPTIONS.*(Request|Response).*$|'
+ '^TRACE.*(Request|Response).*$|'
+ '^PATCH.*(Request|Response).*$', MULTILINE)
+ }
+
+ def start_suite(self, name, attrs):
+ self.suite_name = attrs['source'].replace(self.cwd, '')[1:].replace('.robot', '').replace('/', ".")
+ self.outfile.write(f'{"=" * self.max_length}\n')
+ self.outfile.write(f'{self.suite_name} :: {attrs["doc"]}\n')
+ self.outfile.write(f'{"=" * self.max_length}\n')
+
+ def start_test(self, name, attrs):
+ self.tests = f"{name} :: {attrs['doc']}\n"
+
+ def end_test(self, name, attrs):
+ if attrs['status'] != 'PASS':
+ self.outfile.write(self.tests)
+ self.outfile.write(f'| FAIL |\n{attrs["message"]}\n')
+ self.outfile.write(f'{"-" * self.max_length}\n')
+
+ def end_suite(self, name, attrs):
+ self.outfile.write(f'{self.suite_name} :: {attrs["doc"]}... | {attrs["status"]} |\n{attrs["statistics"]}\n')
+
+ def log_message(self, msg):
+ if (not match(pattern=self.rx_dict['variables'], string=msg['message']) and
+ not match(pattern=self.rx_dict['http_verbs'], string=msg['message'])):
+ self.outfile.write(f'{msg["message"]}\n')
+
+ def close(self):
+ self.outfile.close()
diff --git a/libraries/assertionUtils.py b/libraries/assertionUtils.py
index d05583d31bda9e4d54bcbc636df5fdc48350216a..ae9fc0891a275e7b1a4f7885f0fb1c1fd67e33ec 100644
--- a/libraries/assertionUtils.py
+++ b/libraries/assertionUtils.py
@@ -1,5 +1,6 @@
import re
from dataclasses import dataclass
+import dateTimeUtils
from deepdiff import DeepDiff
from deepdiff.helper import CannotCompare
from prettydiff import get_annotated_lines_from_diff, diff_json, Flag
@@ -45,6 +46,19 @@ class StringOrSingleListContextOperator:
return expected_context == actual_context
+class TemporalPropertyOperator:
+ def match(self, level) -> bool:
+ return (level.path().endswith("['createdAt']")
+ or level.path().endswith("['modifiedAt']")
+ or level.path().endswith("['observedAt']")
+ or level.path().endswith("['deletedAt']"))
+
+ def give_up_diffing(self, level, diff_instance) -> bool:
+ expected_datetime = dateTimeUtils.parse_ngsild_date(level.t1)
+ actual_datetime = dateTimeUtils.parse_ngsild_date(level.t2)
+ return actual_datetime is not None and expected_datetime == actual_datetime
+
+
def compare_func(x, y, level=None):
try:
return x['id'] == y['id']
@@ -64,18 +78,22 @@ def compare_dictionaries_ignoring_keys(expected, actual, exclude_regex_paths, ig
if group_by is not None and ignore_core_context_version:
res = DeepDiff(expected, actual, exclude_regex_paths=exclude_regex_paths, ignore_order=True, verbose_level=1,
- iterable_compare_func=compare_func, custom_operators=[AnyCoreContextVersionOperator()],
+ iterable_compare_func=compare_func,
+ custom_operators=[AnyCoreContextVersionOperator(), TemporalPropertyOperator()],
group_by=group_by)
elif group_by is not None:
res = DeepDiff(expected, actual, exclude_regex_paths=exclude_regex_paths, ignore_order=True, verbose_level=1,
- iterable_compare_func=compare_func, custom_operators=[StringOrSingleListContextOperator()],
+ iterable_compare_func=compare_func,
+ custom_operators=[StringOrSingleListContextOperator(), TemporalPropertyOperator()],
group_by=group_by)
elif ignore_core_context_version:
res = DeepDiff(expected, actual, exclude_regex_paths=exclude_regex_paths, ignore_order=True, verbose_level=1,
- iterable_compare_func=compare_func, custom_operators=[AnyCoreContextVersionOperator()])
+ iterable_compare_func=compare_func,
+ custom_operators=[AnyCoreContextVersionOperator(), TemporalPropertyOperator()])
else:
res = DeepDiff(expected, actual, exclude_regex_paths=exclude_regex_paths, ignore_order=True, verbose_level=1,
- iterable_compare_func=compare_func, custom_operators=[StringOrSingleListContextOperator()])
+ iterable_compare_func=compare_func,
+ custom_operators=[StringOrSingleListContextOperator(), TemporalPropertyOperator()])
if len(res) > 0:
output_pretty_diff(expected, actual, Theme(added="", removed="", reset=""))
diff --git a/libraries/dateTimeUtils.py b/libraries/dateTimeUtils.py
index d22264c89a02166260c23779a3179e98e6b95f07..973a5de97e578eab550a67ba9c152e04ee214267 100644
--- a/libraries/dateTimeUtils.py
+++ b/libraries/dateTimeUtils.py
@@ -1,4 +1,5 @@
-import datetime
+from datetime import datetime
+import re
def is_date(date, format):
@@ -7,7 +8,33 @@ def is_date(date, format):
:param format: date format
"""
try:
- datetime.datetime.strptime(date, format)
+ datetime.strptime(date, format)
return True
except ValueError:
return False
+
+
+def parse_ngsild_date(date_string):
+ """Function used in checks to assert if a received date is compliant with the NGSI-LD format
+ :param date_string: string to check for date
+ """
+ try:
+ # timestamp with milliseconds separated by a comma (v1.3+)
+ match = re.match(r"\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2},\d{1,6}Z", date_string)
+ if match:
+ return datetime.strptime(date_string, "%Y-%m-%dT%H:%M:%S,%fZ")
+
+ # timestamp with milliseconds separated by a dot (v1.4+)
+ match = re.match(r"\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{1,6}Z", date_string)
+ if match:
+ return datetime.strptime(date_string, "%Y-%m-%dT%H:%M:%S.%fZ")
+
+ # timestamp without milliseconds
+ match = re.match(r"\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z", date_string)
+ if match:
+ return datetime.strptime(date_string, "%Y-%m-%dT%H:%M:%SZ")
+
+ # unknown timestamp format
+ return None
+ except ValueError:
+ return None
diff --git a/libraries/logUtils.py b/libraries/logUtils.py
index 9254bc599d6f592248d523684521aa184b0095c9..c796a1896a2009e61da985ac7b1a7eae81bef1fa 100644
--- a/libraries/logUtils.py
+++ b/libraries/logUtils.py
@@ -39,3 +39,21 @@ def output(response, description, console=True):
logger.info(pretty_request_json, also_console=True)
logger.info("Response ->", also_console=True)
logger.info(pretty_response_json, also_console=True)
+
+
+@keyword(name="Output Notification", tags=("I/O",))
+def output_notification(body, headers, description, console=True):
+ """*Body and headers of the notification are output to terminal and file (in JSON).*
+ :param body: body of the notification received
+ :param headers: headers of the notification received
+ :param description: explains what request is being made
+ :param console: If false, the JSON is not written to terminal. Default is true.
+ """
+
+ request_json = {'headers': dict(headers), 'body': body}
+
+ pretty_request_json = dumps(request_json, indent=4, sort_keys=False, separators=(",", ": "))
+
+ logger.info("\n" + description, also_console=True)
+ logger.info("Notification ->", also_console=True)
+ logger.info(pretty_request_json, also_console=True)
diff --git a/requirements.txt b/requirements.txt
index 971526e5e29034dfb28bf0cda779a0655c410234..094d2d731bd202ba4a5a5a7cf95b04d8d6e6b8c4 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,7 +2,7 @@
robotframework==6.1.1
robotframework-jsonlibrary==0.5
robotframework-requests==0.9.5
-deepdiff==6.3.1
+deepdiff==6.5.0
prettydiff==0.1.0
robotframework-httpctrl==0.3.1
robotframework-tidy==4.5.0
diff --git a/resources/ApiUtils.resource b/resources/ApiUtils.resource
old mode 100755
new mode 100644
diff --git a/resources/ApiUtils/ContextInformationConsumption.resource b/resources/ApiUtils/ContextInformationConsumption.resource
new file mode 100755
index 0000000000000000000000000000000000000000..70e50ef2412f049b502d3287b73d7a0a835c9acf
--- /dev/null
+++ b/resources/ApiUtils/ContextInformationConsumption.resource
@@ -0,0 +1,264 @@
+*** Settings ***
+Variables ${EXECDIR}/resources/variables.py
+Library ${EXECDIR}/libraries/logUtils.py
+Library Collections
+Library OperatingSystem
+Library RequestsLibrary
+
+
+*** Variables ***
+${ATTRIBUTES_ENDPOINT_PATH} attributes
+${ENTITIES_ENDPOINT_PATH} entities/
+${ENTITY_OPERATIONS_QUERY_ENDPOINT_PATH} entityOperations/query
+${ENTITIES_TYPES_ENDPOINT_PATH} types
+
+${CONTENT_TYPE_LD_JSON} application/ld+json
+
+${ERROR_TYPE_BAD_REQUEST_DATA} https://uri.etsi.org/ngsi-ld/errors/BadRequestData
+${ERROR_TYPE_INVALID_REQUEST} https://uri.etsi.org/ngsi-ld/errors/InvalidRequest
+${ERROR_TYPE_RESOURCE_NOT_FOUND} https://uri.etsi.org/ngsi-ld/errors/ResourceNotFound
+
+${response} ${EMPTY}
+
+
+*** Keywords ***
+Query Entities
+ [Arguments]
+ ... ${entity_ids}=${EMPTY}
+ ... ${entity_types}=${EMPTY}
+ ... ${accept}=${EMPTY}
+ ... ${attrs}=${EMPTY}
+ ... ${context}=${EMPTY}
+ ... ${geoproperty}=${EMPTY}
+ ... ${options}=${EMPTY}
+ ... ${limit}=${EMPTY}
+ ... ${entity_id_pattern}=${EMPTY}
+ ... ${georel}=${EMPTY}
+ ... ${coordinates}=${EMPTY}
+ ... ${geometry}=${EMPTY}
+ ${attrs_length}= Get Length ${attrs}
+ ${accept_length}= Get Length ${accept}
+ ${options_length}= Get Length ${options}
+ ${entity_ids_length}= Get Length ${entity_ids}
+ ${entity_types_length}= Get Length ${entity_types}
+ &{headers}= Create Dictionary
+ &{params}= Create Dictionary
+ IF ${accept_length}>0
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ IF ${attrs_length}>0 Set To Dictionary ${params} attrs=${attrs}
+ IF '${geoproperty}'!=''
+ Set To Dictionary ${params} geoproperty=${geoproperty}
+ END
+ IF ${options_length}>0
+ Set To Dictionary ${params} options=${options}
+ END
+ IF ${entity_ids_length}>0
+ Set To Dictionary ${params} id=${entity_ids}
+ END
+ IF ${entity_types_length}>0
+ Set To Dictionary ${params} type=${entity_types}
+ END
+ IF '${limit}'!='' Set To Dictionary ${params} limit=${limit}
+ IF '${entity_id_pattern}'!=''
+ Set To Dictionary ${params} idPattern=${entity_id_pattern}
+ END
+ IF '${georel}'!='' Set To Dictionary ${params} georel=${georel}
+ IF '${coordinates}'!=''
+ Set To Dictionary ${params} coordinates=${coordinates}
+ END
+ IF '${geometry}'!=''
+ Set To Dictionary ${params} geometry=${geometry}
+ END
+
+ ${response}= GET
+ ... url=${url}/${ENTITIES_ENDPOINT_PATH}
+ ... headers=${headers}
+ ... params=${params}
+ ... expected_status=any
+ Output ${response} Query Entities
+ RETURN ${response}
+
+Query Entities Via POST
+ [Arguments]
+ ... ${entity_ids}=${EMPTY}
+ ... ${entity_types}=${EMPTY}
+ ... ${content_type}=${CONTENT_TYPE_LD_JSON}
+ ... ${attrs}=${EMPTY}
+ ... ${entity_id_pattern}=${EMPTY}
+ ... ${geoproperty}=${EMPTY}
+ &{headers}= Create Dictionary
+ &{params}= Create Dictionary
+ ${entity_ids_length}= Get Length ${entity_ids}
+ ${entity_types_length}= Get Length ${entity_types}
+ ${attrs_length}= Get Length ${attrs}
+ Set To Dictionary ${headers} Content-Type ${content_type}
+ IF ${entity_ids_length}>0
+ Set To Dictionary ${params} id=${entity_ids}
+ END
+ IF ${entity_types_length}>0
+ Set To Dictionary ${params} type=${entity_types}
+ END
+ IF ${attrs_length}>0 Set To Dictionary ${params} attrs=${attrs}
+ IF '${entity_id_pattern}'!=''
+ Set To Dictionary ${params} idPattern=${entity_id_pattern}
+ END
+ IF '${geoproperty}'!=''
+ Set To Dictionary ${params} geoproperty=${geoproperty}
+ END
+ ${response}= POST
+ ... url=${url}/${ENTITY_OPERATIONS_QUERY_ENDPOINT_PATH}
+ ... json=${params}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Query Entities Via POST
+ RETURN ${response}
+
+Query Entity
+ [Arguments]
+ ... ${id}
+ ... ${accept}=${EMPTY}
+ ... ${attrs}=${EMPTY}
+ ... ${context}=${EMPTY}
+ ... ${geoproperty}=${EMPTY}
+ ... ${options}=${EMPTY}
+ ${attrs_length}= Get Length ${attrs}
+ ${accept_length}= Get Length ${accept}
+ ${options_length}= Get Length ${options}
+ &{headers}= Create Dictionary
+ &{params}= Create Dictionary
+ IF ${accept_length}>0
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ IF ${attrs_length}>0 Set To Dictionary ${params} attrs=${attrs}
+ IF '${geoproperty}'!=''
+ Set To Dictionary ${params} geoproperty=${geoproperty}
+ END
+ IF ${options_length}>0
+ Set To Dictionary ${params} options=${options}
+ END
+
+ ${response}= GET
+ ... url=${url}/${ENTITIES_ENDPOINT_PATH}${id}
+ ... headers=${headers}
+ ... params=${params}
+ ... expected_status=any
+ Output ${response} Query Entity
+ RETURN ${response}
+
+Retrieve Attribute
+ [Arguments] ${attribute_name} ${context}=${EMPTY} ${accept}=${EMPTY}
+
+ &{headers}= Create Dictionary
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${response}= GET
+ ... url=${url}/${ATTRIBUTES_ENDPOINT_PATH}/${attribute_name}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Retrieve Attribute
+ RETURN ${response}
+
+Retrieve Attributes
+ [Arguments] ${context}=${EMPTY} ${details}=false ${accept}=${EMPTY}
+
+ &{headers}= Create Dictionary
+ &{params}= Create Dictionary
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ Set To Dictionary ${params} details=${details}
+ ${response}= GET
+ ... url=${url}/${ATTRIBUTES_ENDPOINT_PATH}
+ ... headers=${headers}
+ ... params=${params}
+ ... expected_status=any
+ Output ${response} Retrieve Attributes
+ RETURN ${response}
+
+Request Entity From File
+ [Arguments] ${filename}
+ ${file_content}= Get File ${EXECDIR}/data/entities/${filename}
+ &{headers}= Create Dictionary Content-Type=application/ld+json
+ ${response}= POST
+ ... url=${url}/${ENTITIES_ENDPOINT_PATH}
+ ... data=${file_content}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Request Entity From File
+ RETURN ${response}
+
+Retrieve Entity by Id
+ [Arguments] ${id} ${accept}=${CONTENT_TYPE_LD_JSON} ${context}=${EMPTY}
+ ${headers}= Create Dictionary
+ Set To Dictionary ${headers} Accept ${accept}
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${response}= GET url=${url}/${ENTITIES_ENDPOINT_PATH}${id} headers=${headers} expected_status=any
+ Output ${response} Retrieve Entity by Id
+ RETURN ${response}
+
+Retrieve Entity Type
+ [Arguments] ${type} ${context}=${EMPTY} ${accept}=${EMPTY}
+
+ &{headers}= Create Dictionary
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${response}= GET
+ ... url=${url}/${ENTITIES_TYPES_ENDPOINT_PATH}/${type}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Retrieve Entity Type
+ RETURN ${response}
+
+Retrieve Entity Types
+ [Arguments] ${context}=${EMPTY} ${details}=false ${accept}=${EMPTY}
+
+ &{headers}= Create Dictionary
+ &{params}= Create Dictionary
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ Set To Dictionary ${params} details=${details}
+ ${response}= GET
+ ... url=${url}/${ENTITIES_TYPES_ENDPOINT_PATH}/
+ ... headers=${headers}
+ ... params=${params}
+ ... expected_status=any
+ Output ${response} Retrieve Entity Types
+ RETURN ${response}
diff --git a/resources/ApiUtils/ContextInformationProvision.resource b/resources/ApiUtils/ContextInformationProvision.resource
new file mode 100755
index 0000000000000000000000000000000000000000..b4ec511c85de140c98b64bc61054102f8911d6cc
--- /dev/null
+++ b/resources/ApiUtils/ContextInformationProvision.resource
@@ -0,0 +1,241 @@
+*** Settings ***
+Variables ${EXECDIR}/resources/variables.py
+Library ${EXECDIR}/libraries/logUtils.py
+Library RequestsLibrary
+Library OperatingSystem
+Library Collections
+Library JSONLibrary
+
+
+*** Variables ***
+${BATCH_CREATE_ENDPOINT_PATH} entityOperations/create
+${BATCH_DELETE_ENDPOINT_PATH} entityOperations/delete
+${BATCH_UPDATE_ENDPOINT_PATH} entityOperations/update
+${BATCH_UPSERT_ENDPOINT_PATH} entityOperations/upsert
+&{BATCH_OPERATION_ENDPOINT_MAPPING} &{EMPTY}
+ ... create=${BATCH_CREATE_ENDPOINT_PATH}
+ ... delete=${BATCH_DELETE_ENDPOINT_PATH}
+ ... update=${BATCH_UPDATE_ENDPOINT_PATH}
+ ... upsert=${BATCH_UPSERT_ENDPOINT_PATH}
+
+${ENTITIES_ENDPOINT_PATH} entities/
+
+${CONTENT_TYPE_JSON} application/json
+${CONTENT_TYPE_LD_JSON} application/ld+json
+${CONTENT_TYPE_MERGE_PATCH_JSON} application/merge-patch+json
+
+${ERROR_TYPE_BAD_REQUEST_DATA} https://uri.etsi.org/ngsi-ld/errors/BadRequestData
+${ERROR_TYPE_LD_CONTEXT_NOT_AVAILABLE} https://uri.etsi.org/ngsi-ld/errors/LdContextNotAvailable
+${ERROR_TYPE_ALREADY_EXISTS} https://uri.etsi.org/ngsi-ld/errors/AlreadyExists
+${ERROR_TYPE_INVALID_REQUEST} https://uri.etsi.org/ngsi-ld/errors/InvalidRequest
+${ERROR_TYPE_RESOURCE_NOT_FOUND} https://uri.etsi.org/ngsi-ld/errors/ResourceNotFound
+
+${response} ${EMPTY}
+
+
+*** Keywords ***
+Append Entity Attributes
+ [Arguments] ${id} ${fragment_filename} ${content_type}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ ${file_content}= Get File ${EXECDIR}/data/entities/fragmentEntities/${fragment_filename}
+ ${response}= POST
+ ... url=${url}/${ENTITIES_ENDPOINT_PATH}${id}/attrs/
+ ... data=${file_content}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Append Entity Attributes
+ RETURN ${response}
+
+Append Entity Attributes With Parameters
+ [Arguments] ${id} ${fragment_filename} ${content_type} ${options}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ ${fragment_payload}= Load JSON From File ${EXECDIR}/data/entities/fragmentEntities/${fragment_filename}
+ ${response}= POST
+ ... url=${url}/${ENTITIES_ENDPOINT_PATH}${id}/attrs/?options=${options}
+ ... json=${fragment_payload}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Append Entity Attributes With Parameters
+ RETURN ${response}
+
+Batch Create Entities
+ [Arguments]
+ ... @{entities_to_be_created}
+ ... ${content_type}=${CONTENT_TYPE_LD_JSON}
+ ... ${context}=${EMPTY}
+ ... ${accept}=${EMPTY}
+ ${headers}= Create Dictionary
+ Set To Dictionary ${headers} Content-Type ${content_type}
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${response}= POST
+ ... url=${url}/${BATCH_CREATE_ENDPOINT_PATH}
+ ... json=@{entities_to_be_created}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Batch Create Entities
+ RETURN ${response}
+
+Batch Delete Entities
+ [Arguments] @{entities_ids_to_be_deleted} ${teardown}=False
+ &{headers}= Create Dictionary Content-Type=application/ld+json
+ ${response}= POST
+ ... url=${url}/${BATCH_DELETE_ENDPOINT_PATH}
+ ... json=@{entities_ids_to_be_deleted}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Batch Delete Entities
+ RETURN ${response}
+
+Batch Request Entities From File
+ [Arguments] ${batchOperation} ${filename}
+ ${file_content}= Get File ${EXECDIR}/data/entities/${filename}
+ ${endpoint_url}= Get From Dictionary ${BATCH_OPERATION_ENDPOINT_MAPPING} ${batchOperation}
+ &{headers}= Create Dictionary Content-Type=application/ld+json
+ ${response}= POST
+ ... url=${url}/${endpoint_url}
+ ... data=${file_content}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Batch Request Entities From File
+ RETURN ${response}
+
+Batch Update Entities
+ [Arguments] @{entities_to_be_updated} ${overwrite_option}=${EMPTY}
+ @{params}= Create List
+ IF '${overwrite_option}'!=''
+ Append To List ${params} options=${overwrite_option}
+ END
+ ${params_as_string}= Catenate SEPARATOR=& @{params}
+ &{headers}= Create Dictionary Content-Type=application/ld+json
+ ${response}= POST
+ ... url=${url}/${BATCH_UPDATE_ENDPOINT_PATH}?${params_as_string}
+ ... json=@{entities_to_be_updated}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Batch Update Entities
+ RETURN ${response}
+
+Batch Upsert Entities
+ [Arguments] @{entities_to_be_upserted} ${update_option}=replace
+ &{headers}= Create Dictionary Content-Type=application/ld+json
+ ${response}= POST
+ ... url=${url}/${BATCH_UPSERT_ENDPOINT_PATH}?options=${update_option}
+ ... json=@{entities_to_be_upserted}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Batch Upsert Entities
+ RETURN ${response}
+
+Create Entity
+ [Arguments] ${filename} ${entity_id}
+ ${entity_payload}= Load JSON From File ${EXECDIR}/data/entities/${filename}
+ ${entity}= Update Value To JSON ${entity_payload} $..id ${entity_id}
+ &{headers}= Create Dictionary Content-Type=application/ld+json
+ ${response}= POST
+ ... url=${url}/${ENTITIES_ENDPOINT_PATH}
+ ... json=${entity}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Create Entity
+ RETURN ${response}
+
+Create Entity Selecting Content Type
+ [Arguments] ${filename} ${entity_id} ${content_type} ${context}=${EMPTY} ${accept}=${EMPTY}
+ ${entity_payload}= Load JSON From File ${EXECDIR}/data/entities/${filename}
+ ${entity}= Update Value To JSON ${entity_payload} $..id ${entity_id}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ IF '${accept}'!='${EMPTY}'
+ Set To Dictionary ${headers} Accept=${accept}
+ END
+ IF '${context}'!='${EMPTY}'
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${response}= POST
+ ... url=${url}/${ENTITIES_ENDPOINT_PATH}
+ ... json=${entity}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Create Entity Selecting Content Type
+ RETURN ${response}
+
+Delete Entity Attributes
+ [Arguments] ${entityId} ${attributeId} ${datasetId} ${deleteAll} ${context}=${EMPTY}
+ &{headers}= Create Dictionary Content-Type=${CONTENT_TYPE_JSON}
+ IF '${context}'!='${EMPTY}'
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ @{params}= Create List
+ IF '${datasetId}'!=''
+ Append To List ${params} datasetId=${datasetId}
+ END
+ IF '${deleteAll}'!=''
+ Append To List ${params} deleteAll=${deleteAll}
+ END
+ ${params_as_string}= Catenate SEPARATOR=& @{params}
+ ${response}= DELETE
+ ... url=${url}/${ENTITIES_ENDPOINT_PATH}${entityId}/attrs/${attributeId}?${params_as_string}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Delete Entity Attributes
+ RETURN ${response}
+
+Delete Entity by Id
+ [Arguments] ${id}
+ ${response}= DELETE url=${url}/${ENTITIES_ENDPOINT_PATH}${id} expected_status=any
+ Output ${response} Delete Entity by Id
+ RETURN ${response}
+
+Delete Entity by Id Returning Response
+ [Arguments] ${id}
+ ${response}= DELETE url=${url}/${ENTITIES_ENDPOINT_PATH}${id} expected_status=any
+ Output ${response} Delete Entity by Id Returning Response
+ RETURN ${response}
+
+Partial Update Entity Attributes
+ [Arguments]
+ ... ${entityId}
+ ... ${attributeId}
+ ... ${fragment_filename}
+ ... ${content_type}
+ ... ${accept}=${EMPTY}
+ ... ${context}=${EMPTY}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${fragment_payload}= Load JSON From File ${EXECDIR}/data/entities/fragmentEntities/${fragment_filename}
+ ${response}= PATCH
+ ... url=${url}/${ENTITIES_ENDPOINT_PATH}${entityId}/attrs/${attributeId}
+ ... json=${fragment_payload}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Partial Update Entity Attributes
+ RETURN ${response}
+
+Update Entity Attributes
+ [Arguments] ${id} ${fragment_filename} ${content_type}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ ${file_content}= Get File ${EXECDIR}/data/entities/fragmentEntities/${fragment_filename}
+ ${response}= PATCH
+ ... url=${url}/${ENTITIES_ENDPOINT_PATH}${id}/attrs/
+ ... data=${file_content}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Update Entity Attributes
+ RETURN ${response}
diff --git a/resources/ApiUtils/ContextInformationSubscription.resource b/resources/ApiUtils/ContextInformationSubscription.resource
new file mode 100755
index 0000000000000000000000000000000000000000..38a5fa934f1ecc08ccedd945c0d2800515b074b1
--- /dev/null
+++ b/resources/ApiUtils/ContextInformationSubscription.resource
@@ -0,0 +1,175 @@
+*** Settings ***
+Variables ${EXECDIR}/resources/variables.py
+Library ${EXECDIR}/libraries/logUtils.py
+Library Collections
+Library JSONLibrary
+Library OperatingSystem
+Library RequestsLibrary
+
+
+*** Variables ***
+${SUBSCRIPTION_ENDPOINT_PATH} subscriptions/
+
+${CONTENT_TYPE_JSON} application/json
+${CONTENT_TYPE_LD_JSON} application/ld+json
+
+${ERROR_TYPE_BAD_REQUEST_DATA} https://uri.etsi.org/ngsi-ld/errors/BadRequestData
+${ERROR_TYPE_INVALID_REQUEST} https://uri.etsi.org/ngsi-ld/errors/InvalidRequest
+${ERROR_TYPE_RESOURCE_NOT_FOUND} https://uri.etsi.org/ngsi-ld/errors/ResourceNotFound
+${ERROR_TYPE_ALREADY_EXISTS} https://uri.etsi.org/ngsi-ld/errors/AlreadyExists
+
+${response} ${EMPTY}
+
+
+*** Keywords ***
+Create Subscription
+ [Arguments]
+ ... ${subscription_id}
+ ... ${filename_path}
+ ... ${content_type}
+ ... ${accept}=${EMPTY}
+ ... ${context}=${EMPTY}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${subscription_payload}= Load JSON From File ${EXECDIR}/data/${filename_path}
+ ${subscription}= Update Value To JSON ${subscription_payload} $..id ${subscription_id}
+ ${response}= POST
+ ... url=${url}/${SUBSCRIPTION_ENDPOINT_PATH}
+ ... json=${subscription}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Create Subscription
+ RETURN ${response}
+
+Create Subscription From File
+ [Arguments] ${filename}
+ ${file_content}= Get File ${EXECDIR}/data/subscriptions/${filename}
+ &{headers}= Create Dictionary Content-Type=application/ld+json
+ ${response}= POST
+ ... url=${url}/${SUBSCRIPTION_ENDPOINT_PATH}
+ ... data=${file_content}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Create Subscription From File
+ RETURN ${response}
+
+Create Subscription From Subscription Payload
+ [Arguments]
+ ... ${subscription_payload}
+ ... ${content_type}=${CONTENT_TYPE_LD_JSON}
+ ... ${accept}=${EMPTY}
+ ... ${context}=${EMPTY}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${response}= POST
+ ... url=${url}/${SUBSCRIPTION_ENDPOINT_PATH}
+ ... json=${subscription_payload}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Create Subscription From Subscription Payload
+ RETURN ${response}
+
+Delete Subscription
+ [Arguments] ${subscription_id}
+ ${response}= DELETE url=${url}/${SUBSCRIPTION_ENDPOINT_PATH}${subscription_id} expected_status=any
+ Output ${response} Delete Subscription
+ RETURN ${response}
+
+Query Subscriptions
+ [Arguments] ${context}=${EMPTY} ${limit}=${EMPTY} ${offset}=${EMPTY} ${accept}=${EMPTY}
+
+ &{headers}= Create Dictionary
+ &{params}= Create Dictionary
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ IF '${limit}'!='' Set To Dictionary ${params} limit=${limit}
+ IF '${offset}'!='' Set To Dictionary ${params} offset=${offset}
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+
+ ${response}= GET
+ ... url=${url}/${SUBSCRIPTION_ENDPOINT_PATH}
+ ... headers=${headers}
+ ... params=${params}
+ ... expected_status=any
+ Output ${response} Query Subscriptions
+ RETURN ${response}
+
+Retrieve Subscription
+ [Arguments] ${id} ${accept}=${EMPTY} ${context}=${EMPTY} ${content_type}=${CONTENT_TYPE_JSON}
+
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+
+ ${response}= GET url=${url}/${SUBSCRIPTION_ENDPOINT_PATH}${id} headers=${headers} expected_status=any
+ Output ${response} Retrieve Subscription
+ RETURN ${response}
+
+Update Subscription
+ [Arguments]
+ ... ${subscription_id}
+ ... ${fragment_filename}
+ ... ${content_type}
+ ... ${accept}=${EMPTY}
+ ... ${context}=${EMPTY}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${subscription_update_fragment}= Load JSON From File ${EXECDIR}/data/${fragment_filename}
+ ${response}= PATCH
+ ... url=${url}/${SUBSCRIPTION_ENDPOINT_PATH}${subscription_id}
+ ... json=${subscription_update_fragment}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Update Subscription
+ RETURN ${response}
+
+Update Subscription With Payload
+ [Arguments] ${subscription_id} ${payload} ${content_type} ${accept}=${EMPTY} ${context}=${EMPTY}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${response}= PATCH
+ ... url=${url}/${SUBSCRIPTION_ENDPOINT_PATH}${subscription_id}
+ ... json=${payload}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Update Subscription With Payload
+ RETURN ${response}
diff --git a/resources/ApiUtils/ContextSourceDiscovery.resource b/resources/ApiUtils/ContextSourceDiscovery.resource
new file mode 100755
index 0000000000000000000000000000000000000000..03b434a0bf4d7260ab18cac9e0b24963fd884d37
--- /dev/null
+++ b/resources/ApiUtils/ContextSourceDiscovery.resource
@@ -0,0 +1,153 @@
+*** Settings ***
+Variables ${EXECDIR}/resources/variables.py
+Library ${EXECDIR}/libraries/logUtils.py
+Library Collections
+Library RequestsLibrary
+
+
+*** Variables ***
+${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH} csourceRegistrations
+
+${ERROR_TYPE_BAD_REQUEST_DATA} https://uri.etsi.org/ngsi-ld/errors/BadRequestData
+${ERROR_TYPE_RESOURCE_NOT_FOUND} https://uri.etsi.org/ngsi-ld/errors/ResourceNotFound
+
+${response} ${EMPTY}
+
+
+*** Keywords ***
+Query Context Source Registrations
+ [Arguments]
+ ... ${context}=${EMPTY}
+ ... ${id}=${EMPTY}
+ ... ${type}=${EMPTY}
+ ... ${attrs}=${EMPTY}
+ ... ${q}=${EMPTY}
+ ... ${csf}=${EMPTY}
+ ... ${georel}=${EMPTY}
+ ... ${geometry}=${EMPTY}
+ ... ${coordinates}=${EMPTY}
+ ... ${geoproperty}=${EMPTY}
+ ... ${timeproperty}=${EMPTY}
+ ... ${timerel}=${EMPTY}
+ ... ${timeAt}=${EMPTY}
+ ... ${limit}=${EMPTY}
+ ... ${page}=${EMPTY}
+ ... ${accept}=${EMPTY}
+
+ &{headers}= Create Dictionary
+ &{params}= Create Dictionary
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ IF '${accept}'!='' Set To Dictionary ${headers} Accept=${accept}
+ IF '${id}'!='' Set To Dictionary ${params} id=${id}
+ IF '${type}'!='' Set To Dictionary ${params} type=${type}
+ IF '${attrs}'!='' Set To Dictionary ${params} attrs=${attrs}
+ IF '${q}'!='' Set To Dictionary ${params} q=${q}
+ IF '${csf}'!='' Set To Dictionary ${params} csf=${csf}
+ IF '${georel}'!='' Set To Dictionary ${params} georel=${georel}
+ IF '${geometry}'!=''
+ Set To Dictionary ${params} geometry=${geometry}
+ END
+ IF '${coordinates}'!=''
+ Set To Dictionary ${params} coordinates=${coordinates}
+ END
+ IF '${geoproperty}'!=''
+ Set To Dictionary ${params} geoproperty=${geoproperty}
+ END
+ IF '${timeproperty}'!=''
+ Set To Dictionary ${params} timeproperty=${timeproperty}
+ END
+ IF '${timerel}'!=''
+ Set To Dictionary ${params} timerel=${timerel}
+ END
+ IF '${timeAt}'!='' Set To Dictionary ${params} timeAt=${timeAt}
+ IF '${limit}'!='' Set To Dictionary ${params} limit=${limit}
+ IF '${page}'!='' Set To Dictionary ${params} page=${page}
+
+ ${response}= GET
+ ... url=${url}/${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH}
+ ... headers=${headers}
+ ... params=${params}
+ ... expected_status=any
+ Output ${response} Query Context Source Registrations
+ RETURN ${response}
+
+Query Context Source Registrations With Return
+ [Arguments]
+ ... ${context}=${EMPTY}
+ ... ${id}=${EMPTY}
+ ... ${type}=${EMPTY}
+ ... ${attrs}=${EMPTY}
+ ... ${q}=${EMPTY}
+ ... ${georel}=${EMPTY}
+ ... ${geometry}=${EMPTY}
+ ... ${coordinates}=${EMPTY}
+ ... ${geoproperty}=${EMPTY}
+ ... ${timeproperty}=${EMPTY}
+ ... ${timerel}=${EMPTY}
+ ... ${timeAt}=${EMPTY}
+ ... ${limit}=${EMPTY}
+ ... ${page}=${EMPTY}
+ ... ${accept}=${EMPTY}
+
+ &{headers}= Create Dictionary
+ &{params}= Create Dictionary
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ IF '${id}'!='' Set To Dictionary ${params} id=${id}
+ IF '${type}'!='' Set To Dictionary ${params} type=${type}
+ IF '${attrs}'!='' Set To Dictionary ${params} attrs=${attrs}
+ IF '${q}'!='' Set To Dictionary ${params} q=${q}
+ IF '${georel}'!='' Set To Dictionary ${params} georel=${georel}
+ IF '${geometry}'!=''
+ Set To Dictionary ${params} geometry=${geometry}
+ END
+ IF '${coordinates}'!=''
+ Set To Dictionary ${params} coordinates=${coordinates}
+ END
+ IF '${geoproperty}'!=''
+ Set To Dictionary ${params} geoproperty=${geoproperty}
+ END
+ IF '${timeproperty}'!=''
+ Set To Dictionary ${params} timeproperty=${timeproperty}
+ END
+ IF '${timerel}'!=''
+ Set To Dictionary ${params} timerel=${timerel}
+ END
+ IF '${timeAt}'!='' Set To Dictionary ${params} timeAt=${timeAt}
+ IF '${limit}'!='' Set To Dictionary ${params} limit=${limit}
+ IF '${page}'!='' Set To Dictionary ${params} page=${page}
+
+ ${response}= GET
+ ... url=${url}/${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH}
+ ... headers=${headers}
+ ... params=${params}
+ ... expected_status=any
+ Output ${response} Query Context Source Registrations
+ RETURN ${response}
+
+Retrieve Context Source Registration
+ [Arguments] ${context_source_registration_id} ${context}=${EMPTY} ${accept}=${EMPTY}
+
+ &{headers}= Create Dictionary
+ IF '${accept}'!='' Set To Dictionary ${headers} Accept=${accept}
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${response}= GET
+ ... url=${url}/${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH}/${context_source_registration_id}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Retrieve Context Source Registration
+ RETURN ${response}
diff --git a/resources/ApiUtils/ContextSourceRegistration.resource b/resources/ApiUtils/ContextSourceRegistration.resource
new file mode 100755
index 0000000000000000000000000000000000000000..c1aca20b8617ecb33205b3d2dbaa69b15d26c70b
--- /dev/null
+++ b/resources/ApiUtils/ContextSourceRegistration.resource
@@ -0,0 +1,86 @@
+*** Settings ***
+Variables ${EXECDIR}/resources/variables.py
+Library ${EXECDIR}/libraries/logUtils.py
+Library Collections
+Library RequestsLibrary
+
+
+*** Variables ***
+${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH} csourceRegistrations
+
+${CONTENT_TYPE_JSON} application/json
+${CONTENT_TYPE_LD_JSON} application/ld+json
+
+${ERROR_TYPE_BAD_REQUEST_DATA} https://uri.etsi.org/ngsi-ld/errors/BadRequestData
+
+${response} ${EMPTY}
+
+
+*** Keywords ***
+Create Context Source Registration
+ [Arguments] ${context_source_registration_payload}
+
+ &{headers}= Create Dictionary Content-Type=application/ld+json
+ ${response}= POST
+ ... url=${url}/${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH}
+ ... json=${context_source_registration_payload}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Create Context Source Registration
+ RETURN ${response}
+
+Create Context Source Registration With Return
+ [Arguments] ${payload} ${content_type}=${CONTENT_TYPE_LD_JSON} ${context}=${EMPTY} ${accept}=${EMPTY}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept=${context}
+ END
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${response}= POST
+ ... url=${url}/${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH}
+ ... json=${payload}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Create Context Source Registration
+ RETURN ${response}
+
+Delete Context Source Registration
+ [Arguments] ${context_source_registration_id}
+
+ ${response}= DELETE url=${url}/${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH}/${context_source_registration_id}
+ Output ${response} Delete Context Source Registration
+ RETURN ${response}
+
+Delete Context Source Registration With Return
+ [Arguments] ${registration_id}
+ ${response}= DELETE
+ ... url=${url}/${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH}/${registration_id}
+ ... expected_status=any
+ Output ${response} Delete Context Source Registration
+ RETURN ${response}
+
+Update Context Source Registration
+ [Arguments] ${context_source_registration_id} ${update_fragment}
+
+ ${response}= PATCH
+ ... url=${url}/${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH}/${context_source_registration_id}
+ ... json=${update_fragment}
+ ... expected_status=any
+ Output ${response} Update Context Source Registration
+ RETURN ${response}
+
+Update Context Source Registration With Return
+ [Arguments] ${registration_id} ${fragment} ${content_type} ${accept}=${EMPTY}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ IF '${accept}'!='' Set To Dictionary ${headers} Accept=${accept}
+ ${response}= PATCH
+ ... url=${url}/${CONTEXT_SOURCE_REGISTRATION_ENDPOINT_PATH}/${registration_id}
+ ... json=${fragment}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Update Context Source Registration
+ RETURN ${response}
diff --git a/resources/ApiUtils/ContextSourceRegistrationSubscription.resource b/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
new file mode 100755
index 0000000000000000000000000000000000000000..8607ca4ab267f02dec77c354918bfda303f0bb3b
--- /dev/null
+++ b/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
@@ -0,0 +1,103 @@
+*** Settings ***
+Variables ${EXECDIR}/resources/variables.py
+Library ${EXECDIR}/libraries/logUtils.py
+Library Collections
+Library OperatingSystem
+Library RequestsLibrary
+
+
+*** Variables ***
+${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_ENDPOINT_PATH} csourceSubscriptions
+
+${CONTENT_TYPE_JSON} application/json
+${CONTENT_TYPE_LD_JSON} application/ld+json
+
+${ERROR_TYPE_ALREADY_EXISTS} https://uri.etsi.org/ngsi-ld/errors/AlreadyExists
+${ERROR_TYPE_BAD_REQUEST_DATA} https://uri.etsi.org/ngsi-ld/errors/BadRequestData
+${ERROR_TYPE_INVALID_REQUEST} https://uri.etsi.org/ngsi-ld/errors/InvalidRequest
+${ERROR_TYPE_RESOURCE_NOT_FOUND} https://uri.etsi.org/ngsi-ld/errors/ResourceNotFound
+
+${response} ${EMPTY}
+
+
+*** Keywords ***
+Create Context Source Registration Subscription
+ [Arguments] ${subscription_payload} ${accept}=${EMPTY} ${content_type}=${CONTENT_TYPE_LD_JSON}
+
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ ${response}= POST
+ ... url=${url}/${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_ENDPOINT_PATH}
+ ... json=${subscription_payload}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Create Context Source Registration Subscription
+ RETURN ${response}
+
+Delete Context Source Registration Subscription
+ [Arguments] ${subscription_id}
+
+ ${response}= DELETE ${url}/${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_ENDPOINT_PATH}/${subscription_id}
+ Output ${response} Delete Context Source Registration Subscription
+ RETURN ${response}
+
+Query Context Source Registration Subscriptions
+ [Arguments] ${context}=${EMPTY} ${limit}=${EMPTY} ${page}=${EMPTY} ${accept}=${EMPTY}
+
+ &{headers}= Create Dictionary
+ &{params}= Create Dictionary
+ IF '${accept}'!='' Set To Dictionary ${headers} Accept=${accept}
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ IF '${limit}'!='' Set To Dictionary ${params} limit=${limit}
+ IF '${page}'!='' Set To Dictionary ${params} page=${page}
+
+ ${response}= GET
+ ... url=${url}/${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_ENDPOINT_PATH}
+ ... headers=${headers}
+ ... params=${params}
+ ... expected_status=any
+ Output ${response} Query Context Source Registration Subscriptions
+ RETURN ${response}
+
+Retrieve Context Source Registration Subscription
+ [Arguments] ${subscription_id} ${context}=${EMPTY} ${accept}=${CONTENT_TYPE_JSON}
+
+ &{headers}= Create Dictionary
+ Set To Dictionary ${headers} Accept ${accept}
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${response}= GET
+ ... url=${url}/${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_ENDPOINT_PATH}/${subscription_id}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Retrieve Context Source Registration Subscription
+ RETURN ${response}
+
+Update Context Source Registration Subscription
+ [Arguments] ${subscription_id} ${subscription_update_fragment}
+
+ ${response}= PATCH
+ ... url=${url}/${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_ENDPOINT_PATH}/${subscription_id}
+ ... json=${subscription_update_fragment}
+ ... expected_status=any
+ Output ${response} Update Context Source Registration Subscription
+ RETURN ${response}
+
+Update Context Source Registration Subscription From File
+ [Arguments] ${subscription_id} ${file_path}
+ ${file_content}= Get File ${EXECDIR}/data/${file_path}
+ ${response}= PATCH
+ ... url=${url}/${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_ENDPOINT_PATH}/${subscription_id}
+ ... data=${file_content}
+ ... expected_status=any
+ Output ${response} Update Context Source Registration Subscription From File
+ RETURN ${response}
diff --git a/resources/ApiUtils/TemporalContextInformationConsumption.resource b/resources/ApiUtils/TemporalContextInformationConsumption.resource
new file mode 100755
index 0000000000000000000000000000000000000000..e806f08574472dd610333554dfb12b3434c3a4e9
--- /dev/null
+++ b/resources/ApiUtils/TemporalContextInformationConsumption.resource
@@ -0,0 +1,217 @@
+*** Settings ***
+Variables ${EXECDIR}/resources/variables.py
+Library ${EXECDIR}/libraries/logUtils.py
+Library Collections
+Library JSONLibrary
+Library RequestsLibrary
+
+
+*** Variables ***
+${TEMPORAL_ENTITIES_ENDPOINT_PATH} temporal/entities
+${TEMPORAL_ENTITY_OPERATIONS_ENDPOINT_PATH} temporal/entityOperations
+
+${CONTENT_TYPE_JSON} application/json
+
+${ERROR_TYPE_BAD_REQUEST_DATA} https://uri.etsi.org/ngsi-ld/errors/BadRequestData
+${ERROR_TYPE_RESOURCE_NOT_FOUND} https://uri.etsi.org/ngsi-ld/errors/ResourceNotFound
+
+${response} ${EMPTY}
+
+
+*** Keywords ***
+Query Temporal Representation Of Entities
+ [Arguments]
+ ... ${context}=${EMPTY}
+ ... ${entity_types}=${EMPTY}
+ ... ${entity_ids}=${EMPTY}
+ ... ${entity_id_pattern}=${EMPTY}
+ ... ${ngsild_query}=${EMPTY}
+ ... ${csf}=${EMPTY}
+ ... ${georel}=${EMPTY}
+ ... ${geometry}=${EMPTY}
+ ... ${coordinates}=${EMPTY}
+ ... ${geoproperty}=${EMPTY}
+ ... ${timerel}=${EMPTY}
+ ... ${timeAt}=${EMPTY}
+ ... ${attrs}=${EMPTY}
+ ... ${limit}=${EMPTY}
+ ... ${lastN}=${EMPTY}
+ ... ${accept}=${EMPTY}
+ ${entity_types_length}= Get Length ${entity_types}
+ ${entity_ids_length}= Get Length ${entity_ids}
+ ${attrs_length}= Get Length ${attrs}
+ &{headers}= Create Dictionary
+ &{params}= Create Dictionary
+ IF '${accept}'!='' Set To Dictionary ${headers} Accept=${accept}
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ IF ${entity_types_length}>0
+ Set To Dictionary ${params} type=${entity_types}
+ END
+ IF ${entity_ids_length}>0
+ Set To Dictionary ${params} id=${entity_ids}
+ END
+ IF '${timerel}'!=''
+ Set To Dictionary ${params} timerel=${timerel}
+ END
+ IF '${timeAt}'!='' Set To Dictionary ${params} timeAt=${timeAt}
+ IF ${attrs_length}>0 Set To Dictionary ${params} attrs=${attrs}
+ IF '${lastN}'!='' Set To Dictionary ${params} lastN=${lastN}
+ IF '${entity_id_pattern}'!=''
+ Set To Dictionary ${params} idPattern=${entity_id_pattern}
+ END
+ IF '${ngsild_query}'!=''
+ Set To Dictionary ${params} q=${ngsild_query}
+ END
+ IF '${csf}'!='' Set To Dictionary ${params} csf=${csf}
+ IF '${georel}'!='' Set To Dictionary ${params} georel=${georel}
+ IF '${geometry}'!=''
+ Set To Dictionary ${params} geometry=${geometry}
+ END
+ IF '${coordinates}'!=''
+ Set To Dictionary ${params} coordinates=${coordinates}
+ END
+ IF '${geoproperty}'!=''
+ Set To Dictionary ${params} geoproperty=${geoproperty}
+ END
+ IF '${limit}'!='' Set To Dictionary ${params} limit=${limit}
+
+ ${response}= GET
+ ... url=${temporal_api_url}/${TEMPORAL_ENTITIES_ENDPOINT_PATH}
+ ... headers=${headers}
+ ... params=${params}
+ ... expected_status=any
+ Output ${response} Query Temporal Representation Of Entities
+ RETURN ${response}
+
+Query Temporal Representation Of Entities Via Post
+ [Arguments] ${query_file_name} ${content_type}=${CONTENT_TYPE_JSON} ${context}=${EMPTY}
+ ${headers}= Create Dictionary
+ Set To Dictionary ${headers} Content-Type ${content_type}
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${query_payload}= Load JSON From File ${EXECDIR}/data/temporalEntities/${query_file_name}
+ ${response}= POST
+ ... url=${temporal_api_url}/${TEMPORAL_ENTITY_OPERATIONS_ENDPOINT_PATH}/query
+ ... json=${query_payload}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Query Temporal Representation Of Entities Via Post
+ RETURN ${response}
+
+Query Temporal Representation Of Entities With Return
+ [Arguments]
+ ... ${context}=${EMPTY}
+ ... ${entity_types}=${EMPTY}
+ ... ${entity_ids}=${EMPTY}
+ ... ${entity_id_pattern}=${EMPTY}
+ ... ${ngsild_query}=${EMPTY}
+ ... ${csf}=${EMPTY}
+ ... ${georel}=${EMPTY}
+ ... ${geometry}=${EMPTY}
+ ... ${coordinates}=${EMPTY}
+ ... ${geoproperty}=${EMPTY}
+ ... ${timerel}=${EMPTY}
+ ... ${timeAt}=${EMPTY}
+ ... ${attrs}=${EMPTY}
+ ... ${limit}=${EMPTY}
+ ... ${lastN}=${EMPTY}
+ ... ${accept}=${EMPTY}
+ ${entity_types_length}= Get Length ${entity_types}
+ ${entity_ids_length}= Get Length ${entity_ids}
+ ${attrs_length}= Get Length ${attrs}
+ &{headers}= Create Dictionary
+ &{params}= Create Dictionary
+ IF '${accept}'!='' Set To Dictionary ${headers} Accept=${accept}
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ IF ${entity_types_length}>0
+ Set To Dictionary ${params} type=${entity_types}
+ END
+ IF ${entity_ids_length}>0
+ Set To Dictionary ${params} id=${entity_ids}
+ END
+ IF '${timerel}'!=''
+ Set To Dictionary ${params} timerel=${timerel}
+ END
+ IF '${timeAt}'!='' Set To Dictionary ${params} timeAt=${timeAt}
+ IF ${attrs_length}>0 Set To Dictionary ${params} attrs=${attrs}
+ IF '${lastN}'!='' Set To Dictionary ${params} lastN=${lastN}
+ IF '${entity_id_pattern}'!=''
+ Set To Dictionary ${params} idPattern=${entity_id_pattern}
+ END
+ IF '${ngsild_query}'!=''
+ Set To Dictionary ${params} q=${ngsild_query}
+ END
+ IF '${csf}'!='' Set To Dictionary ${params} csf=${csf}
+ IF '${georel}'!='' Set To Dictionary ${params} georel=${georel}
+ IF '${geometry}'!=''
+ Set To Dictionary ${params} geometry=${geometry}
+ END
+ IF '${coordinates}'!=''
+ Set To Dictionary ${params} coordinates=${coordinates}
+ END
+ IF '${geoproperty}'!=''
+ Set To Dictionary ${params} geoproperty=${geoproperty}
+ END
+ IF '${limit}'!='' Set To Dictionary ${params} limit=${limit}
+
+ ${response}= GET
+ ... url=${temporal_api_url}/${TEMPORAL_ENTITIES_ENDPOINT_PATH}
+ ... headers=${headers}
+ ... params=${params}
+ ... expected_status=any
+ Output ${response} Query Temporal Representation Of Entities
+ RETURN ${response}
+
+Retrieve Temporal Representation Of Entity
+ [Arguments]
+ ... ${temporal_entity_representation_id}
+ ... ${attrs}=${EMPTY}
+ ... ${options}=${EMPTY}
+ ... ${context}=${EMPTY}
+ ... ${timerel}=${EMPTY}
+ ... ${timeAt}=${EMPTY}
+ ... ${endTimeAt}=${EMPTY}
+ ... ${lastN}=${EMPTY}
+ ... ${accept}=${EMPTY}
+ ${attrs_length}= Get Length ${attrs}
+ ${options_length}= Get Length ${options}
+ &{headers}= Create Dictionary
+ &{params}= Create Dictionary
+
+ IF '${accept}'!='' Set To Dictionary ${headers} Accept=${accept}
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ IF ${attrs_length}>0 Set To Dictionary ${params} attrs=${attrs}
+ IF ${options_length}>0
+ Set To Dictionary ${params} options=${options}
+ END
+ IF '${timerel}'!=''
+ Set To Dictionary ${params} timerel=${timerel}
+ END
+ IF '${timeAt}'!='' Set To Dictionary ${params} timeAt=${timeAt}
+ IF '${endTimeAt}'!=''
+ Set To Dictionary ${params} endTimeAt=${endTimeAt}
+ END
+ IF '${lastN}'!='' Set To Dictionary ${params} lastN=${lastN}
+
+ ${response}= GET
+ ... url=${temporal_api_url}/${TEMPORAL_ENTITIES_ENDPOINT_PATH}/${temporal_entity_representation_id}
+ ... headers=${headers}
+ ... params=${params}
+ ... expected_status=any
+ Output ${response} Retrieve Temporal Representation Of Entity
+ RETURN ${response}
diff --git a/resources/ApiUtils/TemporalContextInformationProvision.resource b/resources/ApiUtils/TemporalContextInformationProvision.resource
new file mode 100755
index 0000000000000000000000000000000000000000..db80955d077772d1354409086b36325ebebeb799
--- /dev/null
+++ b/resources/ApiUtils/TemporalContextInformationProvision.resource
@@ -0,0 +1,166 @@
+*** Settings ***
+Variables ${EXECDIR}/resources/variables.py
+Library ${EXECDIR}/libraries/logUtils.py
+Library Collections
+Library JSONLibrary
+Library OperatingSystem
+Library RequestsLibrary
+
+
+*** Variables ***
+${TEMPORAL_ENTITIES_ENDPOINT_PATH} temporal/entities
+
+${CONTENT_TYPE_JSON} application/json
+${CONTENT_TYPE_LD_JSON} application/ld+json
+
+${ERROR_TYPE_BAD_REQUEST_DATA} https://uri.etsi.org/ngsi-ld/errors/BadRequestData
+${ERROR_TYPE_INVALID_REQUEST} https://uri.etsi.org/ngsi-ld/errors/InvalidRequest
+${ERROR_TYPE_RESOURCE_NOT_FOUND} https://uri.etsi.org/ngsi-ld/errors/ResourceNotFound
+
+${response} ${EMPTY}
+
+
+*** Keywords ***
+Append Attribute To Temporal Entity
+ [Arguments] ${temporal_entity_id} ${fragment_filename} ${content_type}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ ${file_content}= Get File ${EXECDIR}/data/temporalEntities/fragments/${fragment_filename}
+ ${response}= POST
+ ... url=${url}/${TEMPORAL_ENTITIES_ENDPOINT_PATH}/${temporal_entity_id}/attrs
+ ... data=${file_content}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Append Attribute To Temporal Entity
+ RETURN ${response}
+
+Create Or Update Temporal Representation Of Entity Selecting Content Type
+ [Arguments] ${temporal_entity_representation_id} ${filename} ${content_type} ${accept}=${EMPTY}
+ ${temporal_entity_representation_payload}= Load JSON From File ${EXECDIR}/data/temporalEntities/${filename}
+ ${temporal_entity_representation}= Update Value To JSON
+ ... ${temporal_entity_representation_payload}
+ ... $..id
+ ... ${temporal_entity_representation_id}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ IF '${accept}'!=''
+ Set To Dictionary ${headers} Accept ${accept}
+ END
+ ${response}= POST
+ ... url=${url}/${TEMPORAL_ENTITIES_ENDPOINT_PATH}/
+ ... json=${temporal_entity_representation}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Create Or Update Temporal Representation Of Entity Selecting Content Type
+ RETURN ${response}
+
+Create Temporal Representation Of Entity
+ [Arguments] ${filename} ${temporal_entity_representation_id}
+ ${temporal_entity_representation_payload}= Load JSON From File ${EXECDIR}/data/temporalEntities/${filename}
+ ${temporal_entity_representation}= Update Value To JSON
+ ... ${temporal_entity_representation_payload}
+ ... $..id
+ ... ${temporal_entity_representation_id}
+
+ &{headers}= Create Dictionary Content-Type=application/ld+json
+ ${response}= POST
+ ... url=${url}/${TEMPORAL_ENTITIES_ENDPOINT_PATH}
+ ... json=${temporal_entity_representation}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Create Temporal Representation Of Entity
+ RETURN ${response}
+
+Create Temporal Representation Of Entity Selecting Content Type
+ [Arguments] ${filename} ${content_type}
+ ${file_content}= Get File ${EXECDIR}/data/temporalEntities/${filename}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ ${response}= POST
+ ... url=${url}/${TEMPORAL_ENTITIES_ENDPOINT_PATH}
+ ... data=${file_content}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Create Temporal Representation Of Entity Selecting Content Type
+ RETURN ${response}
+
+Delete Attribute From Temporal Entity
+ [Arguments]
+ ... ${entityId}
+ ... ${attributeId}
+ ... ${content_type}
+ ... ${datasetId}
+ ... ${deleteAll}
+ ... ${context}=${EMPTY}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ @{params}= Create List
+ IF '${datasetId}'!=''
+ Append To List ${params} datasetId=${datasetId}
+ END
+ IF '${deleteAll}'!=''
+ Append To List ${params} deleteAll=${deleteAll}
+ END
+ ${params_as_string}= Catenate SEPARATOR=& @{params}
+ ${response}= DELETE
+ ... url=${url}/${TEMPORAL_ENTITIES_ENDPOINT_PATH}/${entityId}/attrs/${attributeId}?${params_as_string}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Delete Attribute From Temporal Entity
+ RETURN ${response}
+
+Delete Attribute Instance From Temporal Entity
+ [Arguments] ${temporal_entity_id} ${attributeId} ${instanceId} ${content_type} ${context}=${EMPTY}
+ &{headers}= Create Dictionary
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${response}= DELETE
+ ... url=${url}/${TEMPORAL_ENTITIES_ENDPOINT_PATH}/${temporal_entity_id}/attrs/${attributeId}/${instanceId}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Delete Attribute Instance From Temporal Entity
+ RETURN ${response}
+
+Delete Temporal Representation Of Entity
+ [Arguments] ${temporal_entity_representation_id}
+
+ ${response}= DELETE
+ ... url=${url}/${TEMPORAL_ENTITIES_ENDPOINT_PATH}/${temporal_entity_representation_id}
+ ... expected_status=any
+ Output ${response} Delete Temporal Representation Of Entity
+ RETURN ${response}
+
+Delete Temporal Representation Of Entity With Returning Response
+ [Arguments] ${temporal_entity_representation_id}
+ ${response}= DELETE
+ ... url=${url}/${TEMPORAL_ENTITIES_ENDPOINT_PATH}/${temporal_entity_representation_id}
+ ... expected_status=any
+ Output ${response} Delete Temporal Representation Of Entity
+ RETURN ${response}
+
+Modify Attribute Instance From Temporal Entity
+ [Arguments]
+ ... ${temporal_entity_id}
+ ... ${attributeId}
+ ... ${instanceId}
+ ... ${fragment_filename}
+ ... ${content_type}
+ ... ${context}=${EMPTY}
+ &{headers}= Create Dictionary Content-Type=${content_type}
+ IF '${context}'!=''
+ Set To Dictionary
+ ... ${headers}
+ ... Link=<${context}>; rel="http://www.w3.org/ns/json-ld#context";type="application/ld+json"
+ END
+ ${fragment_payload}= Load JSON From File ${EXECDIR}/data/temporalEntities/fragments/${fragment_filename}
+ ${response}= PATCH
+ ... url=${url}/${TEMPORAL_ENTITIES_ENDPOINT_PATH}/${temporal_entity_id}/attrs/${attributeId}/${instanceId}
+ ... json=${fragment_payload}
+ ... headers=${headers}
+ ... expected_status=any
+ Output ${response} Modify Attribute Instance From Temporal Entity
+ RETURN ${response}
diff --git a/resources/NotificationUtils.resource b/resources/NotificationUtils.resource
index ac978eba7c3750acf5fdfda54341033f953ee81f..38f546ad81e7ff7e30c5d638247b9494dbfd128b 100644
--- a/resources/NotificationUtils.resource
+++ b/resources/NotificationUtils.resource
@@ -31,8 +31,11 @@ Wait for notification
Reply By 200
${notification_payload}= Get Request Body
+ ${notification_headers}= Get Request Headers
${notification}= Evaluate json.loads('''${notification_payload}''') json
- RETURN ${notification}
+ ${headers}= Convert To Dictionary ${notification_headers}
+ Output Notification ${notification} ${notification_headers} Wait for notification
+ RETURN ${notification} ${headers}
Wait for notification and validate it
[Arguments]
@@ -49,12 +52,13 @@ Wait for notification and validate it
Reply By 200
${notification_payload}= Get Request Body
+ ${notification_headers}= Get Request Headers
${notification}= Evaluate json.loads('''${notification_payload}''') json
${notification_data_length}= Get length ${notification}[data]
${expected_notification_data_entities_length}= Get length ${expected_notification_data_entities}
${expected_notification_data_length}= Get length ${expected_context_source_registration_ids}
- log ${notification}
+ Output Notification ${notification} ${notification_headers} Wait for notification
Should Be Equal ${notification}[type] ${notification_type}
Should Be Equal ${notification}[subscriptionId] ${expected_subscription_id}
${is_date}= Is Date ${notification}[notifiedAt] ${date_format}
diff --git a/resources/variables.py b/resources/variables.py
index 017b8eb21fe49fa9ce203594c16cbfbf5b850042..7b310bc52723b7d65084b9bd2bfd6dd08147e084 100644
--- a/resources/variables.py
+++ b/resources/variables.py
@@ -1,8 +1,7 @@
url = 'http://localhost:8080/ngsi-ld/v1'
+temporal_api_url = 'http://localhost:8080/ngsi-ld/v1'
ngsild_test_suite_context = 'https://forge.etsi.org/rep/cim/ngsi-ld-test-suite/-/raw/develop/resources/jsonld-contexts/ngsi-ld-test-suite-compound.jsonld'
notification_server_host = '0.0.0.0'
notification_server_port = 8085
-send_notification_server_host = '0.0.0.0'
-send_notification_server_port = 8085
context_source_host = '0.0.0.0'
context_source_port = 8086
diff --git a/scripts/apiutils.py b/scripts/apiutils.py
new file mode 100644
index 0000000000000000000000000000000000000000..4e9b54571ad77bd74b2a329d946c8daf187f740a
--- /dev/null
+++ b/scripts/apiutils.py
@@ -0,0 +1,122 @@
+from os.path import dirname, join, abspath
+from os import walk
+from pprint import PrettyPrinter
+
+
+def get_list_files(root_dir: str) -> list:
+ # Recursively traverse the directory structure
+ my_list = list()
+ for root, dirs, files in walk(root_dir):
+ for file in files:
+ if file.endswith('.resource'):
+ my_list.append(join(root, file))
+
+ for new_folder in dirs:
+ new_folder = join(root_dir, new_folder)
+ _ = get_list_files(root_dir=new_folder)
+
+ return my_list
+
+
+def find_index(lst, item):
+ try:
+ index = lst.index(item)
+ return index
+ except ValueError:
+ return -1
+
+
+def generate_data_original_apiutils(data: list):
+ search_variables = '*** Variables ***\n'
+ search_keywords = '*** Keywords ***\n'
+
+ index_variables = find_index(data, search_variables)
+ index_keywords = find_index(data, search_keywords)
+
+ v = data[index_variables + 1:index_keywords]
+ k = data[index_keywords + 1:]
+
+ v = list(filter(lambda x: x != '\n', v))
+ k = list(filter(lambda x: not x.startswith(' '), k))
+ k = list(filter(lambda x: x != '\n', k))
+
+ return v, k
+
+
+def find_duplicates(lst: list):
+ duplicates = set()
+ unique_elements = set()
+
+ for item in lst:
+ if item in unique_elements:
+ duplicates.add(item)
+ else:
+ unique_elements.add(item)
+
+ return list(duplicates)
+
+
+def read_resource_file(filename: str):
+ with open(filename) as f:
+ contents = f.readlines()
+
+ variables, keywords = generate_data_original_apiutils(data=contents)
+
+ variables = list(set(transform_spaces(lst=variables)))
+
+ d_v = find_duplicates(variables)
+ d_k = find_duplicates(keywords)
+
+ if len(d_v) != 0:
+ print(f'Duplicates: {d_v}')
+
+ if len(d_k) != 0:
+ print(f'Duplicates: {d_k}')
+
+ return variables, keywords
+
+
+def transform_spaces(lst):
+ transformed_list = []
+ for item in lst:
+ transformed_item = ' '.join(item.split())
+ transformed_list.append(transformed_item)
+ return transformed_list
+
+
+def read_new_resource_files(folder: str):
+ file_list = get_list_files(root_dir=folder)
+
+ v = list()
+ k = list()
+ for file in file_list:
+ aux_v, aux_k = read_resource_file(filename=file)
+ v.append(aux_v)
+ k.append(aux_k)
+
+ v = list(set([item for sublist in v for item in sublist]))
+ v = list(set(transform_spaces(lst=v)))
+
+ k = list(set([item for sublist in k for item in sublist]))
+
+ return v, k
+
+
+if __name__ == '__main__':
+ # Get the folder of the ApiUtils.resources
+ base_folder = dirname(dirname(abspath(__file__)))
+ root_folder = base_folder + '/resources/ApiUtils'
+
+ # Extract the variables and keywords from all new ApiUtils.resource
+ new_v, new_k = (
+ read_new_resource_files(folder=root_folder))
+
+ # Show the information
+ pp = PrettyPrinter(indent=4)
+
+ print('\n\n\nList of Variables: ')
+ pp.pprint(new_v)
+ print('\n\n\n')
+ print('List of Keywords: ')
+ pp.pprint(new_k)
+ print('\n\n\n')
diff --git a/scripts/run_tests.sh b/scripts/run_tests.sh
index 6216528f3eebbbd2d5d7083aa1c497482e08758b..29040e13e3a05eb2626f05ccd2842d327a083897 100755
--- a/scripts/run_tests.sh
+++ b/scripts/run_tests.sh
@@ -9,19 +9,24 @@ robot --variable url:"URL_HERE" --outputdir ./results .
# run by specific tag(s)
robot --include mandatory --outputdir ./results .
-# run all the tests for context information
+# run all the test suites for context information
robot --outputdir ./results ./TP/NGSI-LD/ContextInformation
-# run a specific test case
+# run a specific test suite
robot --outputdir ./results ./TP/NGSI-LD/ContextInformation/Provision/Entities/CreateEntity/001_01.robot
robot --outputdir ./results --suite 001_01 .
-# 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 suite
+robot --outputdir ./results -t "InvalidId" TP/NGSI-LD/ContextInformation/Subscription/RetrieveSubscription/030_01.robot
-# rerun failed tests
+# rerun failed test cases
robot --rerunfailedsuites ./results/output.xml --outputdir ./results .
# stop the suite after a failed test
robot --exitonfailure --outputdir ./results .
+
+# run specific test suite and generate errors.log file with the output only of the failed test cases
+robot --listener libraries/ErrorListener.py --outputdir ./results ./TP/NGSI-LD/CommonBehaviours/043.robot
+
+# run all test suites and generate errors.log file with the output only of the failed test cases
+robot --listener libraries/ErrorListener.py --outputdir ./results .