*** Settings ***
Resource          ${CURDIR}/common.resource
Library           OperatingSystem
Library           Process
Suite Setup       Setup Test Environment

*** Variables ***
${SRC_DIR}        ${CURDIR}/..

*** Test Cases ***
Verify Provider Detection With Mock
    [Documentation]    When mock_providers is enabled the container returns a mock provider
    ${result}=    Run Process    ${PYTHON}    robot/helper_provider_detection.py    mock-detection
    ...    cwd=${SRC_DIR}
    ...    env:CLEVERAGENTS_MOCK_PROVIDERS=true
    ...    env:CLEVERAGENTS_TESTING_USE_MOCK_AI=
    Log Process Failure    ${result}
    Should Be Equal As Integers    ${result.rc}    0
    Should Contain    ${result.stdout}    mock-provider-ok

Verify Provider Detection Without Config Fails
    [Documentation]    With no API keys and mock_providers off validate_provider_availability raises
    ${result}=    Run Process    ${PYTHON}    robot/helper_provider_detection.py    no-config-fail
    ...    cwd=${SRC_DIR}
    ...    env:CLEVERAGENTS_MOCK_PROVIDERS=
    ...    env:OPENAI_API_KEY=
    ...    env:ANTHROPIC_API_KEY=
    ...    env:GOOGLE_API_KEY=
    ...    env:CLEVERAGENTS_TESTING_USE_MOCK_AI=
    Log Process Failure    ${result}
    Should Be Equal As Integers    ${result.rc}    0
    Should Contain    ${result.stdout}    no-config-error-ok

*** Keywords ***
Log Process Failure
    [Arguments]    ${result}
    Run Keyword If    ${result.rc} == 0    Return From Keyword
    Log To Console    Process failed with rc=${result.rc}
    Log To Console    STDOUT:${\n}${result.stdout}
    Log To Console    STDERR:${\n}${result.stderr}
