1*** Settings ***
2Documentation    Test bmc web vulnerability.
3
4Resource         ../lib/resource.robot
5Resource         ../lib/bmc_redfish_resource.robot
6Resource         ../lib/openbmc_ffdc.robot
7
8Test Setup       Test Setup Execution
9Test Teardown    FFDC On Test Case Fail
10
11Force Tags       BMCweb_Security
12
13*** Variables ***
14
15${LOOP_COUNT}   4
16
17*** Test Cases ***
18
19Check BMCWeb Service After Attempted GET With Invalid URL
20    [Documentation]  Request BMC GET with invalid URL.
21    [Tags]  Check_BMCWeb_Service_After_Attempted_GET_With_Invalid_URL
22
23    ${invalid_url}=  Set Variable   https://${OPENBMC_HOST}:${HTTPS_PORT}/'redfish\\['
24
25    # Exhaust bmcweb restart policy by crashing 4 times in succession.
26    Repeat Keyword  ${LOOP_COUNT} times  Run  ${curl_tool} -k ${invalid_url}
27
28    # This should fail, if bmcweb is crashed.
29    Redfish.Login
30
31*** Keywords ***
32
33Test Setup Execution
34    [Documentation]  Do test setup execution.
35
36    ${cmd_tool}=  Run  which curl
37    Should Contain  ${cmd_tool}  curl
38    Set Test Variable  ${curl_tool}  ${cmd_tool}
39