Commit c8c17ee9 authored by Andrea Il Grande's avatar Andrea Il Grande
Browse files

Modified distributed operations tests

parent f542dfc9
Loading
Loading
Loading
Loading
+10 −19
Original line number Diff line number Diff line
@@ -9,13 +9,13 @@ Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/JsonUtils.resource
Resource            ${EXECDIR}/resources/MockServerUtils.resource

Test Setup         Setup Entity On Remote And Registration
Test Teardown      Delete Created Entity And Registration
Test Setup         Setup Registration And Start Context Source Mock Server
Test Teardown      Delete Registration And Stop Context Source Mock Server


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

@@ -23,25 +23,18 @@ ${registration_payload_file_path} csourceRegistrations/context-source-regi
D011_01_01_inc Query The Context Broker With Type
    [Documentation]    Check that if one queries the Context Broker for type, entity with matching type on a Context Source gets returned
    [Tags]    since_v1.6.1    dist-ops    4_3_3    cf_06    additive-inclusive    4_3_6_2    5_7_2
    Set Stub Reply    GET   /ngsi-ld/v1/entities?type=Vehicle   200
    ${entity_body}=    Load Entity    ${entity_payload_filename}    ${entity_id}
    Set Stub Reply    GET   /ngsi-ld/v1/entities?type=Vehicle   200    ${entity_body}
    ${response}=    Query Entities    entity_types=Vehicle    context=${ngsild_test_suite_context}
    
    Wait for redirected request
    
    ${received_request}=    Get Request Url
    Log To Console    ${received_request}
    ${stub_count}=    Get Stub Count    GET    /ngsi-ld/v1/entities?type=Vehicle
    Should Be True    ${stub_count} > 0
    Check Response Status Code    200    ${response.status_code}
    # @{entities_id}=    Create List    ${entity_id}
    # Check Response Body Containing Entities URIS set to    ${entities_id}    ${response.json()}
    @{entities_id}=    Create List    ${entity_id}
    Check Response Body Containing Entities URIS set to    ${entities_id}    ${response.json()}

*** Keywords ***
Setup Entity On Remote And Registration
Setup Registration And Start Context Source Mock Server
    ${entity_id}=    Generate Random Entity Id    ${entity_id_prefix}
    Set Suite Variable    ${entity_id}
    # ${response}=    Create Entity    ${entity_payload_filename}    ${entity_id}    base_url=${remote_url}
    # Check Response Status Code    201    ${response.status_code}

    ${registration_id}=    Generate Random Entity Id    ${registration_id_prefix}
    Set Suite Variable    ${registration_id}
@@ -53,8 +46,6 @@ Setup Entity On Remote And Registration
    Start Context Source Mock Server


Delete Created Entity And Registration
Delete Registration And Stop Context Source Mock Server
    Delete Context Source Registration    ${registration_id}
    # Delete Entity By Id    ${entity_id}    base_url=${remote_url}
    Stop Context Source Mock Server
 No newline at end of file
    
 No newline at end of file
+8 −8
Original line number Diff line number Diff line
@@ -9,8 +9,8 @@ Resource ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/JsonUtils.resource
Resource            ${EXECDIR}/resources/MockServerUtils.resource

Test Setup         Setup Entity On Remote And Registration
Test Teardown      Delete Created Entity And Registration
Test Setup         Setup Registration And Start Context Source Mock Server
Test Teardown      Delete Registration And Stop Context Source Mock Server


*** Variables ***
@@ -21,19 +21,20 @@ ${registration_payload_file_path} csourceRegistrations/context-source-regi

*** Test Cases ***
D011_01_02_inc Query The Context Broker With Type And Missing Attribute
    [Tags]    since_v1.6.1    dist-ops    4_3_3    cf_06    additive-inclusive    4_3_6_2    5_7_2
    [Documentation]    Check that if one queries for type and an attribute that is missing, no entity gets returned
    [Tags]    since_v1.6.1    dist-ops    4_3_3    cf_06    additive-inclusive    4_3_6_2    5_7_2
    ${entity_body}=    Load Entity    ${entity_payload_filename}    ${entity_id}
    Set Stub Reply    GET   /ngsi-ld/v1/entities?type=Vehicle   200    ${entity_body}
    ${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
Setup Registration And Start Context Source Mock Server
    ${entity_id}=    Generate Random Entity Id    ${entity_id_prefix}
    Set Suite Variable    ${entity_id}
    # ${response}=    Create Entity    ${entity_payload_filename}    ${entity_id}    base_url=${remote_url}
    # Check Response Status Code    201    ${response.status_code}

    ${registration_id}=    Generate Random Entity Id    ${registration_id_prefix}
    Set Suite Variable    ${registration_id}
@@ -46,7 +47,6 @@ Setup Entity On Remote And Registration



Delete Created Entity And Registration
    # Delete Entity By Id    ${entity_id}     base_url=${remote_url}
Delete Registration And Stop Context Source Mock Server
    Delete Context Source Registration    ${registration_id} 
    Stop Context Source Mock Server
+14 −14
Original line number Diff line number Diff line
@@ -7,29 +7,33 @@ Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.re
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/JsonUtils.resource
Resource            ${EXECDIR}/resources/MockServerUtils.resource

Test Setup         Create Entities With Different Payloads And Registration
Test Teardown      Delete Created Entities And Registration
Test Setup         Create Entity And Registration On The Context Broker And Start Context Source Mock Server
Test Teardown      Delete Created Entity And Registration And Stop Context Source Mock Server

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

*** Test Cases ***
D011_01_03_inc Query The Context Broker With Type and Attribute
    [Tags]    since_v1.6.1    dist-ops    4_3_3    cf_06    additive-inclusive    4_3_6_2    5_7_2
    [Documentation]    Check that if one queries for attribute present in an entity on a Context Source, only that entity gets returned
    @{entities_id}=    Create List    ${second_entity_id}
    [Tags]    since_v1.6.1    dist-ops    4_3_3    cf_06    additive-inclusive    4_3_6_2    5_7_2
    ${entity_body}=    Load Entity    ${entity_payload_filename2}    ${second_entity_id}
    Set Stub Reply    GET   /ngsi-ld/v1/entities?type=Vehicle   200    ${entity_body}

    ${response}=    Query Entities    entity_types=Vehicle    attrs=isParked2    context=${ngsild_test_suite_context}
    Check Response Status Code    200    ${response.status_code}
    @{entities_id}=    Create List    ${second_entity_id}
    Check Response Body Containing Entities URIS set to    ${entities_id}    ${response.json()}
    

*** Keywords ***
Create Entities With Different Payloads And Registration
Create Entity And Registration On The Context Broker And Start Context Source Mock Server
    ${first_entity_id}=    Generate Random Entity Id    ${entity_id_prefix}
    Set Suite Variable    ${first_entity_id}
    ${response}=    Create Entity    ${entity_payload_filename}    ${first_entity_id}
@@ -37,8 +41,6 @@ Create Entities With Different Payloads And Registration

    ${second_entity_id}=    Generate Random Entity Id    ${entity_id_prefix}
    Set Suite Variable    ${second_entity_id}
    ${response1}=    Create Entity    ${entity_payload_filename2}    ${second_entity_id}    base_url=${remote_url}
    Check Response Status Code    201    ${response1.status_code}

    ${registration_id}=    Generate Random Entity Id    ${registration_id_prefix}
    Set Suite Variable    ${registration_id}
@@ -47,12 +49,10 @@ Create Entities With Different Payloads And Registration
    ...    ${registration_payload_file_path}
    ${response2}=    Create Context Source Registration With Return    ${registration_payload}
    Check Response Status Code    201    ${response2.status_code}
    Start Context Source Mock Server



Delete Created Entities And Registration
Delete Created Entity And Registration And Stop Context Source Mock Server
    Delete Context Source Registration    ${registration_id}
    Delete Entity By Id    ${first_entity_id}
    Delete Entity By Id    ${second_entity_id}    base_url=${remote_url}

    
    Stop Context Source Mock Server
+13 −12
Original line number Diff line number Diff line
@@ -7,31 +7,33 @@ Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.re
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/JsonUtils.resource
Resource            ${EXECDIR}/resources/MockServerUtils.resource

Test Setup         Create Entities With Different Payloads And Registration
Test Teardown      Delete Created Entities And Registration
Test Setup         Create Entity And Registration On The Context Broker And Start Context Source Mock Server
Test Teardown      Delete Created Entity And Registration And Stop Context Source Mock Server

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

*** Test Cases ***
D011_01_04_inc Query The Context Broker With Type and Attribute In Neither
    [Tags]    since_v1.6.1    dist-ops    4_3_3    cf_06    additive-inclusive    4_3_6_2    5_7_2
    [Documentation]    Check that if one queries for attribute present in neither of the entities, neither of them gets returned
    [Tags]    since_v1.6.1    dist-ops    4_3_3    cf_06    additive-inclusive    4_3_6_2    5_7_2
    ${entity_body}=    Load Entity    ${entity_payload_filename}    ${first_entity_id}
    Set Stub Reply    GET   /ngsi-ld/v1/entities?type=Vehicle   200    ${entity_body}
    
    ${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 ***
Create Entities With Different Payloads And Registration
Create Entity And Registration On The Context Broker And Start Context Source Mock Server
    ${first_entity_id}=    Generate Random Entity Id    ${entity_id_prefix}
    Set Suite Variable    ${first_entity_id}
    ${response}=    Create Entity    ${entity_payload_filename}    ${first_entity_id}    base_url=${remote_url}
    Check Response Status Code    201    ${response.status_code}

    ${second_entity_id}=    Generate Random Entity Id    ${entity_id_prefix}
    Set Suite Variable    ${second_entity_id}
@@ -45,12 +47,11 @@ Create Entities With Different Payloads And Registration
    ...    ${registration_payload_file_path}
    ${response2}=    Create Context Source Registration With Return    ${registration_payload}
    Check Response Status Code    201    ${response2.status_code}
    Start Context Source Mock Server



Delete Created Entities And Registration
Delete Created Entity And Registration And Stop Context Source Mock Server
    Delete Context Source Registration    ${registration_id} 
    Delete Entity By Id    ${first_entity_id}    base_url=${remote_url}
    Delete Entity By Id    ${second_entity_id} 

    
    Stop Context Source Mock Server
+14 −11
Original line number Diff line number Diff line
@@ -7,21 +7,25 @@ Resource ${EXECDIR}/resources/ApiUtils/ContextInformationProvision.re
Resource            ${EXECDIR}/resources/ApiUtils/ContextInformationConsumption.resource
Resource            ${EXECDIR}/resources/AssertionUtils.resource
Resource            ${EXECDIR}/resources/JsonUtils.resource
Resource            ${EXECDIR}/resources/MockServerUtils.resource

Test Setup         Create Entities With Different Payloads And Registration
Test Teardown      Delete Created Entities And Registration
Test Setup         Create Entity And Registration On The Context Broker And Start Context Source Mock Server
Test Teardown      Delete Created Entity And Registration And Stop Context Source Mock Server

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

*** Test Cases ***
D011_01_05_inc Query The Context Broker With Type
    [Tags]    since_v1.6.1    dist-ops    4_3_3    cf_06    additive-inclusive    4_3_6_2    5_7_2
    [Documentation]    Check that entities on the Context Broker and Context Source with the same id get merged and returned as one entity
    [Tags]    since_v1.6.1    dist-ops    4_3_3    cf_06    additive-auxiliary    4_3_6_2    5_7_2
    ${entity_body}=    Load Entity    ${entity_payload_filename}    ${entity_id}
    Set Stub Reply    GET   /ngsi-ld/v1/entities?type=Vehicle   200    ${entity_body}
    
    @{entities_id}=    Create List    ${entity_id}
    ${expected}=    Load JSON From File    ${EXECDIR}/data/entities/${entity_payload_filename}
    ${expected2}=    Load JSON From File    ${EXECDIR}/data/entities/${entity_payload_filename2}
@@ -36,11 +40,9 @@ D011_01_05_inc Query The Context Broker With Type


*** Keywords ***
Create Entities With Different Payloads And Registration
Create Entity And Registration On The Context Broker And Start Context Source Mock Server
    ${entity_id}=    Generate Random Entity Id    ${entity_id_prefix}
    Set Suite Variable    ${entity_id}
    ${response}=    Create Entity    ${entity_payload_filename}    ${entity_id}    base_url=${remote_url}
    Check Response Status Code    201    ${response.status_code}
    
    ${response}=    Create Entity    ${entity_payload_filename2}    ${entity_id}
    Check Response Status Code    201    ${response.status_code}
@@ -52,11 +54,12 @@ Create Entities With Different Payloads And Registration
    ...    ${registration_payload_file_path}
    ${response1}=    Create Context Source Registration With Return    ${registration_payload}
    Check Response Status Code    201    ${response1.status_code}
    Start Context Source Mock Server



Delete Created Entities And Registration
Delete Created Entity And Registration And Stop Context Source Mock Server
    Delete Context Source Registration    ${registration_id}
    Delete Entity By Id   ${entity_id}    base_url=${remote_url}
    Delete Entity By Id    ${entity_id} 
    Stop Context Source Mock Server
Loading