Commit 4151b067 authored by lopesg's avatar lopesg
Browse files

added create registration suite

parent 6687f5ef
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that you can create a context source registration with specific ID and expiration date
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource


*** Variable ***
${registration_id_prefix}=  urn:ngsi-ld:Registration:
${registration_payload_file_path}=   csourceRegistrations/registration-with-expiration-sample.jsonld

*** Test Case ***
Create Context Source Registration With Specific Date Expiration Date
    [Documentation]  Check that you can create a context source registration with specific ID and expiration date
    [Tags]  mandatory
    ${registration_id}=     Generate Random Entity Id    ${registration_id_prefix}

    ${payload}=    Load Json From File    ${EXECDIR}/data/${registration_payload_file_path}
    ${updated_payload}=    Update Value To Json    ${payload}     $..id   ${registration_id}
    ${request}    ${response}=    Create Context Source Registration  ${registration_id}    ${updated_payload}
    Check Response Status Code  201    ${response['status']}
    Check Response Headers Containing URI set to    ${request['path']}/    ${registration_id}  ${response}

    [Teardown]  Delete Context Source Registration    ${registration_id}
+24 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that you can create a context source registration that never expires
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource


*** Variable ***
${registration_id_prefix}=  urn:ngsi-ld:Registration:
${registration_payload_file_path}=   csourceRegistrations/registration-sample.jsonld

*** Test Case ***
Create Context Source Registration That Never Expires
    [Documentation]  Check that you can create a context source registration that never expires
    [Tags]  mandatory
    ${registration_id}=     Generate Random Entity Id    ${registration_id_prefix}

    ${payload}=    Load Json From File    ${EXECDIR}/data/${registration_payload_file_path}
    ${updated_payload}=    Update Value To Json    ${payload}     $..id   ${registration_id}
    ${request}    ${response}=    Create Context Source Registration  ${registration_id}    ${updated_payload}
    Check Response Status Code  201    ${response['status']}
    Check Response Headers Containing URI set to    ${request['path']}/    ${registration_id}  ${response}

    [Teardown]  Delete Context Source Registration    ${registration_id}
+22 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that when creating a context source registration without specifying an ID
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource


*** Variable ***
${registration_id_prefix}=  urn:ngsi-ld:Registration:
${registration_payload_file_path}=   csourceRegistrations/registration-no-id-sample.jsonld

*** Test Case ***
Create Context Source Registration Without A Sprecified ID
    [Documentation]  Check that when creating a context source registration without specifying an ID
    [Tags]  mandatory

    ${payload}=    Load Json From File    ${EXECDIR}/data/${registration_payload_file_path}
    ${request}    ${response}=    Create Context Source Registration  ${payload}
    Check Response Status Code  201    ${response['status']}
    ${registration_id}=    Check Response Headers ID Not Empty    ${response}

    [Teardown]  Delete Context Source Registration    ${registration_id}
 No newline at end of file
+30 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that you cannot create a context source with invalid content
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource

Test Template  Create Context Source With Invalid Content


*** Variable ***
${registration_id_prefix}=  urn:ngsi-ld:Registration:

*** Test Cases ***                                                                                                     FILENAME
002_02_Create a context source registration with a different data structure than CsourRegistration data type           csourceRegistrations/registration-invalid-structure-sample.jsonld
002_03_Create a context source registration with a date in the past                                                    csourceRegistrations/registration-past-expiration-sample.jsonld

*** Keywords ***
Create Context Source With Invalid Content
    [Arguments]  ${filename}
    [Documentation]  Check that you cannot create a context source with invalid content
    [Tags]  mandatory
    ${registration_id}=     Generate Random Entity Id    ${registration_id_prefix}

    ${payload}=    Load Json From File    ${EXECDIR}/data/${filename}
    ${updated_payload}=    Update Value To Json    ${payload}     $..id   ${registration_id}
    ${request}    ${response}=    Create Context Source Registration  ${updated_payload}
    Check Response Status Code  400    ${response['status']}
    Check Response Headers Containing URI set to    ${request['path']}/    ${registration_id}  ${response}

    [Teardown]  Delete Context Source Registration    ${registration_id}
+22 −0
Original line number Diff line number Diff line
*** Settings ***
Documentation   Create a context source registration with invalid JSON file
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource

*** Variable ***
${registration_id_prefix}=  urn:ngsi-ld:Registration:
${registration_payload_file_path}=   registration-invalid-sample.jsonld

*** Test Cases ***              
Create a context source registration with invalid JSON file
    [Documentation]  Create a context source registration with invalid JSON file
    [Tags]  mandatory
    ${registration_id}=     Generate Random Entity Id    ${registration_id_prefix}

    ${response}=    Create Context Source Registration Using Session  ${registration_payload_file_path}    ${CONTENT_TYPE_LD_JSON}
    Check Response Status Code  <Response [400]>    ${response}
    Check Response Body Type When Using Session Request      ${response.json()}     ${ERROR_TYPE_BAD_REQUEST_DATA}
    Check Response Body Title When Using Session Request    ${response.json()}

    [Teardown]  Delete Entity by Id Returning Response   ${registration_id}
 No newline at end of file
Loading