From 45239664322fe9d900aaa41b400765030f7a9287 Mon Sep 17 00:00:00 2001 From: Houcem Kacem Date: Tue, 12 Jan 2021 18:03:41 +0100 Subject: [PATCH 1/4] feat: add tps for create context source registration subscription --- .../CreateBatchOfEntities/003_02.robot | 1 + .../032_01.robot | 30 ++++++++++++++++ .../032_02.robot | 28 +++++++++++++++ .../032_03.robot | 30 ++++++++++++++++ .../032_04.robot | 30 ++++++++++++++++ .../032_05.robot | 35 +++++++++++++++++++ .../032_06.robot | 30 ++++++++++++++++ .../032_07.robot | 35 +++++++++++++++++++ .../032_08.robot | 22 ++++++++++++ .../032_09.robot | 22 ++++++++++++ .../subscription-expired-sample.jsonld | 21 +++++++++++ .../subscription-expiresAt-sample.jsonld | 21 +++++++++++ .../subscription-inactive-sample.jsonld | 21 +++++++++++ .../subscription-invalid-sample.jsonld | 13 +++++++ .../subscription-sample.jsonld | 20 +++++++++++ resources/ApiUtils.resource | 20 +++++++++++ resources/JsonUtils.resource | 16 ++++++++- 17 files changed, 394 insertions(+), 1 deletion(-) create mode 100644 TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_01.robot create mode 100644 TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_02.robot create mode 100644 TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_03.robot create mode 100644 TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_04.robot create mode 100644 TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_05.robot create mode 100644 TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_06.robot create mode 100644 TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_07.robot create mode 100644 TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_08.robot create mode 100644 TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_09.robot create mode 100644 data/csourceSubscriptions/subscription-expired-sample.jsonld create mode 100644 data/csourceSubscriptions/subscription-expiresAt-sample.jsonld create mode 100644 data/csourceSubscriptions/subscription-inactive-sample.jsonld create mode 100644 data/csourceSubscriptions/subscription-invalid-sample.jsonld create mode 100644 data/csourceSubscriptions/subscription-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 83533186..bc248639 100644 --- a/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_02.robot +++ b/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_02.robot @@ -16,6 +16,7 @@ Create a batch of two valid entities and one invalid entity ${first_entity_id}= Generate Random Entity Id ${building_id_prefix} ${second_entity_id}= Generate Random Entity Id ${building_id_prefix} + # TODO: Use Load Test Sample keyword instead ${first_entity}= Load Entity building-minimal-sample.jsonld ${first_entity_id} ${second_entity}= Load Entity building-minimal-sample.jsonld ${second_entity_id} ${already_existing_entity}= Load Entity building-minimal-sample.jsonld ${existing_entity_id} diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_01.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_01.robot new file mode 100644 index 00000000..798d7449 --- /dev/null +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_01.robot @@ -0,0 +1,30 @@ +*** Settings *** +Documentation Check that you can create a minimal context source registration subscription +Resource ${EXECDIR}/resources/ApiUtils.resource +Resource ${EXECDIR}/resources/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource + +Suite Setup Generate Random Ids For Context Source Registration Subscriptions +Suite Teardown Delete Created Context Source Registration Subscriptions + +*** Variable *** +${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-sample.jsonld + +*** Test Case *** +Create Context Source Registration Subscription + [Documentation] Check that you can create a minimal context source registration subscription + [Tags] mandatory + + ${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id} + Create Context Source Registration Subscription ${subscription_payload} + Check Response Status Code Set To 201 + Check Response Headers Containing URI set to ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_RESOURCE_URI_PREFIX} ${subscription_id} ${response} + +*** Keywords *** +Generate Random Ids For Context Source Registration Subscriptions + # TODO: Refactor Generate Random Entity Id to Generate Random Test Sample Id + ${subscription_id}= Generate Random Entity Id ${subscription_id_prefix} + Set Suite Variable ${subscription_id} + +Delete Created Context Source Registration Subscriptions + Delete Context Source Registration Subscription ${subscription_id} diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_02.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_02.robot new file mode 100644 index 00000000..cd75e7b5 --- /dev/null +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_02.robot @@ -0,0 +1,28 @@ +*** 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/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource + +Suite Teardown Delete Created Context Source Registration Subscriptions + +*** Variable *** +${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-sample.jsonld + +*** Test Case *** +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] mandatory + + ${subscription_payload}= Load Test Sample ${subscription_payload_file_path} + + Create Context Source Registration Subscription ${subscription_payload} + + ${subscription_id}= Fetch From Right ${response['headers']['Location']} / + Check Response Status Code Set To 201 + Check Response Headers Containing URI set to ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_RESOURCE_URI_PREFIX} ${subscription_id} ${response} + Set Suite Variable ${subscription_id} + +*** Keywords *** +Delete Created Context Source Registration Subscriptions + Delete Context Source Registration Subscription ${subscription_id} diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_03.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_03.robot new file mode 100644 index 00000000..3abcac3b --- /dev/null +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_03.robot @@ -0,0 +1,30 @@ +*** 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/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource + +Suite Setup Generate Random Ids For Context Source Registration Subscriptions +Suite Teardown Delete Created Context Source Registration Subscriptions + +*** Variable *** +${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-sample.jsonld + +*** Test Case *** +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] mandatory + + ${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id} + Create Context Source Registration Subscription ${subscription_payload} + Check Response Status Code Set To 201 + Check Response Headers Containing URI set to ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_RESOURCE_URI_PREFIX} ${subscription_id} ${response} + # TODO: Retrieve context source registration subscription and check status set to active + +*** Keywords *** +Generate Random Ids For Context Source Registration Subscriptions + ${subscription_id}= Generate Random Entity Id ${subscription_id_prefix} + Set Suite Variable ${subscription_id} + +Delete Created Context Source Registration Subscriptions + Delete Context Source Registration Subscription ${subscription_id} diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_04.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_04.robot new file mode 100644 index 00000000..c8b24a72 --- /dev/null +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_04.robot @@ -0,0 +1,30 @@ +*** 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/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource + +Suite Setup Generate Random Ids For Context Source Registration Subscriptions +Suite Teardown Delete Created Context Source Registration Subscriptions + +*** Variable *** +${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-inactive-sample.jsonld + +*** Test Case *** +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] mandatory + + ${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id} + Create Context Source Registration Subscription ${subscription_payload} + Check Response Status Code Set To 201 + Check Response Headers Containing URI set to ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_RESOURCE_URI_PREFIX} ${subscription_id} ${response} + # TODO: Retrieve context source registration subscription and check status set to paused + +*** Keywords *** +Generate Random Ids For Context Source Registration Subscriptions + ${subscription_id}= Generate Random Entity Id ${subscription_id_prefix} + Set Suite Variable ${subscription_id} + +Delete Created Context Source Registration Subscriptions + Delete Context Source Registration Subscription ${subscription_id} diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_05.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_05.robot new file mode 100644 index 00000000..38ec6e99 --- /dev/null +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_05.robot @@ -0,0 +1,35 @@ +*** 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/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource + +Suite Setup Generate Random Ids For Context Source Registration Subscriptions +Suite Teardown Delete Created Context Source Registration Subscriptions + +*** Variable *** +${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-expiresAt-sample.jsonld + +*** Test Case *** +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] mandatory + + ${subscription_payload_sample}= Load Test Sample ${subscription_payload_file_path} ${subscription_id} + ${current_date}= Get Current Date time_zone=UTC result_format=${date_format} + ${expiresAt}= Add Time To Date ${current_date} 10 seconds date_format=${date_format} + ${subscription_payload}= Update Value To Json ${subscription_payload_sample} $..expiresAt ${expiresAt} + + Create Context Source Registration Subscription ${subscription_payload} + + Check Response Status Code Set To 201 + Check Response Headers Containing URI set to ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_RESOURCE_URI_PREFIX} ${subscription_id} ${response} + # TODO: Retrieve context source registration subscription after 10 secs and check status set to expired + +*** Keywords *** +Generate Random Ids For Context Source Registration Subscriptions + ${subscription_id}= Generate Random Entity Id ${subscription_id_prefix} + Set Suite Variable ${subscription_id} + +Delete Created Context Source Registration Subscriptions + Delete Context Source Registration Subscription ${subscription_id} diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_06.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_06.robot new file mode 100644 index 00000000..6c4e769f --- /dev/null +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_06.robot @@ -0,0 +1,30 @@ +*** 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/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource + +Suite Setup Generate Random Ids For Context Source Registration Subscriptions +Suite Teardown Delete Created Context Source Registration Subscriptions + +*** Variable *** +${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-sample.jsonld + +*** Test Case *** +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] mandatory + + ${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id} + Create Context Source Registration Subscription ${subscription_payload} + Check Response Status Code Set To 201 + Check Response Headers Containing URI set to ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_RESOURCE_URI_PREFIX} ${subscription_id} ${response} + # TODO: How to check that the context source registration subscription status will be always set to active ? + +*** Keywords *** +Generate Random Ids For Context Source Registration Subscriptions + ${subscription_id}= Generate Random Entity Id ${subscription_id_prefix} + Set Suite Variable ${subscription_id} + +Delete Created Context Source Registration Subscriptions + Delete Context Source Registration Subscription ${subscription_id} diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_07.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_07.robot new file mode 100644 index 00000000..c2f027b2 --- /dev/null +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_07.robot @@ -0,0 +1,35 @@ +*** 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/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource + +Suite Setup Setup Initial Context Source Registration Subscriptions +Suite Teardown Delete Initial Context Source Registration Subscriptions + +*** Variable *** +${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-sample.jsonld + +*** Test Case *** +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] mandatory + + ${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id} + Create Context Source Registration Subscription ${subscription_payload} + Check Response Status Code Set To 409 + Check Response Body Containing ProblemDetails Element Containing Type Element set to ${response} ${ERROR_TYPE_ALREADY_EXISTS} + Check Response Body Containing ProblemDetails Element Containing Title Element ${response} + + +*** Keywords *** +Setup Initial Context Source Registration Subscriptions + ${subscription_id}= Generate Random Entity Id ${subscription_id_prefix} + ${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id} + + Create Context Source Registration Subscription ${subscription_payload} is_in_suite_setup=true + + Set Suite Variable ${subscription_id} + +Delete Initial Context Source Registration Subscriptions + Delete Context Source Registration Subscription ${subscription_id} diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_08.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_08.robot new file mode 100644 index 00000000..c25c8418 --- /dev/null +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_08.robot @@ -0,0 +1,22 @@ +*** 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/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource + +*** Variable *** +${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-invalid-sample.jsonld + +*** Test Case *** +Create Invalid Context Source Registration Subscription + [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 + [Tags] mandatory + + ${subscription_id}= Generate Random Entity Id ${subscription_id_prefix} + ${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id} + + Create Context Source Registration Subscription ${subscription_payload} + + Check Response Status Code Set To 400 + Check Response Body Containing ProblemDetails Element Containing Type Element set to ${response} ${ERROR_TYPE_BAD_REQUEST_DATA} + Check Response Body Containing ProblemDetails Element Containing Title Element ${response} diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_09.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_09.robot new file mode 100644 index 00000000..089ccf56 --- /dev/null +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_09.robot @@ -0,0 +1,22 @@ +*** 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/AssertionUtils.resource +Resource ${EXECDIR}/resources/JsonUtils.resource + +*** Variable *** +${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-expired-sample.jsonld + +*** Test Case *** +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] mandatory + + ${subscription_id}= Generate Random Entity Id ${subscription_id_prefix} + ${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id} + + Create Context Source Registration Subscription ${subscription_payload} + + Check Response Status Code Set To 400 + Check Response Body Containing ProblemDetails Element Containing Type Element set to ${response} ${ERROR_TYPE_BAD_REQUEST_DATA} + Check Response Body Containing ProblemDetails Element Containing Title Element ${response} diff --git a/data/csourceSubscriptions/subscription-expired-sample.jsonld b/data/csourceSubscriptions/subscription-expired-sample.jsonld new file mode 100644 index 00000000..6666dc7a --- /dev/null +++ b/data/csourceSubscriptions/subscription-expired-sample.jsonld @@ -0,0 +1,21 @@ +{ + "id":"urn:ngsi-ld:Subscription:randomUUID", + "type":"Subscription", + "expiresAt": "2018-08-01T22:07:00Z", + "entities":[ + { + "type":"Building" + } + ], + "notification":{ + "format":"keyValues", + "endpoint":{ + "uri":"http://my.endpoint.org/notify", + "accept":"application/json" + } + }, + "@context":[ + "https://raw.githubusercontent.com/easy-global-market/ngsild-api-data-models/feature/add-json-ld-context-for-ngsi-ld-test-suite/ngsi-ld-test-suite/ngsi-ld-test-suite-context.jsonld", + "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld" + ] +} \ No newline at end of file diff --git a/data/csourceSubscriptions/subscription-expiresAt-sample.jsonld b/data/csourceSubscriptions/subscription-expiresAt-sample.jsonld new file mode 100644 index 00000000..72c0f7b8 --- /dev/null +++ b/data/csourceSubscriptions/subscription-expiresAt-sample.jsonld @@ -0,0 +1,21 @@ +{ + "id":"urn:ngsi-ld:Subscription:randomUUID", + "type":"Subscription", + "expiresAt": "2022-08-01T22:07:00Z", + "entities":[ + { + "type":"Building" + } + ], + "notification":{ + "format":"keyValues", + "endpoint":{ + "uri":"http://my.endpoint.org/notify", + "accept":"application/json" + } + }, + "@context":[ + "https://raw.githubusercontent.com/easy-global-market/ngsild-api-data-models/feature/add-json-ld-context-for-ngsi-ld-test-suite/ngsi-ld-test-suite/ngsi-ld-test-suite-context.jsonld", + "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld" + ] +} \ No newline at end of file diff --git a/data/csourceSubscriptions/subscription-inactive-sample.jsonld b/data/csourceSubscriptions/subscription-inactive-sample.jsonld new file mode 100644 index 00000000..cadb9bea --- /dev/null +++ b/data/csourceSubscriptions/subscription-inactive-sample.jsonld @@ -0,0 +1,21 @@ +{ + "id":"urn:ngsi-ld:Subscription:randomUUID", + "type":"Subscription", + "isActive": false, + "entities":[ + { + "type":"Building" + } + ], + "notification":{ + "format":"keyValues", + "endpoint":{ + "uri":"http://my.endpoint.org/notify", + "accept":"application/json" + } + }, + "@context":[ + "https://raw.githubusercontent.com/easy-global-market/ngsild-api-data-models/feature/add-json-ld-context-for-ngsi-ld-test-suite/ngsi-ld-test-suite/ngsi-ld-test-suite-context.jsonld", + "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld" + ] +} \ No newline at end of file diff --git a/data/csourceSubscriptions/subscription-invalid-sample.jsonld b/data/csourceSubscriptions/subscription-invalid-sample.jsonld new file mode 100644 index 00000000..36bf7833 --- /dev/null +++ b/data/csourceSubscriptions/subscription-invalid-sample.jsonld @@ -0,0 +1,13 @@ +{ + "id":"urn:ngsi-ld:Subscription:randomUUID", + "type":"Subscription", + "entities":[ + { + "type":"Building" + } + ], + "@context":[ + "https://raw.githubusercontent.com/easy-global-market/ngsild-api-data-models/feature/add-json-ld-context-for-ngsi-ld-test-suite/ngsi-ld-test-suite/ngsi-ld-test-suite-context.jsonld", + "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld" + ] +} \ No newline at end of file diff --git a/data/csourceSubscriptions/subscription-sample.jsonld b/data/csourceSubscriptions/subscription-sample.jsonld new file mode 100644 index 00000000..7ca438fd --- /dev/null +++ b/data/csourceSubscriptions/subscription-sample.jsonld @@ -0,0 +1,20 @@ +{ + "id":"urn:ngsi-ld:Subscription:randomUUID", + "type":"Subscription", + "entities":[ + { + "type":"Building" + } + ], + "notification":{ + "format":"keyValues", + "endpoint":{ + "uri":"http://my.endpoint.org/notify", + "accept":"application/json" + } + }, + "@context":[ + "https://raw.githubusercontent.com/easy-global-market/ngsild-api-data-models/feature/add-json-ld-context-for-ngsi-ld-test-suite/ngsi-ld-test-suite/ngsi-ld-test-suite-context.jsonld", + "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld" + ] +} \ No newline at end of file diff --git a/resources/ApiUtils.resource b/resources/ApiUtils.resource index facc21d5..e99794cb 100755 --- a/resources/ApiUtils.resource +++ b/resources/ApiUtils.resource @@ -16,6 +16,9 @@ ${ENTITIES_ENDPOINT_PATH} entities/ ${ENTITY_OPERATIONS_QUERY_ENDPOINT_PATH} entityOperations/query ${TEMPORAL_ENTITIES_ENDPOINT_PATH} temporal/entities ${TEMPORAL_ENTITY_OPERATIONS_ENDPOINT_PATH} temporal/entityOperations +${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_ENDPOINT_PATH} csourceSubscriptions + +${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_RESOURCE_URI_PREFIX} /ngsi-ld/v1/csourceSubscriptions/ ${CONTENT_TYPE_JSON} application/json ${CONTENT_TYPE_LD_JSON} application/ld+json @@ -312,3 +315,20 @@ Delete Temporal Representation Of Entity ${response}= DELETE ${TEMPORAL_ENTITIES_ENDPOINT_PATH}/${temporal_entity_representation_id} Output request Output response + +Create Context Source Registration Subscription + [Arguments] ${subscription_payload} ${is_in_suite_setup}=false + + &{headers}= Create Dictionary Content-Type=application/ld+json + ${response}= POST ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_ENDPOINT_PATH} body=${subscription_payload} headers=${headers} + Output request + Output response + + Run Keyword If '${is_in_suite_setup}'=='false' Set Test Variable ${response} + +Delete Context Source Registration Subscription + [Arguments] ${subscription_id} + + ${response}= DELETE ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_ENDPOINT_PATH}/${subscription_id} + Output request + Output response diff --git a/resources/JsonUtils.resource b/resources/JsonUtils.resource index 8ae198c2..4aa5b9b8 100644 --- a/resources/JsonUtils.resource +++ b/resources/JsonUtils.resource @@ -1,7 +1,11 @@ *** Settings *** Library String +Library DateTime Library JSONLibrary +*** Variable *** +${subscription_id_prefix}= urn:ngsi-ld:Subscription: +${date_format}= %Y-%m-%dT%H:%M:%SZ *** Keywords *** Load Entity [Arguments] ${entity_file_name} ${entity_id} @@ -11,6 +15,16 @@ Load Entity [return] ${entity} +Load Test Sample + [Arguments] ${test_sample_file_path} ${test_sample_id}=${EMPTY} + + ${test_sample_payload}= Load Json From File ${test_sample_file_path} + ${test_sample}= Update Value To Json ${test_sample_payload} $..id ${test_sample_id} + + Run Keyword If '${test_sample_id}'=='' Delete Object From Json ${test_sample} $..id + + [return] ${test_sample} + Remove Entity Type [Arguments] ${entity} @@ -31,4 +45,4 @@ Create Batch Operation Result &{batch_operation_result}= Create Dictionary success=${success} errors=${errors} - [return] &{batch_operation_result} \ No newline at end of file + [return] &{batch_operation_result} -- GitLab From 2417368a8ddf97c850b8c563fa7601c48cadc34a Mon Sep 17 00:00:00 2001 From: Houcem Kacem Date: Tue, 12 Jan 2021 18:16:06 +0100 Subject: [PATCH 2/4] refactor: refactor code --- .../CreateContextSourceRegistrationSubscription/032_07.robot | 2 +- resources/ApiUtils.resource | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_07.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_07.robot index c2f027b2..732061b4 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_07.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_07.robot @@ -27,7 +27,7 @@ Setup Initial Context Source Registration Subscriptions ${subscription_id}= Generate Random Entity Id ${subscription_id_prefix} ${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id} - Create Context Source Registration Subscription ${subscription_payload} is_in_suite_setup=true + Create Context Source Registration Subscription ${subscription_payload} Set Suite Variable ${subscription_id} diff --git a/resources/ApiUtils.resource b/resources/ApiUtils.resource index e99794cb..9536929b 100755 --- a/resources/ApiUtils.resource +++ b/resources/ApiUtils.resource @@ -317,14 +317,14 @@ Delete Temporal Representation Of Entity Output response Create Context Source Registration Subscription - [Arguments] ${subscription_payload} ${is_in_suite_setup}=false + [Arguments] ${subscription_payload} &{headers}= Create Dictionary Content-Type=application/ld+json ${response}= POST ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_ENDPOINT_PATH} body=${subscription_payload} headers=${headers} Output request Output response - Run Keyword If '${is_in_suite_setup}'=='false' Set Test Variable ${response} + Set Suite Variable ${response} Delete Context Source Registration Subscription [Arguments] ${subscription_id} -- GitLab From a1477e0bc915c622a91884549414854fcb18de9f Mon Sep 17 00:00:00 2001 From: Houcem Kacem Date: Thu, 14 Jan 2021 11:47:45 +0100 Subject: [PATCH 3/4] fix: use data driven approach for tp 032_08 + refactor code --- .../032_01.robot | 3 ++- .../032_02.robot | 5 +++-- .../032_03.robot | 3 ++- .../032_04.robot | 3 ++- .../032_05.robot | 3 ++- .../032_06.robot | 3 ++- .../032_07.robot | 3 ++- .../032_08.robot | 16 +++++++++++--- .../032_09.robot | 3 ++- ...tion-empty-watchedAttributes-sample.jsonld | 21 +++++++++++++++++++ .../subscription-invalid-query-sample.jsonld | 21 +++++++++++++++++++ .../subscription-invalid-type-sample.jsonld | 20 ++++++++++++++++++ ...iption-without-notification-sample.jsonld} | 0 resources/HttpUtils.resource | 9 ++++++++ resources/JsonUtils.resource | 3 +-- 15 files changed, 102 insertions(+), 14 deletions(-) create mode 100644 data/csourceSubscriptions/subscription-empty-watchedAttributes-sample.jsonld create mode 100644 data/csourceSubscriptions/subscription-invalid-query-sample.jsonld create mode 100644 data/csourceSubscriptions/subscription-invalid-type-sample.jsonld rename data/csourceSubscriptions/{subscription-invalid-sample.jsonld => subscription-without-notification-sample.jsonld} (100%) create mode 100755 resources/HttpUtils.resource diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_01.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_01.robot index 798d7449..7bc96edc 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_01.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_01.robot @@ -8,7 +8,8 @@ Suite Setup Generate Random Ids For Context Source Registration Subscriptio Suite Teardown Delete Created Context Source Registration Subscriptions *** Variable *** -${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-sample.jsonld +${subscription_id_prefix}= urn:ngsi-ld:Subscription: +${subscription_payload_file_path}= csourceSubscriptions/subscription-sample.jsonld *** Test Case *** Create Context Source Registration Subscription diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_02.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_02.robot index cd75e7b5..b677186e 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_02.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_02.robot @@ -3,11 +3,12 @@ Documentation Check that you can create a context source registration subscrip Resource ${EXECDIR}/resources/ApiUtils.resource Resource ${EXECDIR}/resources/AssertionUtils.resource Resource ${EXECDIR}/resources/JsonUtils.resource +Resource ${EXECDIR}/resources/HttpUtils.resource Suite Teardown Delete Created Context Source Registration Subscriptions *** Variable *** -${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-sample.jsonld +${subscription_payload_file_path}= csourceSubscriptions/subscription-sample.jsonld *** Test Case *** Create Context Source Registration Subscription Without An Id @@ -18,7 +19,7 @@ Create Context Source Registration Subscription Without An Id Create Context Source Registration Subscription ${subscription_payload} - ${subscription_id}= Fetch From Right ${response['headers']['Location']} / + ${subscription_id}= Fetch Id From Response Location Header Check Response Status Code Set To 201 Check Response Headers Containing URI set to ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_RESOURCE_URI_PREFIX} ${subscription_id} ${response} Set Suite Variable ${subscription_id} diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_03.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_03.robot index 3abcac3b..77891471 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_03.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_03.robot @@ -8,7 +8,8 @@ Suite Setup Generate Random Ids For Context Source Registration Subscriptio Suite Teardown Delete Created Context Source Registration Subscriptions *** Variable *** -${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-sample.jsonld +${subscription_id_prefix}= urn:ngsi-ld:Subscription: +${subscription_payload_file_path}= csourceSubscriptions/subscription-sample.jsonld *** Test Case *** Create Context Source Registration Subscription Without isActive Member diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_04.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_04.robot index c8b24a72..f13ce09b 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_04.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_04.robot @@ -8,7 +8,8 @@ Suite Setup Generate Random Ids For Context Source Registration Subscriptio Suite Teardown Delete Created Context Source Registration Subscriptions *** Variable *** -${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-inactive-sample.jsonld +${subscription_id_prefix}= urn:ngsi-ld:Subscription: +${subscription_payload_file_path}= csourceSubscriptions/subscription-inactive-sample.jsonld *** Test Case *** Create Inactive Context Source Registration Subscription diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_05.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_05.robot index 38ec6e99..2a6578e5 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_05.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_05.robot @@ -8,7 +8,8 @@ Suite Setup Generate Random Ids For Context Source Registration Subscriptio Suite Teardown Delete Created Context Source Registration Subscriptions *** Variable *** -${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-expiresAt-sample.jsonld +${subscription_id_prefix}= urn:ngsi-ld:Subscription: +${subscription_payload_file_path}= csourceSubscriptions/subscription-expiresAt-sample.jsonld *** Test Case *** Create Context Source Registration Subscription With expiresAt Member diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_06.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_06.robot index 6c4e769f..cc9a755a 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_06.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_06.robot @@ -8,7 +8,8 @@ Suite Setup Generate Random Ids For Context Source Registration Subscriptio Suite Teardown Delete Created Context Source Registration Subscriptions *** Variable *** -${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-sample.jsonld +${subscription_id_prefix}= urn:ngsi-ld:Subscription: +${subscription_payload_file_path}= csourceSubscriptions/subscription-sample.jsonld *** Test Case *** Create Context Source Registration Subscription Without expiresAt Member diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_07.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_07.robot index 732061b4..4d1b9db8 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_07.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_07.robot @@ -8,7 +8,8 @@ Suite Setup Setup Initial Context Source Registration Subscriptions Suite Teardown Delete Initial Context Source Registration Subscriptions *** Variable *** -${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-sample.jsonld +${subscription_id_prefix}= urn:ngsi-ld:Subscription: +${subscription_payload_file_path}= csourceSubscriptions/subscription-sample.jsonld *** Test Case *** Create Existing Context Source Registration Subscription diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_08.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_08.robot index c25c8418..7bbdbcf3 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_08.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_08.robot @@ -4,16 +4,26 @@ Resource ${EXECDIR}/resources/ApiUtils.resource Resource ${EXECDIR}/resources/AssertionUtils.resource Resource ${EXECDIR}/resources/JsonUtils.resource +Test Template Create Invalid Context Source Registration Subscription + *** Variable *** -${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-invalid-sample.jsonld +${subscription_id_prefix}= urn:ngsi-ld:Subscription: +${subscription_payload_file_path}= + +*** Test Cases *** FILEPATH +WithoutNotification csourceSubscriptions/subscription-without-notification-sample.jsonld +InvalidType csourceSubscriptions/subscription-invalid-type-sample.jsonld +InvalidQuery csourceSubscriptions/subscription-invalid-query-sample.jsonld +EmptyWatchedAttributes csourceSubscriptions/subscription-empty-watchedAttributes-sample.jsonld -*** Test Case *** +*** Keywords *** Create Invalid Context Source Registration Subscription + [Arguments] ${filepath} [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 [Tags] mandatory ${subscription_id}= Generate Random Entity Id ${subscription_id_prefix} - ${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id} + ${subscription_payload}= Load Test Sample ${filepath} ${subscription_id} Create Context Source Registration Subscription ${subscription_payload} diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_09.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_09.robot index 089ccf56..9a0f4450 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_09.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_09.robot @@ -5,7 +5,8 @@ Resource ${EXECDIR}/resources/AssertionUtils.resource Resource ${EXECDIR}/resources/JsonUtils.resource *** Variable *** -${subscription_payload_file_path}= ${EXECDIR}/data/csourceSubscriptions/subscription-expired-sample.jsonld +${subscription_id_prefix}= urn:ngsi-ld:Subscription: +${subscription_payload_file_path}= csourceSubscriptions/subscription-expired-sample.jsonld *** Test Case *** Create Expired Context Source Registration Subscription diff --git a/data/csourceSubscriptions/subscription-empty-watchedAttributes-sample.jsonld b/data/csourceSubscriptions/subscription-empty-watchedAttributes-sample.jsonld new file mode 100644 index 00000000..a63a1891 --- /dev/null +++ b/data/csourceSubscriptions/subscription-empty-watchedAttributes-sample.jsonld @@ -0,0 +1,21 @@ +{ + "id":"urn:ngsi-ld:Subscription:randomUUID", + "type":"Subscription", + "entities":[ + { + "type":"Building" + } + ], + "watchedAttributes": [], + "notification":{ + "format":"keyValues", + "endpoint":{ + "uri":"http://my.endpoint.org/notify", + "accept":"application/json" + } + }, + "@context":[ + "https://raw.githubusercontent.com/easy-global-market/ngsild-api-data-models/feature/add-json-ld-context-for-ngsi-ld-test-suite/ngsi-ld-test-suite/ngsi-ld-test-suite-context.jsonld", + "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld" + ] +} \ No newline at end of file diff --git a/data/csourceSubscriptions/subscription-invalid-query-sample.jsonld b/data/csourceSubscriptions/subscription-invalid-query-sample.jsonld new file mode 100644 index 00000000..b4c202a7 --- /dev/null +++ b/data/csourceSubscriptions/subscription-invalid-query-sample.jsonld @@ -0,0 +1,21 @@ +{ + "id":"urn:ngsi-ld:Subscription:randomUUID", + "type":"Subscription", + "entities":[ + { + "type":"Building" + } + ], + "q": "invalidQuery", + "notification":{ + "format":"keyValues", + "endpoint":{ + "uri":"http://my.endpoint.org/notify", + "accept":"application/json" + } + }, + "@context":[ + "https://raw.githubusercontent.com/easy-global-market/ngsild-api-data-models/feature/add-json-ld-context-for-ngsi-ld-test-suite/ngsi-ld-test-suite/ngsi-ld-test-suite-context.jsonld", + "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld" + ] +} \ No newline at end of file diff --git a/data/csourceSubscriptions/subscription-invalid-type-sample.jsonld b/data/csourceSubscriptions/subscription-invalid-type-sample.jsonld new file mode 100644 index 00000000..087b9fc2 --- /dev/null +++ b/data/csourceSubscriptions/subscription-invalid-type-sample.jsonld @@ -0,0 +1,20 @@ +{ + "id":"urn:ngsi-ld:Subscription:randomUUID", + "type":"RandomType", + "entities":[ + { + "type":"Building" + } + ], + "notification":{ + "format":"keyValues", + "endpoint":{ + "uri":"http://my.endpoint.org/notify", + "accept":"application/json" + } + }, + "@context":[ + "https://raw.githubusercontent.com/easy-global-market/ngsild-api-data-models/feature/add-json-ld-context-for-ngsi-ld-test-suite/ngsi-ld-test-suite/ngsi-ld-test-suite-context.jsonld", + "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld" + ] +} \ No newline at end of file diff --git a/data/csourceSubscriptions/subscription-invalid-sample.jsonld b/data/csourceSubscriptions/subscription-without-notification-sample.jsonld similarity index 100% rename from data/csourceSubscriptions/subscription-invalid-sample.jsonld rename to data/csourceSubscriptions/subscription-without-notification-sample.jsonld diff --git a/resources/HttpUtils.resource b/resources/HttpUtils.resource new file mode 100755 index 00000000..ea8c64a8 --- /dev/null +++ b/resources/HttpUtils.resource @@ -0,0 +1,9 @@ +*** Settings *** +Variables ./variables.py + +Library String + +*** Keywords *** +Fetch Id From Response Location Header + ${id}= Fetch From Right ${response['headers']['Location']} / + [return] ${id} diff --git a/resources/JsonUtils.resource b/resources/JsonUtils.resource index 4aa5b9b8..78c7d74d 100644 --- a/resources/JsonUtils.resource +++ b/resources/JsonUtils.resource @@ -4,7 +4,6 @@ Library DateTime Library JSONLibrary *** Variable *** -${subscription_id_prefix}= urn:ngsi-ld:Subscription: ${date_format}= %Y-%m-%dT%H:%M:%SZ *** Keywords *** Load Entity @@ -18,7 +17,7 @@ Load Entity Load Test Sample [Arguments] ${test_sample_file_path} ${test_sample_id}=${EMPTY} - ${test_sample_payload}= Load Json From File ${test_sample_file_path} + ${test_sample_payload}= Load Json From File ${EXECDIR}/data/${test_sample_file_path} ${test_sample}= Update Value To Json ${test_sample_payload} $..id ${test_sample_id} Run Keyword If '${test_sample_id}'=='' Delete Object From Json ${test_sample} $..id -- GitLab From babdfd2d9beeb4348295c7bf27294f3e5944f0be Mon Sep 17 00:00:00 2001 From: Houcem Kacem Date: Thu, 14 Jan 2021 15:21:26 +0100 Subject: [PATCH 4/4] refactor: refactor check on response location header --- .../CreateContextSourceRegistrationSubscription/032_01.robot | 2 +- .../CreateContextSourceRegistrationSubscription/032_02.robot | 2 +- .../CreateContextSourceRegistrationSubscription/032_03.robot | 2 +- .../CreateContextSourceRegistrationSubscription/032_04.robot | 2 +- .../CreateContextSourceRegistrationSubscription/032_05.robot | 2 +- .../CreateContextSourceRegistrationSubscription/032_06.robot | 2 +- resources/ApiUtils.resource | 5 ++--- 7 files changed, 8 insertions(+), 9 deletions(-) diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_01.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_01.robot index 7bc96edc..d8865cd9 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_01.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_01.robot @@ -19,7 +19,7 @@ Create Context Source Registration Subscription ${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id} Create Context Source Registration Subscription ${subscription_payload} Check Response Status Code Set To 201 - Check Response Headers Containing URI set to ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_RESOURCE_URI_PREFIX} ${subscription_id} ${response} + Check Response Headers Containing URI set to ${request['path']}/ ${subscription_id} ${response} *** Keywords *** Generate Random Ids For Context Source Registration Subscriptions diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_02.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_02.robot index b677186e..4585d672 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_02.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_02.robot @@ -21,7 +21,7 @@ Create Context Source Registration Subscription Without An Id ${subscription_id}= Fetch Id From Response Location Header Check Response Status Code Set To 201 - Check Response Headers Containing URI set to ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_RESOURCE_URI_PREFIX} ${subscription_id} ${response} + Check Response Headers Containing URI set to ${request['path']}/ ${subscription_id} ${response} Set Suite Variable ${subscription_id} *** Keywords *** diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_03.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_03.robot index 77891471..82b4f4ef 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_03.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_03.robot @@ -19,7 +19,7 @@ Create Context Source Registration Subscription Without isActive Member ${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id} Create Context Source Registration Subscription ${subscription_payload} Check Response Status Code Set To 201 - Check Response Headers Containing URI set to ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_RESOURCE_URI_PREFIX} ${subscription_id} ${response} + Check Response Headers Containing URI set to ${request['path']}/ ${subscription_id} ${response} # TODO: Retrieve context source registration subscription and check status set to active *** Keywords *** diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_04.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_04.robot index f13ce09b..4ee7e5d8 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_04.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_04.robot @@ -19,7 +19,7 @@ Create Inactive Context Source Registration Subscription ${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id} Create Context Source Registration Subscription ${subscription_payload} Check Response Status Code Set To 201 - Check Response Headers Containing URI set to ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_RESOURCE_URI_PREFIX} ${subscription_id} ${response} + Check Response Headers Containing URI set to ${request['path']}/ ${subscription_id} ${response} # TODO: Retrieve context source registration subscription and check status set to paused *** Keywords *** diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_05.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_05.robot index 2a6578e5..2ac840e9 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_05.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_05.robot @@ -24,7 +24,7 @@ Create Context Source Registration Subscription With expiresAt Member Create Context Source Registration Subscription ${subscription_payload} Check Response Status Code Set To 201 - Check Response Headers Containing URI set to ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_RESOURCE_URI_PREFIX} ${subscription_id} ${response} + Check Response Headers Containing URI set to ${request['path']}/ ${subscription_id} ${response} # TODO: Retrieve context source registration subscription after 10 secs and check status set to expired *** Keywords *** diff --git a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_06.robot b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_06.robot index cc9a755a..7cca66d0 100644 --- a/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_06.robot +++ b/TP/NGSI-LD/ContextSource/RegistrationSubscription/CreateContextSourceRegistrationSubscription/032_06.robot @@ -19,7 +19,7 @@ Create Context Source Registration Subscription Without expiresAt Member ${subscription_payload}= Load Test Sample ${subscription_payload_file_path} ${subscription_id} Create Context Source Registration Subscription ${subscription_payload} Check Response Status Code Set To 201 - Check Response Headers Containing URI set to ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_RESOURCE_URI_PREFIX} ${subscription_id} ${response} + Check Response Headers Containing URI set to ${request['path']}/ ${subscription_id} ${response} # TODO: How to check that the context source registration subscription status will be always set to active ? *** Keywords *** diff --git a/resources/ApiUtils.resource b/resources/ApiUtils.resource index 9536929b..8036125e 100755 --- a/resources/ApiUtils.resource +++ b/resources/ApiUtils.resource @@ -18,8 +18,6 @@ ${TEMPORAL_ENTITIES_ENDPOINT_PATH} temporal/entities ${TEMPORAL_ENTITY_OPERATIONS_ENDPOINT_PATH} temporal/entityOperations ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_ENDPOINT_PATH} csourceSubscriptions -${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_RESOURCE_URI_PREFIX} /ngsi-ld/v1/csourceSubscriptions/ - ${CONTENT_TYPE_JSON} application/json ${CONTENT_TYPE_LD_JSON} application/ld+json @@ -321,9 +319,10 @@ Create Context Source Registration Subscription &{headers}= Create Dictionary Content-Type=application/ld+json ${response}= POST ${CONTEXT_SOURCE_REGISTRATION_SUBSCRIPTION_ENDPOINT_PATH} body=${subscription_payload} headers=${headers} - Output request + ${request}= Output request Output response + Set Suite Variable ${request} Set Suite Variable ${response} Delete Context Source Registration Subscription -- GitLab