Commit 0df309ee authored by Serafino's avatar Serafino
Browse files

added some tests on distops

parent 43232192
Loading
Loading
Loading
Loading
+58 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation        Verify that, when one has an inclusive registration on CB1, one is able to create entities on CB2

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

Suite Setup         Setup Entity On Remote And Registration
Suite Teardown      Delete Created Entity And Registration


*** Variables ***
${entity_id_prefix}                     urn:ngsi-ld:Vehicle:
${entity_payload_filename}              vehicle-simple-attributes-sample.jsonld
${registration_id_prefix}               urn:ngsi-ld:Registration:
${registration_payload_file_path}       csourceRegistrations/context-source-registration-vehicle-redirection-ops-sample.jsonld

*** Test Cases ***
056_01_01 Create Enity on Both CBs
    [Tags]    dist-ops    e-create    5_6_1
    [Documentation]    Check that if one requests CB1 to create an entity that matches an inclusive registration, this is created on CB2 too 
    ${response}=    Create Entity    ${entity_payload_filename}    ${entity_id}
    Check Response Status Code    201    ${response.status_code}
    Check Response Headers Containing URI set to    ${entity_id}    ${response.headers}

    @{entities_id}=    Create List    ${entity_id}
    ${response}=    Query Entities    entity_types=Vehicle    local=true    context=${ngsild_test_suite_context}
    Check Response Status Code    200    ${response.status_code}
    Check Response Body Containing Entities URIS set to    ${entities_id}    ${response.json()}
    ${response}=    Query Entities On Remote Broker    entity_types=Vehicle
    Check Response Body Containing Entities URIS set to    ${entities_id}    ${response.json()}


*** Keywords ***
Setup Entity On Remote And Registration
    ${entity_id}=    Generate Random Entity Id    ${entity_id_prefix}
    Set Suite Variable    ${entity_id}

    ${registration_id}=    Generate Random Entity Id    ${registration_id_prefix}
    Set Suite Variable    ${registration_id}
    ${registration_payload}=    Create ContextSourceRegistration With Mode   
    ...    ${registration_id}
    ...    ${registration_payload_file_path}
    ...    entity_id=${entity_id}
    ${response1}=    Create Context Source Registration With Return    ${registration_payload}
    Check Response Status Code    201    ${response1.status_code}

Delete Created Entity And Registration
    Delete Context Source Registration    ${registration_id}
    Delete Entity By Id   ${entity_id}
    Delete Entity By Id On Remote Broker    ${entity_id}  
    

    
 No newline at end of file
+60 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation        Verify that, when one has an entity and an inclusive registration on CB1, one is able to create that entity on CB2 via CB1 but gets an error for CB1

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

Suite Setup         Setup Entity On Remote And Registration
Suite Teardown      Delete Created Entity And Registration


*** Variables ***
${entity_id_prefix}                     urn:ngsi-ld:Vehicle:
${entity_payload_filename}              vehicle-simple-attributes-sample.jsonld
${registration_id_prefix}               urn:ngsi-ld:Registration:
${registration_payload_file_path}       csourceRegistrations/context-source-registration-vehicle-redirection-ops-sample.jsonld

*** Test Cases ***
056_01_02 Create entity already existing locally on CB2
    [Tags]    dist-ops    e-create    5_6_1
    [Documentation]    Check that if one requests CB1 to create an entity that matches an inclusive registration and already exists locally, this raises an error on CB1 but is created correctly on CB2
    ${response}=    Create Entity    ${entity_payload_filename}    ${entity_id}
    Check Response Status Code    207    ${response.status_code}
    Check Response Headers Containing URI set to    ${entity_id}    ${response.headers}
    
    Check JSON Value In Response Body    ['statusCode']    404    ${response.json()['notUpdated'][0]}

    @{entities_id}=    Create List    ${entity_id}
    ${response}=    Query Entities On Remote Broker    entity_types=Vehicle
    Check Response Body Containing Entities URIS set to    ${entities_id}    ${response.json()}


*** Keywords ***
Setup Entity On Remote And Registration
    ${entity_id}=    Generate Random Entity Id    ${entity_id_prefix}
    Set Suite Variable    ${entity_id}
    ${response}=    Create Entity    ${entity_payload_filename}    ${entity_id}
    Check Response Status Code    201    ${response.status_code}
    Check Response Headers Containing URI set to    ${entity_id}    ${response.headers}

    ${registration_id}=    Generate Random Entity Id    ${registration_id_prefix}
    Set Suite Variable    ${registration_id}
    ${registration_payload}=    Create ContextSourceRegistration With Mode   
    ...    ${registration_id}
    ...    ${registration_payload_file_path}
    ...    entity_id=${entity_id}
    ${response1}=    Create Context Source Registration With Return    ${registration_payload}
    Check Response Status Code    201    ${response1.status_code}

Delete Created Entity And Registration
    Delete Context Source Registration    ${registration_id}
    Delete Entity By Id   ${entity_id}
    Delete Entity By Id On Remote Broker    ${entity_id}  
    

    
 No newline at end of file
+61 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation        Verify that, when one has an entity on CB1 and on CB2 and an inclusive registration on CB1, one is not able to create that entity on CB2 via CB1

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

Suite Setup         Setup Entity On Remote And Registration
Suite Teardown      Delete Created Entity And Registration


*** Variables ***
${entity_id_prefix}                     urn:ngsi-ld:Vehicle:
${entity_payload_filename}              vehicle-simple-attributes-sample.jsonld
${registration_id_prefix}               urn:ngsi-ld:Registration:
${registration_payload_file_path}       csourceRegistrations/context-source-registration-vehicle-redirection-ops-sample.jsonld

*** Test Cases ***
056_01_03 Create entity already existing both on CB1 and on CB2
    [Tags]    dist-ops    e-create    5_6_1
    [Documentation]    Check that if one requests CB1 to create an entity that matches an inclusive registration and already exists both locally and remotely, this raises an error on CB1 and on CB2
    ${response}=    Create Entity    ${entity_payload_filename}    ${entity_id}
    Check Response Status Code    207    ${response.status_code}
    Check Response Headers Containing URI set to    ${entity_id}    ${response.headers}
    
    ${length}=    Get Length    ${response.json()['notUpdated']}
    Should Be Equal As Integers    ${length}    2
    Should Be Empty    ${response.json()['updated']}

*** Keywords ***
Setup Entity On Remote And Registration
    ${entity_id}=    Generate Random Entity Id    ${entity_id_prefix}
    Set Suite Variable    ${entity_id}
    ${response}=    Create Entity    ${entity_payload_filename}    ${entity_id}
    Check Response Status Code    201    ${response.status_code}
    Check Response Headers Containing URI set to    ${entity_id}    ${response.headers}
    ${response}=    Create Entity On Remote Broker    ${entity_payload_filename}    ${entity_id}
    Check Response Status Code    201    ${response.status_code}
    Check Response Headers Containing URI set to    ${entity_id}    ${response.headers}


    ${registration_id}=    Generate Random Entity Id    ${registration_id_prefix}
    Set Suite Variable    ${registration_id}
    ${registration_payload}=    Create ContextSourceRegistration With Mode   
    ...    ${registration_id}
    ...    ${registration_payload_file_path}
    ...    entity_id=${entity_id}
    ${response1}=    Create Context Source Registration With Return    ${registration_payload}
    Check Response Status Code    201    ${response1.status_code}

Delete Created Entity And Registration
    Delete Context Source Registration    ${registration_id}
    Delete Entity By Id   ${entity_id}
    Delete Entity By Id On Remote Broker    ${entity_id}  
    

    
 No newline at end of file
+60 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation        Verify that, when one has an entity on CB2 and an inclusive registration on CB1, one is not able to create that entity on CB2 via CB1 but one is able to create it on CB1

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

Suite Setup         Setup Entity On Remote And Registration
Suite Teardown      Delete Created Entity And Registration


*** Variables ***
${entity_id_prefix}                     urn:ngsi-ld:Vehicle:
${entity_payload_filename}              vehicle-simple-attributes-sample.jsonld
${registration_id_prefix}               urn:ngsi-ld:Registration:
${registration_payload_file_path}       csourceRegistrations/context-source-registration-vehicle-redirection-ops-sample.jsonld

*** Test Cases ***
056_01_04 Create entity already existing remotely on CB1
    [Tags]    dist-ops    e-create    5_6_1
    [Documentation]    Check that if one requests CB1 to create an entity that matches an inclusive registration and already exists remotely, this raises an error on CB2, but it works just fine on CB1
    ${response}=    Create Entity    ${entity_payload_filename}    ${entity_id}
    Check Response Status Code    207    ${response.status_code}
    Check Response Headers Containing URI set to    ${entity_id}    ${response.headers}
    
    Check JSON Value In Response Body    ['statusCode']    409    ${response.json()['notUpdated'][0]}

    @{entities_id}=    Create List    ${entity_id}
    ${response}=    Query Entities    entity_types=Vehicle    local=true    context=${ngsild_test_suite_context}
    Check Response Body Containing Entities URIS set to    ${entities_id}    ${response.json()}

*** Keywords ***
Setup Entity On Remote And Registration
    ${entity_id}=    Generate Random Entity Id    ${entity_id_prefix}
    Set Suite Variable    ${entity_id}
    ${response}=    Create Entity On Remote Broker    ${entity_payload_filename}    ${entity_id}
    Check Response Status Code    201    ${response.status_code}
    Check Response Headers Containing URI set to    ${entity_id}    ${response.headers}


    ${registration_id}=    Generate Random Entity Id    ${registration_id_prefix}
    Set Suite Variable    ${registration_id}
    ${registration_payload}=    Create ContextSourceRegistration With Mode   
    ...    ${registration_id}
    ...    ${registration_payload_file_path}
    ...    entity_id=${entity_id}
    ${response1}=    Create Context Source Registration With Return    ${registration_payload}
    Check Response Status Code    201    ${response1.status_code}

Delete Created Entity And Registration
    Delete Context Source Registration    ${registration_id}
    Delete Entity By Id   ${entity_id}
    Delete Entity By Id On Remote Broker    ${entity_id}  
    

    
 No newline at end of file
+54 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation        Verify that, when one has an inclusive registration on CB1, one is not able to create entities on CB2 if they are malformed

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

Suite Setup         Setup Entity On Remote And Registration
Suite Teardown      Delete Created Entity And Registration


*** Variables ***
${entity_id_prefix}                     urn:ngsi-ld:Vehicle:
${entity_payload_filename}              vehicle-simple-attributes-sample.jsonld
${registration_id_prefix}               urn:ngsi-ld:Registration:
${registration_payload_file_path}       csourceRegistrations/context-source-registration-vehicle-redirection-ops-sample.jsonld

*** Test Cases ***
056_02_01 Create Enity on Both CBs
    [Tags]    dist-ops    e-create    5_6_1
    [Documentation]    Check that if one requests CB1 to create an entity that matches an inclusive registration but is malformed, this is created neither on CB1 nor on CB2 
    ${response}=    Create Entity    ${entity_payload_filename}    ${entity_id}
    Check Response Status Code    400    ${response.status_code}
    Check Response Headers Containing URI set to    ${entity_id}    ${response.headers}

    ${response}=    Query Entities    entity_types=Vehicle    local=true    context=${ngsild_test_suite_context}
    Check Response Status Code    200    ${response.status_code}
    Should Be Empty    ${response.json()}
    ${response}=    Query Entities On Remote Broker    entity_types=Vehicle
    Check Response Status Code    200    ${response.status_code}
    Should Be Empty    ${response.json()}


*** Keywords ***
Setup Entity On Remote And Registration
    Set Suite Variable    ${entity_id}    InvalidUriExample

    ${registration_id}=    Generate Random Entity Id    ${registration_id_prefix}
    Set Suite Variable    ${registration_id}
    ${registration_payload}=    Create ContextSourceRegistration With Mode   
    ...    ${registration_id}
    ...    ${registration_payload_file_path}
    ${response1}=    Create Context Source Registration With Return    ${registration_payload}
    Check Response Status Code    201    ${response1.status_code}

Delete Created Entity And Registration
    Delete Context Source Registration    ${registration_id}
    

    
 No newline at end of file
Loading