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

added some tests for dist ops

parent dd0fe554
Loading
Loading
Loading
Loading
+54 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation        Verify that, when one has an inclusive registration on CB1 and an entity only on CB2, if one queries CB1 the query gets forwarded to CB2 correctly

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-complete-sample.jsonld

*** Test Cases ***
055_01_01 Query CB1 With Type
    [Tags]    dist-ops    e-query    5_7_2
    [Documentation]    Check that if one queries CB1 for type, entity with matching type on CB2 gets returned
    @{entities_id}=    Create List    ${entity_id}
    ${response}=    Query Entities    entity_types=Vehicle    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()}


*** 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}
    ${response1}=    Create Context Source Registration With Return    ${registration_payload}
    Check Response Status Code    201    ${response1.status_code}
    


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

    
 No newline at end of file
+52 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation        Verify that, when one has an inclusive registration on CB1 and an entity only on CB2, if one queries CB1 the query gets forwarded to CB2 correctly

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-complete-sample.jsonld

*** Test Cases ***
055_01_02 Query CB1 With Type Locally
    [Tags]    dist-ops    e-query    5_7_2
    [Documentation]    Check that if one queries for type with local flag, no entity gets returned
    ${response}=    Query Entities    entity_types=Vehicle    context=${ngsild_test_suite_context}    local=true
    Check Response Status Code    200    ${response.status_code}
    Should Be Empty    ${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}
    ${response1}=    Create Context Source Registration With Return    ${registration_payload}
    Check Response Status Code    201    ${response1.status_code}
    


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

    
 No newline at end of file
+56 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation        Verify that, when one has an inclusive registration on CB1 and an entity only on CB2, if one queries CB1 the query gets forwarded to CB2 correctly

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-complete-sample.jsonld

*** Test Cases ***
055_01_03 Query CB1 With Type And Attribute
    [Tags]    dist-ops    e-query    5_7_2
    [Documentation]    Check that if one queries for type and attribute, entity gets returned with just that attribute
    @{entities_id}=    Create List    ${entity_id}
    ${expected}=    Load JSON From File    ${EXECDIR}/data/entities/${entity_payload_filename}
    ${response}=    Query Entities    entity_types=Vehicle    attrs=brandName    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()}
    Check JSON Value In Response Body    ['brandName']    ${expected['brandName']}    ${response.json()[0]}
    Check JSON Value Not In Response Body    ['isParked']    ${response.json()[0]}
    
*** 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}
    ${response1}=    Create Context Source Registration With Return    ${registration_payload}
    Check Response Status Code    201    ${response1.status_code}
    


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

    
 No newline at end of file
+53 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation        Verify that, when one has an inclusive registration on CB1 and an entity only on CB2, if one queries CB1 the query gets forwarded to CB2 correctly

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-complete-sample.jsonld

*** Test Cases ***
55_01_04 Query CB1 With Type And Missing Attribute
    [Tags]    dist-ops    e-query    5_7_2
    [Documentation]    Check that if one queries for type and an attribute that is missing, no entity gets returned
    ${response}=    Query Entities    entity_types=Vehicle    attrs=speed    context=${ngsild_test_suite_context}
    Check Response Status Code    200    ${response.status_code}
    Should Be Empty    ${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}
    ${response1}=    Create Context Source Registration With Return    ${registration_payload}
    Check Response Status Code    201    ${response1.status_code}
    


Delete Created Entity And Registration
    Delete Entity By Id On Remote Broker    ${entity_id} 
    Delete Context Source Registration    ${registration_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 inclusive registration on CB1, one entity on CB1 and another on CB2, if one queries CB1 the query gets forwarded to CB2 correctly

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 Entities And Registration
Suite Teardown      Delete Created Entities And Registration

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

*** Test Cases ***
055_02_01 Query CB1 With Type and Attribute In Entity2
    [Tags]    dist-ops    e-query    5_7_2
    [Documentation]    Check that if one queries for attribute present in entity on CB2, only that entity gets returned
    @{entities_id}=    Create List    ${entity_id2}
    ${response}=    Query Entities    entity_types=Vehicle    attrs=isParked2    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()}
    

*** Keywords ***
Setup Entities 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}

    ${entity_id2}=    Generate Random Entity Id    ${entity_id_prefix}
    Set Suite Variable    ${entity_id2}
    ${response}=    Create Entity    ${entity_payload_filename2}    ${entity_id2}
    Check Response Status Code    201    ${response.status_code}
    Check Response Headers Containing URI set to    ${entity_id2}    ${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}
    ${response1}=    Create Context Source Registration With Return    ${registration_payload}
    Check Response Status Code    201    ${response1.status_code}
    


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

    
Loading