GenericKeywords.robot 1.95 KB
Newer Older
1
2
*** Settings ***
Library    JSONSchemaLibrary    schemas/
3
Library    BuiltIn
4
Library    OperatingSystem
5
6
7

*** Variables ***
${response}
8
9


10
*** Keywords ***
11
12
13
14
15
16
17
Check HTTP Response Status Code Is
    [Arguments]    ${expected_status}
    ${status}=    Convert To Integer    ${expected_status}
    Should Be Equal    ${response['status']}    ${status}
    Log    Status code validated

Check HTTP Response Body Json Schema Is
18
    [Tags]    INCLUDE_UNDEFINED_SCHEMAS
19
20
21
22
23
24
25
26
    [Arguments]    ${input}
    Should Contain    ${response['headers']['Content-Type']}    application/json
    ${schema} =    Catenate    SEPARATOR=    ${input}    .schema.json
    Validate Json    ${schema}    ${response['body']}
    Log    Json Schema Validation OK

Should Be Present In Json List
    [Arguments]     ${expr}   ${json_field}   ${json_value}
Yann Garcia's avatar
Yann Garcia committed
27
    Log    Check if ${json_field} is present in ${expr} with the value ${jsonvalue}
28
29
30
31
    :FOR  ${item}  IN  @{expr}
    \  Exit For Loop If    "${item['${json_field}']}" == "${json_value}"
    Log    Item found ${item}
    [return]    ${item}
32

Yann Garcia's avatar
Yann Garcia committed
33
Check Result Contains
34
    [Arguments]    ${source}    ${parameter}    ${value}
Yann Garcia's avatar
Yann Garcia committed
35
    Should Be Present In Json List    ${source}    ${parameter}    ${value}
36
37
38
39
40
41

Check ProblemDetails
    [Arguments]    ${expected_status}
    ${status}=    Convert To Integer    ${expected_status}
    Should Be Equal    ${response['body']['problemDetails']['status']}    ${status}
    Log    ProblemDetails Status code validated
Elian Kraja's avatar
Elian Kraja committed
42
43
44
45
46
47
48
49
    
Check HTTP Response Header Contains
    [Arguments]    ${HEADER_TOCHECK}
    Should Contain     ${response['headers']}    ${HEADER_TOCHECK}
    Log    Header is present

Check HTTP Response Body is Empty
    Should Be Empty    ${response['body']}   
50
51
52
53
54
55
    Log    Body is empty
    
Check HTTP Response Contain Header with value
    [Arguments]    ${HEADER_TOCHECK}    ${VALUE}
    Check HTTP Response Header Contains    ${HEADER_TOCHECK}
    Should Be Equal As Strings    ${value}    ${response['headers']['Content-Type']}    
56
57