Unverified Commit c196a5dd authored by Benoit Orihuela's avatar Benoit Orihuela
Browse files

feat: add TCs for Purge Entities operation

parent d9a20233
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -34,6 +34,9 @@ ${filename}= building-minimal.json
059_01_07 QuerySubscriptions
    [Tags]    sub-create    5_8_1    6_3_20    since_v1.7.1
    GET    subscriptions
059_01_08 PurgeEntities
    [Tags]    e-purge    5_6_21    6_4_3_3    since_v1.9.1
    DELETE    entities


*** Keywords ***
+3 −6
Original line number Diff line number Diff line
*** Settings ***
Documentation       Check that one cannot delete an entity with invalid/missing id
Documentation       Check that one cannot delete an entity with invalid id

Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
@@ -9,17 +9,14 @@ Test Template Delete Entity Scenarios


*** Test Cases ***    ENTITY_ID    EXPECTED_STATUS_CODE    PROBLEM_TYPE
002_02_01 Delete An Entity If The Entity Id Is Not Present
    [Tags]    e-delete    5_6_6
    ${EMPTY}    405    ${EMPTY}
002_02_02 Delete An Entity If The Entity Id Is Not A Valid URI
002_02_01 Delete An Entity If The Entity Id Is Not A Valid URI
    [Tags]    e-delete    5_6_6
    thisisaninvaliduri    400    ${ERROR_TYPE_BAD_REQUEST_DATA}


*** Keywords ***
Delete Entity Scenarios
    [Documentation]    Check that one cannot delete an entity with invalid/missing id
    [Documentation]    Check that one cannot delete an entity with invalid id
    [Arguments]    ${entity_id}    ${expected_status_code}    ${problem_type}
    ${response}=    Delete Entity    ${entity_id}
    Check Response Status Code    ${expected_status_code}    ${response.status_code}
+20 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation       Check that a BadRequestData error is returned when purge entities is called without any query parameter

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


*** Test Cases ***
060_01_01 Purge Entities Without Any Query Parameter
    [Documentation]    Check that a BadRequestData error is returned when no query parameter is provided
    [Tags]    e-purge    5_6_21    6_4_3_3    since_v1.9.1

    ${response}=    Purge Entities

    Check Response Status Code    400    ${response.status_code}
    Check Response Body Containing ProblemDetails Element Containing Type Element set to
    ...    ${response.json()}
    ...    ${ERROR_TYPE_BAD_REQUEST_DATA}
    Check Response Body Containing ProblemDetails Element Containing Title Element    ${response.json()}
+24 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation       Check that a BadRequestData error is returned when purge entities is called with both keep and drop parameters

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


*** Test Cases ***
060_02_01 Purge Entities With Keep And Drop At The Same Time
    [Documentation]    Check that a BadRequestData error is returned when both keep and drop query parameters are provided
    [Tags]    e-purge    5_6_21    6_4_3_3    since_v1.9.1

    ${response}=    Purge Entities
    ...    type=Building
    ...    keep=name
    ...    drop=subCategory
    ...    context=${ngsild_test_suite_context}

    Check Response Status Code    400    ${response.status_code}
    Check Response Body Containing ProblemDetails Element Containing Type Element set to
    ...    ${response.json()}
    ...    ${ERROR_TYPE_BAD_REQUEST_DATA}
    Check Response Body Containing ProblemDetails Element Containing Title Element    ${response.json()}
+50 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation       Check that purge entities deletes entities matching a type

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

Test Setup          Setup Initial Entities
Test Teardown       Delete Created Entities


*** Test Cases ***
060_03_01 Purge Entities Matching Type
    [Documentation]    Check that purge entities deletes matching a type
    [Tags]    e-purge    5_6_21    6_4_3_3    since_v1.9.1

    ${response}=    Purge Entities
    ...    type=Building
    ...    context=${ngsild_test_suite_context}

    Check Response Status Code    204    ${response.status_code}
    Check Response Body Is Empty    ${response}

    ${response1}=    Query Entities
    ...    entity_types=Building
    ...    context=${ngsild_test_suite_context}
    Check SUT Not Containing Resources    ${response1.json()}


*** Keywords ***
Setup Initial Entities
    ${first_entity_id}=    Catenate    ${BUILDING_ID_PREFIX}060-04-1
    Set Test Variable    ${first_entity_id}
    ${create_response1}=    Create Entity Selecting Content Type
    ...    building-simple-attributes.jsonld
    ...    ${first_entity_id}
    ...    ${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    201    ${create_response1.status_code}
    ${second_entity_id}=    Catenate    ${BUILDING_ID_PREFIX}060-04-2
    Set Test Variable    ${second_entity_id}
    ${create_response2}=    Create Entity Selecting Content Type
    ...    building-simple-attributes.jsonld
    ...    ${second_entity_id}
    ...    ${CONTENT_TYPE_LD_JSON}
    Check Response Status Code    201    ${create_response2.status_code}

Delete Created Entities
    Delete Entity    ${first_entity_id}
    Delete Entity    ${second_entity_id}
Loading