blob: 33dd53c7cee1f674da74eb5754737aeabe6d0457 [file] [log] [blame]
*** Settings ***
Documentation Test the functions of system LEDs.
Resource ../lib/rest_client.robot
Resource ../lib/state_manager.robot
Resource ../lib/resource.txt
Resource ../lib/openbmc_ffdc.robot
Test Teardown FFDC On Test Case Fail
Force Tags System_LED
*** Variables ***
*** Test Cases ***
Test Heartbeat LED And Verify Via REST
[Documentation] Turn On Off heartbeat LED and verify via REST.
#LED Name LED State
heartbeat On
heartbeat Off
[Tags] Test_Heartbeat_LED_And_Verify_Via_REST
[Template] Set System LED State
Test Beep LED And Verify Via REST
[Documentation] Turn On Off beep LED and verify via REST.
#LED Name LED State
beep On
beep Off
[Tags] Test_Beep_LED_And_Verify_Via_REST
[Template] Set System LED State
Test Identify LED And Verify Via REST
[Documentation] Turn On Off identify LED and verify via REST.
#LED Name LED State
identify On
identify Off
[Tags] Test_Identify_LED_And_Verify_Via_REST
[Template] Set System LED State
Test Power LED And Verify Via REST
[Documentation] Turn On/Off power LED and verify via REST.
# LED Name LED State
power On
power Off
[Tags] Test_Power_LED_And_Verify_Via_REST
[Template] Set System LED State
Test Fault LED And Verify Via REST
[Documentation] Turn On/Off fault LED and verify via REST.
# LED Name LED State
fault On
fault Off
[Tags] Test_Fault_LED_And_Verify_Via_REST
[Template] Set System LED State
*** Keywords ***
Get System LED State
[Documentation] Returns the state of given system LED.
[Arguments] ${led_name}
# Description of arguments:
# led_name System LED name (e.g. heartbeat, identify, beep).
${state}= Read Attribute ${LED_PHYSICAL_URI}${led_name} State
[Return] ${state.rsplit('.', 1)[1]}
Set System LED State
[Documentation] Set given system LED via REST.
[Arguments] ${led_name} ${led_state}
# Description of arguments:
# led_name System LED name (e.g. heartbeat, identify, beep).
# led_state LED state to be set (e.g. On, Off).
${args}= Create Dictionary data=xyz.openbmc_project.Led.Physical.Action.${led_state}
Write Attribute ${LED_PHYSICAL_URI}${led_name} State data=${args}
Verify LED State ${led_name} ${led_state}
Verify LED State
[Documentation] Checks if LED is in given state.
[Arguments] ${led_name} ${led_state}
# Description of arguments:
# led_name System LED name (e.g. heartbeat, identify, beep).
# led_state LED state to be verified (e.g. On, Off).
${state}= Get System LED State ${led_name}
Should Be Equal ${state} ${led_state}