Commit 15da5ed3 authored by Benoit Orihuela's avatar Benoit Orihuela
Browse files

refactor: load entity and generate id keywords (fix #4)

parent 1d9a5082
Loading
Loading
Loading
Loading
+8 −11
Original line number Diff line number Diff line
*** 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/ContextInformationProvision.resource
Resource            ${EXECDIR}/resources/ApiUtils/Common.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.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/ContextSourceRegistration.resource
Resource            ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource            ${EXECDIR}/resources/ApiUtils/TemporalContextInformationProvision.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/JsonUtils.resource


*** Variables ***
${building_id_prefix}=          urn:ngsi-ld:Building:
${building_filename}=           building-simple-attributes.jsonld
${subscription_id_prefix}=      urn:ngsi-ld:Subscription:
${subscription_filename}=       subscriptions/subscription.jsonld
${registration_id_prefix}=      urn:ngsi-ld:Registration:
${registration_filename}=       csourceRegistrations/context-source-registration-with-expiration.jsonld
${registration_type}=           Vehicle
${tea_id_prefix}=               urn:ngsi-ld:Vehicle:
${tea_filename}=                vehicle-temporal-representation.jsonld
${teatype}=                     Vehicle
${content_type}=                application/json
@@ -30,7 +27,7 @@ ${content_type}= application/json
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    cb-get    6_3_4
    ${id}=    Generate Random Entity Id    ${building_id_prefix}
    ${id}=    Generate Random Building Entity Id
    ${response}=    Create Entity Selecting Content Type
    ...    ${building_filename}
    ...    ${id}
@@ -48,7 +45,7 @@ ${content_type}= application/json
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    cb-get    6_3_4
    ${id}=    Generate Random Entity Id    ${subscription_id_prefix}
    ${id}=    Generate Random Subscription Id
    ${response}=    Create Subscription    ${id}    ${subscription_filename}    ${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    201    ${response.status_code}
    ${response}=    Retrieve Subscription
@@ -62,7 +59,7 @@ ${content_type}= application/json
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    cb-get    6_3_4
    ${registration_id}=    Generate Random Entity Id    ${registration_id_prefix}
    ${registration_id}=    Generate Random CSR Id
    ${payload}=    Load JSON From File    ${EXECDIR}/data/${registration_filename}
    ${updated_payload}=    Update Value To JSON    ${payload}    $..id    ${registration_id}
    ${response}=    Create Context Source Registration With Return    ${updated_payload}
@@ -80,7 +77,7 @@ ${content_type}= application/json
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    cb-get    6_3_4
    ${temporal_entity_representation_id}=    Generate Random Entity Id    ${tea_id_prefix}
    ${temporal_entity_representation_id}=    Generate Random Vehicle Entity Id
    ${response}=    Create Or Update Temporal Representation Of Entity Selecting Content Type
    ...    temporal_entity_representation_id=${temporal_entity_representation_id}
    ...    filename=${tea_filename}
+7 −10
Original line number Diff line number Diff line
*** Settings ***
Documentation       Verify receiving 503 – LdContextNotAvailable error if remote JSON-LD @context cannot be retrieved

Resource            ${EXECDIR}/resources/ApiUtils/Common.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextSourceRegistration.resource
@@ -11,13 +12,9 @@ Resource ${EXECDIR}/resources/JsonUtils.resource

*** Variables ***
${expected_status_code}=        503
${building_id_prefix}=          urn:ngsi-ld:Building:
${building_filename}=           building-unretrievable-context.jsonld
${subscription_id_prefix}=      urn:ngsi-ld:Subscription:
${subscription_filename}=       subscriptions/subscription-unretrievable-context.jsonld
${tea_id_prefix}=               urn:ngsi-ld:Vehicle:
${tea_filename}=                bus-temporal-representation-unretrievable-context.jsonld
${registration_id_prefix}=      urn:ngsi-ld:Registration:
${registration_filename}=       csourceRegistrations/context-source-registration-unretrievable-context.jsonld


@@ -25,7 +22,7 @@ ${registration_filename}= csourceRegistrations/context-source-registration
043_01_01 Create entity
    [Documentation]    Verify receiving 503 – LdContextNotAvailable error if remote JSON-LD @context cannot be retrieved (Create entity)
    [Tags]    e-create    cb-ldcontext    5_2_2
    ${entity_id}=    Generate Random Entity Id    ${building_id_prefix}
    ${entity_id}=    Generate Random Building Entity Id
    ${response}=    Create Entity Selecting Content Type
    ...    ${building_filename}
    ...    ${entity_id}
@@ -40,7 +37,7 @@ ${registration_filename}= csourceRegistrations/context-source-registration
043_01_02 Create subscription
    [Documentation]    Verify receiving 503 – LdContextNotAvailable error if remote JSON-LD @context cannot be retrieved (Create subscription)
    [Tags]    sub-create    cb-ldcontext    5_2_2
    ${subscription_id}=    Generate Random Entity Id    ${subscription_id_prefix}
    ${subscription_id}=    Generate Random Subscription Id
    ${response}=    Create Subscription    ${subscription_id}    ${subscription_filename}    ${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    ${expected_status_code}    ${response.status_code}
    Check Response Body Containing ProblemDetails Element Containing Type Element set to
@@ -52,7 +49,7 @@ ${registration_filename}= csourceRegistrations/context-source-registration
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    cb-ldcontext    5_2_2
    ${temporal_entity_representation_id}=    Generate Random Entity Id    ${tea_id_prefix}
    ${temporal_entity_representation_id}=    Generate Random Vehicle Entity Id
    ${response}=    Create Or Update Temporal Representation Of Entity Selecting Content Type
    ...    temporal_entity_representation_id=${temporal_entity_representation_id}
    ...    filename=${tea_filename}
@@ -67,8 +64,8 @@ ${registration_filename}= csourceRegistrations/context-source-registration
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    cb-ldcontext    5_2_2
    ${first_entity_id}=    Generate Random Entity Id    ${building_id_prefix}
    ${second_entity_id}=    Generate Random Entity Id    ${building_id_prefix}
    ${first_entity_id}=    Generate Random Building Entity Id
    ${second_entity_id}=    Generate Random Building Entity Id
    ${first_entity}=    Load Entity    ${building_filename}    ${first_entity_id}
    ${second_entity}=    Load Entity    ${building_filename}    ${second_entity_id}
    @{entities_to_be_created}=    Create List    ${first_entity}    ${second_entity}
@@ -90,7 +87,7 @@ ${registration_filename}= csourceRegistrations/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    cb-ldcontext    5_2_2
    ${registration_id}=    Generate Random Entity Id    ${registration_id_prefix}
    ${registration_id}=    Generate Random CSR Id
    ${payload}=    Load JSON From File    ${EXECDIR}/data/${registration_filename}
    ${updated_payload}=    Update Value To JSON    ${payload}    $..id    ${registration_id}
    ${response}=    Create Context Source Registration With Return    ${updated_payload}
+5 −5
Original line number Diff line number Diff line
*** Settings ***
Documentation       Verify that PATCH HTTP requests can be done with "application/merge-patch+json" as Content-Type

Resource            ${EXECDIR}/resources/ApiUtils/Common.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/JsonUtils.resource
@@ -10,7 +11,6 @@ Test Teardown Delete Initial Entity


*** Variables ***
${vehicle_id_prefix}=       urn:ngsi-ld:Vehicle:
${vehicle_filename}=    vehicle-simple-attributes.jsonld
${vehicle_fragment}=    vehicle-brandname-fragment.json
${attribute_id}=        brandName
@@ -31,7 +31,7 @@ ${attribute_id}= brandName

*** Keywords ***
Create Initial Entity
    ${entity_id}=    Generate Random Entity Id    ${vehicle_id_prefix}
    ${entity_id}=    Generate Random Vehicle Entity Id
    ${response}=    Create Entity Selecting Content Type
    ...    ${vehicle_filename}
    ...    ${entity_id}
+2 −2
Original line number Diff line number Diff line
*** Settings ***
Documentation       Verify that PATCH HTTP requests can be done with "application/merge-patch+json" as Content-Type

Resource            ${EXECDIR}/resources/ApiUtils/Common.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
@@ -11,7 +12,6 @@ Test Teardown Delete Initial Subscription


*** Variables ***
${subscription_id_prefix}=      urn:ngsi-ld:Subscription:
${subscription_filename}=       subscriptions/subscription.jsonld
${subscription_fragment}=       subscriptions/fragments/subscription-update.json

@@ -30,7 +30,7 @@ ${subscription_fragment}= subscriptions/fragments/subscription-update.json

*** Keywords ***
Create Initial Subscription
    ${subscription_id}=    Generate Random Entity Id    ${subscription_id_prefix}
    ${subscription_id}=    Generate Random Subscription Id
    ${response}=    Create Subscription    ${subscription_id}    ${subscription_filename}    ${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    201    ${response.status_code}
    Set Test Variable    ${subscription_id}
+7 −8
Original line number Diff line number Diff line
*** 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/ContextInformationProvision.resource
Resource            ${EXECDIR}/resources/ApiUtils/Common.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationSubscription.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextSourceDiscovery.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextSourceRegistrationSubscription.resource
Resource            ${EXECDIR}/resources/ApiUtils/TemporalContextInformationConsumption.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/JsonUtils.resource
@@ -14,15 +15,13 @@ Resource ${EXECDIR}/resources/JsonUtils.resource
*** Variables ***
${accept}=          application/xml
${status_code}=     406
${building_id_prefix}=          urn:ngsi-ld:Building:
${subscription_id_prefix}=      urn:ngsi-ld:Subscription:


*** Test Cases ***
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    cb-noacceptable-medtype    6_3_4
    ${entity_id}=    Generate Random Entity Id    ${building_id_prefix}
    ${entity_id}=    Generate Random Building Entity Id
    ${response}=    Query Entity
    ...    id=${entity_id}
    ...    accept=${accept}
@@ -32,7 +31,7 @@ ${subscription_id_prefix}= urn:ngsi-ld:Subscription:
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    cb-noacceptable-medtype    6_3_4
    ${id}=    Generate Random Entity Id    ${subscription_id_prefix}
    ${id}=    Generate Random Subscription Id
    ${response}=    Retrieve Subscription
    ...    id=${id}
    ...    accept=${accept}
Loading