Commit 065ca55c authored by Benoit Orihuela's avatar Benoit Orihuela
Browse files

feat: add TCs for pick and omit with LER

parent 01a8b81f
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -25,6 +25,30 @@ Test Template Query Entities With Invalid Pick Or Omit Query Params Usage
    [Documentation]    Check that a BadRequestDataException is returned if omit and attrs query params are present
    [Tags]    e-query    5_7_2    4_21    since_v1.8.1
    ${EMPTY}    name    category
019_18_04 RetrieveWithInvalidCharacter
    [Documentation]    Check that a BadRequestDataException is returned if an invalid character is present
    [Tags]    e-retrieve    5_7_1    4_21    since_v1.8.1
    id;name    ${EMPTY}    ${EMPTY}
019_18_05 RetrieveWithUnclosedBrace
    [Documentation]    Check that a BadRequestDataException is returned if a brace is not closed
    [Tags]    e-retrieve    5_7_1    4_21    since_v1.8.1
    id,locatedAt{name    ${EMPTY}    ${EMPTY}
019_18_06 RetrieveWithDoubleBraces
    [Documentation]    Check that a BadRequestDataException is returned if a double brace is present
    [Tags]    e-retrieve    5_7_1    4_21    since_v1.8.1
    id,locatedAt{{name}    ${EMPTY}    ${EMPTY}
019_18_07 RetrieveWithConsecutiveSeparators
    [Documentation]    Check that a BadRequestDataException is returned if consecutive separators are present
    [Tags]    e-retrieve    5_7_1    4_21    since_v1.8.1
    id,,name    ${EMPTY}    ${EMPTY}
019_18_08 RetrieveWithExpressionStartingWithSpecialCharacter
    [Documentation]    Check that a BadRequestDataException is returned if expression starts with a special character
    [Tags]    e-retrieve    5_7_1    4_21    since_v1.8.1
    id,locatedAt{,name}    ${EMPTY}    ${EMPTY}
019_18_09 RetrieveWithExpressionContainingNoAttribute
    [Documentation]    Check that a BadRequestDataException is returned if expression does not contain an attribute
    [Tags]    e-retrieve    5_7_1    4_21    since_v1.8.1
    id,locatedAt{}    ${EMPTY}    ${EMPTY}


*** Keywords ***
+98 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation       Check that entities can be queried with linked entity retrieval and pick parameter

Resource            ${EXECDIR}/resources/ApiUtils/Common.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/JsonUtils.resource

Suite Setup         Create Initial Entities And Linked Entities
Suite Teardown      Delete Created Entities And Linked Entities
Test Template       Query Entities With Joins And Pick


*** Variables ***
${linking_entity_filename}=     building-different-attributes-types.jsonld
${linked_entity_filename}=      city-simple-attributes.jsonld


*** Test Cases ***    JOIN    PICK    EXPECTATION_FILENAME
019_20_01 Query Inline With Pick On Linking Entity
    [Documentation]    Check that entities can be queried with inline join and pick on linking entity
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    inline    id,name    linked-entity-retrieval/buildings-one-level-inline-pick-id-name-019-20.json
019_20_02 Query Flat With Pick On Linking Entity
    [Documentation]    Check that entities can be queried with flat join and pick on linking entity
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    flat    id,name    linked-entity-retrieval/buildings-one-level-flat-pick-id-name-019-20.json
019_20_03 Query Inline With Pick On Linked Entity
    [Documentation]    Check that entities can be queried with inline join and pick on linked entity
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    inline    id,locatedAt{id,name}    linked-entity-retrieval/buildings-one-level-inline-pick-id-locatedAt-019-20.json
019_20_04 Query Flat With Pick On Linked Entity
    [Documentation]    Check that entities can be queried with flat join and pick on linked entity
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    flat    id,locatedAt{id,name}    linked-entity-retrieval/buildings-one-level-flat-pick-id-locatedAt-019-20.json


*** Keywords ***
Query Entities With Joins And Pick
    [Documentation]    Check that entities can be queried with linked entity retrieval and pick parameter
    [Arguments]    ${join}    ${pick}    ${expectation_filename}

    ${response}=    Query Entities
    ...    entity_types=Building
    ...    join=${join}
    ...    joinLevel=1
    ...    pick=${pick}
    ...    local=true
    ...    context=${ngsild_test_suite_context}

    Check Response Status Code    200    ${response.status_code}
    Check Response Body Content
    ...    expectation_filename=${expectation_filename}
    ...    response_body=${response.json()}

Create Initial Entities And Linked Entities
    ${first_entity_id}=    Catenate    ${BUILDING_ID_PREFIX}019-20-1
    ${first_linked_entity_id}=    Catenate    ${CITY_ID_PREFIX}019-20-1
    Set Suite Variable    ${first_entity_id}
    Set Suite Variable    ${first_linked_entity_id}
    ${create_response1}=    Create Linking Entity
    ...    linking_entity_id=${first_entity_id}
    ...    linked_entity_id=${first_linked_entity_id}
    ${create_response2}=    Create Entity Selecting Content Type
    ...    filename=${linked_entity_filename}
    ...    entity_id=${first_linked_entity_id}
    ...    content_type=${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    201    ${create_response2.status_code}

    ${second_entity_id}=    Catenate    ${BUILDING_ID_PREFIX}019-20-2
    ${second_linked_entity_id}=    Catenate    ${CITY_ID_PREFIX}019-20-2
    Set Suite Variable    ${second_entity_id}
    Set Suite Variable    ${second_linked_entity_id}
    ${create_response3}=    Create Linking Entity
    ...    linking_entity_id=${second_entity_id}
    ...    linked_entity_id=${second_linked_entity_id}
    ${create_response4}=    Create Entity Selecting Content Type
    ...    filename=${linked_entity_filename}
    ...    entity_id=${second_linked_entity_id}
    ...    content_type=${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    201    ${create_response4.status_code}

Delete Created Entities And Linked Entities
    Delete Entity    ${first_entity_id}
    Delete Entity    ${first_linked_entity_id}
    Delete Entity    ${second_entity_id}
    Delete Entity    ${second_linked_entity_id}

Create Linking Entity
    [Arguments]    ${linking_entity_id}    ${linked_entity_id}
    ${entity_payload}=    Load JSON From File    ${EXECDIR}/data/entities/${linking_entity_filename}
    ${entity}=    Update Value To JSON    ${entity_payload}    $.id    ${linking_entity_id}
    ${entity}=    Update Value To JSON    ${entity}    $.locatedAt.object    ${linked_entity_id}
    ${response}=    Create Entity From JSON-LD Content
    ...    ${entity}
    Check Response Status Code    201    ${response.status_code}
    RETURN    ${response}
+97 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation       Check that entities can be queried with linked entity retrieval and omit parameter

Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/JsonUtils.resource

Suite Setup         Create Initial Entities And Linked Entities
Suite Teardown      Delete Created Entities And Linked Entities
Test Template       Query Entities With Joins And Omit


*** Variables ***
${linking_entity_filename}=     building-different-attributes-types.jsonld
${linked_entity_filename}=      city-simple-attributes.jsonld


*** Test Cases ***    JOIN    OMIT    EXPECTATION_FILENAME
019_21_01 Query Inline With Omit On Linking Entity
    [Documentation]    Check that entities can be queried with inline linked entity retrieval and omit on name
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    inline    name    linked-entity-retrieval/buildings-one-level-inline-omit-name-019-21.json
019_21_02 Query Flat With Omit On Linking Entity
    [Documentation]    Check that entities can be queried with flat linked entity retrieval and omit on name
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    flat    name    linked-entity-retrieval/buildings-one-level-flat-omit-name-019-21.json
019_21_03 Query Inline With Omit On Linked Entity
    [Documentation]    Check that entities can be queried with inline linked entity retrieval and omit on type
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    inline    name,locatedAt{name}    linked-entity-retrieval/buildings-one-level-inline-omit-id-locatedAt-019-21.json
019_21_04 Query Flat With Omit On Linked Entity
    [Documentation]    Check that entities can be queried with flat linked entity retrieval and omit on type
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    flat    name,locatedAt{name}    linked-entity-retrieval/buildings-one-level-flat-omit-id-locatedAt-019-21.json


*** Keywords ***
Query Entities With Joins And Omit
    [Documentation]    Check that entities can be queried with linked entity retrieval and omit parameter
    [Arguments]    ${join}    ${omit}    ${expectation_filename}

    ${response}=    Query Entities
    ...    entity_types=Building
    ...    join=${join}
    ...    joinLevel=1
    ...    omit=${omit}
    ...    local=true
    ...    context=${ngsild_test_suite_context}

    Check Response Status Code    200    ${response.status_code}
    Check Response Body Content
    ...    expectation_filename=${expectation_filename}
    ...    response_body=${response.json()}

Create Initial Entities And Linked Entities
    ${first_entity_id}=    Catenate    ${BUILDING_ID_PREFIX}019-21-1
    ${first_linked_entity_id}=    Catenate    ${CITY_ID_PREFIX}019-21-1
    Set Suite Variable    ${first_entity_id}
    Set Suite Variable    ${first_linked_entity_id}
    ${create_response1}=    Create Linking Entity
    ...    linking_entity_id=${first_entity_id}
    ...    linked_entity_id=${first_linked_entity_id}
    ${create_response2}=    Create Entity Selecting Content Type
    ...    filename=${linked_entity_filename}
    ...    entity_id=${first_linked_entity_id}
    ...    content_type=${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    201    ${create_response2.status_code}

    ${second_entity_id}=    Catenate    ${BUILDING_ID_PREFIX}019-21-2
    ${second_linked_entity_id}=    Catenate    ${CITY_ID_PREFIX}019-21-2
    Set Suite Variable    ${second_entity_id}
    Set Suite Variable    ${second_linked_entity_id}
    ${create_response3}=    Create Linking Entity
    ...    linking_entity_id=${second_entity_id}
    ...    linked_entity_id=${second_linked_entity_id}
    ${create_response4}=    Create Entity Selecting Content Type
    ...    filename=${linked_entity_filename}
    ...    entity_id=${second_linked_entity_id}
    ...    content_type=${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    201    ${create_response4.status_code}

Delete Created Entities And Linked Entities
    Delete Entity    ${first_entity_id}
    Delete Entity    ${first_linked_entity_id}
    Delete Entity    ${second_entity_id}
    Delete Entity    ${second_linked_entity_id}

Create Linking Entity
    [Arguments]    ${linking_entity_id}    ${linked_entity_id}
    ${entity_payload}=    Load JSON From File    ${EXECDIR}/data/entities/${linking_entity_filename}
    ${entity}=    Update Value To JSON    ${entity_payload}    $.id    ${linking_entity_id}
    ${entity}=    Update Value To JSON    ${entity}    $.locatedAt.object    ${linked_entity_id}
    ${response}=    Create Entity From JSON-LD Content
    ...    ${entity}
    Check Response Status Code    201    ${response.status_code}
    RETURN    ${response}
+116 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation       Check that entities can be queried with two levels linked entities and pick parameter

Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/JsonUtils.resource

Suite Setup         Create Initial Entities And Linked Entities
Suite Teardown      Delete Created Entities And Linked Entities
Test Template       Query Entities With Joins And Pick


*** Variables ***
${linking_entity_filename}=             building-relationship.jsonld
${level_1_linked_entity_filename}=      city-simple-attributes.jsonld
${level_2_linked_entity_filename}=      country-simple-attributes.jsonld


*** Test Cases ***    JOIN    PICK    EXPECTATION_FILENAME
019_22_01 Query Inline With Pick On Linked Entity
    [Documentation]    Check that entities can be queried with inline join and pick on linked entity
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    inline    id,locatedAt{id,name}    linked-entity-retrieval/buildings-two-levels-inline-pick-id-locatedAt-019-22.json
019_22_02 Query Flat With Pick On Linked Entity
    [Documentation]    Check that entities can be queried with flat join and pick on linked entity
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    flat    id,locatedAt{id,name}    linked-entity-retrieval/buildings-two-levels-flat-pick-id-locatedAt-019-22.json
019_22_03 Query Inline With Pick On Second Level Linked Entity
    [Documentation]    Check that entities can be queried with inline join and pick on 2nd level linked entity
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    inline    id,locatedAt{id,name,isInCountry{id,description}}    linked-entity-retrieval/buildings-two-levels-inline-pick-id-locatedAt-isInCountry-019-22.json
019_22_04 Query Flat With Pick On Second Level Linked Entity
    [Documentation]    Check that entities can be queried with flat join and pick on 2nd level linked entity
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    flat    id,locatedAt{id,name,isInCountry{id,description}}    linked-entity-retrieval/buildings-two-levels-flat-pick-id-locatedAt-isInCountry-019-22.json


*** Keywords ***
Query Entities With Joins And Pick
    [Documentation]    Check that entities can be queried with two levels linked entities and pick parameter
    [Arguments]    ${join}    ${pick}    ${expectation_filename}

    ${response}=    Query Entities
    ...    entity_types=Building
    ...    join=${join}
    ...    joinLevel=2
    ...    pick=${pick}
    ...    local=true
    ...    context=${ngsild_test_suite_context}

    Check Response Status Code    200    ${response.status_code}
    Check Response Body Content
    ...    expectation_filename=${expectation_filename}
    ...    response_body=${response.json()}

Create Initial Entities And Linked Entities
    ${entity_1_id}=    Catenate    ${building_id_prefix}019-22-1
    Set Suite Variable    ${entity_1_id}
    ${linked_entity_1_level_1_id}=    Catenate    ${CITY_ID_PREFIX}019-22-1
    Set Suite Variable    ${linked_entity_1_level_1_id}
    ${create_response1}=    Create Linking Entity
    ...    entity_filename=${linking_entity_filename}
    ...    entity_id=${entity_1_id}
    ...    linked_entity_id=${linked_entity_1_level_1_id}
    ${linked_entity_1_level_2_id}=    Catenate    ${COUNTRY_ID_PREFIX}019-22-1
    Set Suite Variable    ${linked_entity_1_level_2_id}
    ${create_response2}=    Create Linking Entity
    ...    entity_filename=${level_1_linked_entity_filename}
    ...    entity_id=${linked_entity_1_level_1_id}
    ...    linked_entity_id=${linked_entity_1_level_2_id}
    Check Response Status Code    201    ${create_response2.status_code}
    ${create_response3}=    Create Entity Selecting Content Type
    ...    filename=${level_2_linked_entity_filename}
    ...    entity_id=${linked_entity_1_level_2_id}
    ...    content_type=${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    201    ${create_response3.status_code}

    ${entity_2_id}=    Catenate    ${building_id_prefix}019-22-2
    Set Suite Variable    ${entity_2_id}
    ${linked_entity_2_level_1_id}=    Catenate    ${CITY_ID_PREFIX}019-22-2
    Set Suite Variable    ${linked_entity_2_level_1_id}
    ${create_response4}=    Create Linking Entity
    ...    entity_filename=${linking_entity_filename}
    ...    entity_id=${entity_2_id}
    ...    linked_entity_id=${linked_entity_2_level_1_id}
    ${linked_entity_2_level_2_id}=    Catenate    ${COUNTRY_ID_PREFIX}019-22-2
    Set Suite Variable    ${linked_entity_2_level_2_id}
    ${create_response5}=    Create Linking Entity
    ...    entity_filename=${level_1_linked_entity_filename}
    ...    entity_id=${linked_entity_2_level_1_id}
    ...    linked_entity_id=${linked_entity_2_level_2_id}
    Check Response Status Code    201    ${create_response2.status_code}
    ${create_response6}=    Create Entity Selecting Content Type
    ...    filename=${level_2_linked_entity_filename}
    ...    entity_id=${linked_entity_2_level_2_id}
    ...    content_type=${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    201    ${create_response3.status_code}

Delete Created Entities And Linked Entities
    Delete Entity    ${entity_1_id}
    Delete Entity    ${linked_entity_1_level_1_id}
    Delete Entity    ${linked_entity_1_level_2_id}
    Delete Entity    ${entity_2_id}
    Delete Entity    ${linked_entity_2_level_1_id}
    Delete Entity    ${linked_entity_2_level_2_id}

Create Linking Entity
    [Arguments]    ${entity_filename}    ${entity_id}    ${linked_entity_id}
    ${entity_payload}=    Load JSON From File    ${EXECDIR}/data/entities/${entity_filename}
    ${entity}=    Update Value To JSON    ${entity_payload}    $.id    ${entity_id}
    ${entity}=    Update Value To JSON    ${entity}    $..object    ${linked_entity_id}
    ${response}=    Create Entity From JSON-LD Content
    ...    ${entity}
    Check Response Status Code    201    ${response.status_code}
    RETURN    ${response}
+116 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation       Check that entities can be queried with two levels linked entities and omit parameter

Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/JsonUtils.resource

Suite Setup         Create Initial Entities And Linked Entities
Suite Teardown      Delete Created Entities And Linked Entities
Test Template       Query Entities With Joins And Omit


*** Variables ***
${linking_entity_filename}=             building-relationship.jsonld
${level_1_linked_entity_filename}=      city-simple-attributes.jsonld
${level_2_linked_entity_filename}=      country-simple-attributes.jsonld


*** Test Cases ***    JOIN    OMIT    EXPECTATION_FILENAME
019_23_01 Query Inline With Omit On Linked Entity
    [Documentation]    Check that entities can be queried with inline join and omit on linked entity
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    inline    type,locatedAt{name}    linked-entity-retrieval/buildings-two-levels-inline-omit-id-locatedAt-019-23.json
019_23_02 Query Flat With Omit On Linked Entity
    [Documentation]    Check that entities can be queried with flat join and omit on linked entity
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    flat    type,locatedAt{name}    linked-entity-retrieval/buildings-two-levels-flat-omit-id-locatedAt-019-23.json
019_23_03 Query Inline With Omit On Second Level Linked Entity
    [Documentation]    Check that entities can be queried with inline join and omit on 2nd level linked entity
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    inline    type,locatedAt{name,isInCountry{description}}    linked-entity-retrieval/buildings-two-levels-inline-omit-id-locatedAt-isInCountry-019-23.json
019_23_04 Query Flat With Omit On Second Level Linked Entity
    [Documentation]    Check that entities can be queried with flat join and omit on 2nd level linked entity
    [Tags]    e-query    5_7_2    4_5_23    4_21    since_v1.8.1
    flat    type,locatedAt{name,isInCountry{description}}    linked-entity-retrieval/buildings-two-levels-flat-omit-id-locatedAt-isInCountry-019-23.json


*** Keywords ***
Query Entities With Joins And Omit
    [Documentation]    Check that entities can be queried with two levels linked entities and omit parameter
    [Arguments]    ${join}    ${omit}    ${expectation_filename}

    ${response}=    Query Entities
    ...    entity_types=Building
    ...    join=${join}
    ...    joinLevel=2
    ...    omit=${omit}
    ...    local=true
    ...    context=${ngsild_test_suite_context}

    Check Response Status Code    200    ${response.status_code}
    Check Response Body Content
    ...    expectation_filename=${expectation_filename}
    ...    response_body=${response.json()}

Create Initial Entities And Linked Entities
    ${entity_1_id}=    Catenate    ${building_id_prefix}019-23-1
    Set Suite Variable    ${entity_1_id}
    ${linked_entity_1_level_1_id}=    Catenate    ${CITY_ID_PREFIX}019-23-1
    Set Suite Variable    ${linked_entity_1_level_1_id}
    ${create_response1}=    Create Linking Entity
    ...    entity_filename=${linking_entity_filename}
    ...    entity_id=${entity_1_id}
    ...    linked_entity_id=${linked_entity_1_level_1_id}
    ${linked_entity_1_level_2_id}=    Catenate    ${COUNTRY_ID_PREFIX}019-23-1
    Set Suite Variable    ${linked_entity_1_level_2_id}
    ${create_response2}=    Create Linking Entity
    ...    entity_filename=${level_1_linked_entity_filename}
    ...    entity_id=${linked_entity_1_level_1_id}
    ...    linked_entity_id=${linked_entity_1_level_2_id}
    Check Response Status Code    201    ${create_response2.status_code}
    ${create_response3}=    Create Entity Selecting Content Type
    ...    filename=${level_2_linked_entity_filename}
    ...    entity_id=${linked_entity_1_level_2_id}
    ...    content_type=${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    201    ${create_response3.status_code}

    ${entity_2_id}=    Catenate    ${building_id_prefix}019-23-2
    Set Suite Variable    ${entity_2_id}
    ${linked_entity_2_level_1_id}=    Catenate    ${CITY_ID_PREFIX}019-23-2
    Set Suite Variable    ${linked_entity_2_level_1_id}
    ${create_response4}=    Create Linking Entity
    ...    entity_filename=${linking_entity_filename}
    ...    entity_id=${entity_2_id}
    ...    linked_entity_id=${linked_entity_2_level_1_id}
    ${linked_entity_2_level_2_id}=    Catenate    ${COUNTRY_ID_PREFIX}019-23-2
    Set Suite Variable    ${linked_entity_2_level_2_id}
    ${create_response5}=    Create Linking Entity
    ...    entity_filename=${level_1_linked_entity_filename}
    ...    entity_id=${linked_entity_2_level_1_id}
    ...    linked_entity_id=${linked_entity_2_level_2_id}
    Check Response Status Code    201    ${create_response2.status_code}
    ${create_response6}=    Create Entity Selecting Content Type
    ...    filename=${level_2_linked_entity_filename}
    ...    entity_id=${linked_entity_2_level_2_id}
    ...    content_type=${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    201    ${create_response3.status_code}

Delete Created Entities And Linked Entities
    Delete Entity    ${entity_1_id}
    Delete Entity    ${linked_entity_1_level_1_id}
    Delete Entity    ${linked_entity_1_level_2_id}
    Delete Entity    ${entity_2_id}
    Delete Entity    ${linked_entity_2_level_1_id}
    Delete Entity    ${linked_entity_2_level_2_id}

Create Linking Entity
    [Arguments]    ${entity_filename}    ${entity_id}    ${linked_entity_id}
    ${entity_payload}=    Load JSON From File    ${EXECDIR}/data/entities/${entity_filename}
    ${entity}=    Update Value To JSON    ${entity_payload}    $.id    ${entity_id}
    ${entity}=    Update Value To JSON    ${entity}    $..object    ${linked_entity_id}
    ${response}=    Create Entity From JSON-LD Content
    ...    ${entity}
    Check Response Status Code    201    ${response.status_code}
    RETURN    ${response}
Loading