*** Settings ***
Library     inspector.Inspector
Library     OperatingSystem
Library     HttpLibrary.HTTP
Variables   inspector.py



*** Variables ***
${lauren_ipsum} =       http://www.laurenipsum.org/mostly-lost



*** Keywords ***
Stáhni soubor
    [Documentation]     Stáhni soubor, vrať jeho obsah.
    [Arguments]         ${url}
    GET                 ${url}
    ${body} =           Get response body
    # Show Response Body In Browser
    [Return]            ${body}

Do BASE64
    [Documentation]     Zkonvertuj text na base64
    [Arguments]         ${text}
    ${b64} =            Call     ${b64encode}   ${text}
    [Return]            ${b64}


Vytvoř request
    [Documentation]     Vytvoř ConversionRequest objekt
    [Arguments]         ${output_type}   ${b64}
    ${request} =        Call     ${calibre.ConversionRequest}   html  ${output_type}  ${b64}
    [Return]            ${request}


Otestuj konverzi
    [Documentation]     Proveď konverzi pomocí reactToAMQPMessage()
    [Arguments]         ${request}
    ${response} =       Call     ${calibre.reactToAMQPMessage}  ${request}  xexexe
    [Return]            ${response}


Ulož odpověď
    [Documentation]     Ulož zkonvertovaný dokument na disk, vrať cestu k dokumentu.
    [Arguments]         ${response}
    ${path} =           Save response  ${response}
    [Return]            ${path}



*** Test Cases ***
Otestuj přítomnost calibre
    Check ebook convert presence


Otestuj HTML vstup
    ${text} =           Stáhni soubor     ${lauren_ipsum}
    ${text} =           To UTF8           ${text}
    Should contain      ${text}           And so did Laurie.


Otestuj konvertor
    ${text} =           Stáhni soubor     ${lauren_ipsum}
    ${b64} =            Do BASE64         ${text}

    ${request} =        Vytvoř request    pdf              ${b64}
    Log                 ${request}

    ${response} =       Otestuj konverzi  ${request}
    Log                 ${response}

    ${path} =           Ulož odpověď      ${response}
    Log                 ${path}

    Start process       xdg-open ${path}
