Commit 5668eaa8 authored by Benoit Orihuela's avatar Benoit Orihuela
Browse files

feat: better use of global variables & fixes for RequestLibrary uses

parent 4bbbd9d2
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that you cannot create a batch of entities with an invalid request
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources//AssertionUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Library     RequestsLibrary
Library     JSONLibrary
Library     OperatingSystem


*** Variable ***
${batch_endpoint}=    entityOperations/create
${endpoint}=    entities

*** Test Case ***
With invalid json document
    [Documentation]  Check that you cannot create a batch of entities with an invalid json document
@@ -18,8 +13,8 @@ With invalid json document

    Batch Request Entities From File   batch/invalid-json-sample.jsonld

    Check Response Status Code Set To  400
    Check Response Body Containing Problem Details Element Containing Detail Element    ${response}
    Check RL Response Status Code Set To  400
    Check RL Response Body Containing Problem Details Element Containing Detail Element    ${response}

With empty json document
    [Documentation]  Check that you cannot create a batch of entities with an empty json document
@@ -27,5 +22,5 @@ With empty json document

    Batch Request Entities From File   batch/empty-sample.jsonld

    Check Response Status Code Set To  400
    Check Response Body Containing Problem Details Element Containing Detail Element    ${response}
    Check RL Response Status Code Set To  400
    Check RL Response Body Containing Problem Details Element Containing Detail Element    ${response}
+0 −5
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that you can create a batch of entities
Variables   ${EXECDIR}/resources/variables.py
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource
Library     REST    ${url}
Library     JSONLibrary
Library     String
Library     Collections

*** Variable ***
${batch_endpoint}=    entityOperations/create
${batch_delete_endpoint}=    entityOperations/delete
${endpoint}=    entities
${building_id_prefix}=  urn:ngsi-ld:Building:

*** Test Case ***
+0 −5
Original line number Diff line number Diff line
*** Settings ***
Documentation   Check that you can create a batch of entities where some will succeed and others will fail
Variables   ${EXECDIR}/resources/variables.py
Resource    ${EXECDIR}/resources/ApiUtils.resource
Resource    ${EXECDIR}/resources/AssertionUtils.resource
Resource    ${EXECDIR}/resources/JsonUtils.resource
Library     REST    ${url}
Library     JSONLibrary
Library     String
Library     Collections
@@ -12,9 +10,6 @@ Library Collections
Suite Setup      Setup Initial Entities

*** Variable ***
${batch_endpoint}=    entityOperations/create
${batch_delete_endpoint}=    entityOperations/delete
${endpoint}=    entities
${building_id_prefix}=  urn:ngsi-ld:Building:

*** Test Case ***
+10 −6
Original line number Diff line number Diff line
@@ -2,8 +2,12 @@
Variables    ./variables.py

Library    REST    ${url}
Library    RequestsLibrary

*** Variables ***
${BATCH_CREATE_ENDPOINT_PATH}   entityOperations/create
${BATCH_DELETE_ENDPOINT_PATH}   entityOperations/delete
${ENTITIES_ENDPOINT_PATH}       entities
${response}

*** Keywords ***
@@ -33,7 +37,7 @@ Api DEL request

Delete Entity by Id
    [Arguments]  ${id}
    ${response}=  DELETE  ${endpoint}/${id}
    ${response}=  DELETE  ${ENTITIES_ENDPOINT_PATH}/${id}
    Output  request
    Output  response

@@ -43,14 +47,14 @@ Create Entity
    ${entity}=    Update Value To Json    ${entity_payload}     $..id   ${entity_id}

    &{headers}=  Create Dictionary  Content-Type=application/ld+json
    ${response}=  POST  ${endpoint}  body=${entity}  headers=${headers}
    ${response}=  POST  ${ENTITIES_ENDPOINT_PATH}  body=${entity}  headers=${headers}
    Output  request
    Output  response

Batch Create Entities
    [Arguments]  @{entities_to_be_created}
    &{headers}=  Create Dictionary  Content-Type=application/ld+json
    ${response}=  POST  ${batch_endpoint}  body=@{entities_to_be_created}  headers=${headers}
    ${response}=  POST  ${BATCH_CREATE_ENDPOINT_PATH}  body=@{entities_to_be_created}  headers=${headers}
    Output  request
    Output  response
    Set Test Variable  ${response}
@@ -74,7 +78,7 @@ Batch Update Entities
Batch Delete Entities
    [Arguments]  @{entities_ids_to_be_deleted}
    &{headers}=  Create Dictionary  Content-Type=application/ld+json
    ${response}=  POST  ${batch_delete_endpoint}  body=@{entities_ids_to_be_deleted}  headers=${headers}
    ${response}=  POST  ${BATCH_DELETE_ENDPOINT_PATH}  body=@{entities_ids_to_be_deleted}  headers=${headers}
    Output  request
    Output  response
    Set Test Variable  ${response}
@@ -84,5 +88,5 @@ Batch Request Entities From File
    ${file_content}=    Get File    ${EXECDIR}/data/entities/${filename}
    Create Session    BatchRequest      ${url}
    &{headers}=  Create Dictionary  Content-Type=application/ld+json
    ${response}=  POST Request      BatchRequest   ${batch_endpoint}  data=${file_content}    headers=${headers}
    Set Test Variable  ${response}      ${response.json()}
    ${response}=  POST Request      BatchRequest   ${BATCH_CREATE_ENDPOINT_PATH}  data=${file_content}    headers=${headers}
    Set Test Variable  ${response}
+9 −0
Original line number Diff line number Diff line
@@ -4,6 +4,10 @@ Check Response Status Code Set To
    ${response_status}=  convert to string  ${response['status']}
    Should Be Equal  ${response_status}  ${expected_status}

Check RL Response Status Code Set To
    [Arguments]  ${expected_status}
    Status Should Be    ${expected_status}     ${response}

Check Response Body Containing Array Of URIs set to
    [Arguments]  @{expected_entities_ids}
    Lists Should Be Equal  ${expected_entities_ids}        ${response['body']}     ignore_order=True
@@ -28,6 +32,11 @@ Check Response Body Containing Problem Details Element Containing Detail Element
    [Arguments]     ${response_body}
    Should Not Be Empty     ${response_body['detail']}

Check RL Response Body Containing Problem Details Element Containing Detail Element
    [Arguments]     ${response_body}
    ${json_response_body}=    To Json     ${response_body.content}
    Should Not Be Empty     ${json_response_body['detail']}

Assert response status code
    [Arguments]     ${code}
    Should Be Equal     ${response}[status]  ${code}