blob: b31c3840a40bbbf2a271d9b84fb488bb90f7accb [file] [log] [blame]
*** Settings ***
Documentation This testsuite is for testing the functions of Heartbeat,
... Identify and Power LED's
Resource ../lib/rest_client.robot
Resource ../lib/resource.txt
Resource ../lib/openbmc_ffdc.robot
Test Teardown FFDC On Test Case Fail
*** Variables ***
${MIN_TOGGLE_VALUE} 0
${SAMPLING_FREQUENCY} 6
${LED_CONTROL} ${CONTROL_URI}led/
*** Test Cases ***
Validate Heartbeat LEDs Test Cases
[Documentation] If heartbeat LED exist then execute the test set.
[Tags] Validate_Heartbeat_LEDs_Test_Cases
${resp}= OpenBMC Get Request ${LED_CONTROL}heartbeat
Run keyword If ${resp.status_code} == ${HTTP_OK} Execute Heartbeat LEDs Test Cases
Validate Identify LEDs Test Cases
[Documentation] If identify LED exist then execute the test set.
[Tags] Validate_Identify_LEDs_Test_Cases
${resp}= OpenBMC Get Request ${LED_CONTROL}identify
Run keyword If ${resp.status_code} == ${HTTP_OK} Execute Identify LEDs Test Cases
Validate Beep LEDs Test Cases
[Documentation] If beep LED exist then execute the test set.
[Tags] Validate_Beep_LEDs_Test_Cases
${resp}= OpenBMC Get Request ${LED_CONTROL}beep
Run keyword If ${resp.status_code} == ${HTTP_OK} Execute Beep LEDs Test Cases
*** Keywords ***
Execute Heartbeat LEDs Test Cases
[Documentation] Executing ON/OFF/Fast/Slow Heartbeat LED test cases.
Turn ON the Heartbeat LED
Turn OFF the Heartbeat LED
Blink Fast the Heartbeat LED
Blink Slow the Heartbeat LED
Execute Identify LEDs Test Cases
[Documentation] Executing ON/OFF/Fast/Slow Identify LED test cases.
Turn ON the Identify LED
Turn OFF the Identify LED
Blink Fast the Identify LED
Blink Slow the Identify LED
Execute Beep LEDs Test Cases
[Documentation] Executing ON/OFF/Fast/Slow Beep LED test cases.
Turn ON the Beep LED
Turn OFF the Beep LED
Blink Fast the Beep LED
Blink Slow the Beep LED
Turn ON the Heartbeat LED
[Documentation] This testcase is to test the setOn functionality of the
... Heartbeat LED. The LED state is read again to check if
... the LED is in ON state.
Set On heartbeat
${ledstate}= Get LED State heartbeat
should be equal as strings ${ledstate} On
Turn OFF the Heartbeat LED
[Documentation] This testcase is to test the setOff functionality of the
... Heartbeat LED. The LED state is read again to check if
... the LED is in OFF state.
Set Off heartbeat
${ledstate}= Get LED State heartbeat
should be equal as strings ${ledstate} Off
Blink Fast the Heartbeat LED
[Documentation] This testcase is to test the setBlinkFast functionality of the
... Heartbeat LED. The LED state is sampled to figure out
... whether the LED is blinking. There is no distinguishing
... between whether the LED is blinking fast or slow for
... this testcase to pass.
${OFF_VALUE}= Set Variable ${0}
${ON_VALUE}= Set Variable ${0}
Set Blink Fast heartbeat
: FOR ${INDEX} IN RANGE 1 ${SAMPLING_FREQUENCY}
\ ${ledstate}= Get LED State heartbeat
\ ${ON_VALUE}= Set Variable If '${ledstate}'=='On' ${ON_VALUE + 1} ${ON_VALUE}
\ ${OFF_VALUE}= Set Variable If '${ledstate}'=='Off' ${OFF_VALUE + 1} ${OFF_VALUE}
should be true ${ON_VALUE} > ${MIN_TOGGLE_VALUE} and ${OFF_VALUE} > ${MIN_TOGGLE_VALUE}
Blink Slow the Heartbeat LED
[Documentation] This testcase is to test the setBlinkSlow functionality of the
... Heartbeat LED. The LED state is sampled to figure out
... whether the LED is blinking. There is no distinguishing
... between whether the LED is blinking fast or slow for
... this testcase to pass.
${OFF_VALUE}= Set Variable ${0}
${ON_VALUE}= Set Variable ${0}
Set Blink Slow heartbeat
: FOR ${INDEX} IN RANGE 1 ${SAMPLING_FREQUENCY}
\ ${ledstate}= Get LED State heartbeat
\ ${ON_VALUE}= Set Variable If '${ledstate}'=='On' ${ON_VALUE + 1} ${ON_VALUE}
\ ${OFF_VALUE}= Set Variable If '${ledstate}'=='Off' ${OFF_VALUE + 1} ${OFF_VALUE}
should be true ${ON_VALUE} > ${MIN_TOGGLE_VALUE} and ${OFF_VALUE} > ${MIN_TOGGLE_VALUE}
Turn ON the Identify LED
[Documentation] This testcase is to test the setOn functionality of the
... Identify LED. The LED state is read again to check if
... the LED is in ON state.
Set On identify
${ledstate}= Get LED State identify
should be equal as strings ${ledstate} On
Turn OFF the Identify LED
[Documentation] This testcase is to test the setOff functionality of the
... Identify LED. The LED state is read again to check if
... the LED is in OFF state.
Set Off identify
${ledstate}= Get LED State identify
should be equal as strings ${ledstate} Off
Blink Fast the Identify LED
[Documentation] This testcase is to test the setBlinkFast functionality of the
... Identify LED. The LED state is sampled to figure out
... whether the LED is blinking. There is no distinguishing
... between whether the LED is blinking fast or slow for
... this testcase to pass.
${OFF_VALUE}= Set Variable ${0}
${ON_VALUE}= Set Variable ${0}
Set Blink Fast identify
: FOR ${INDEX} IN RANGE 1 ${SAMPLING_FREQUENCY}
\ ${ledstate}= Get LED State identify
\ ${ON_VALUE}= Set Variable If '${ledstate}'=='On' ${ON_VALUE + 1} ${ON_VALUE}
\ ${OFF_VALUE}= Set Variable If '${ledstate}'=='Off' ${OFF_VALUE + 1} ${OFF_VALUE}
should be true ${ON_VALUE} > ${MIN_TOGGLE_VALUE} and ${OFF_VALUE} > ${MIN_TOGGLE_VALUE}
Blink Slow the Identify LED
[Documentation] This testcase is to test the setBlinkSlow functionality of the
... Identify LED. The LED state is sampled to figure out
... whether the LED is blinking. There is no distinguishing
... between whether the LED is blinking fast or slow for
... this testcase to pass.
${OFF_VALUE}= Set Variable ${0}
${ON_VALUE}= Set Variable ${0}
Set Blink Slow identify
: FOR ${INDEX} IN RANGE 1 ${SAMPLING_FREQUENCY}
\ ${ledstate}= Get LED State identify
\ ${ON_VALUE}= Set Variable If '${ledstate}'=='On' ${ON_VALUE + 1} ${ON_VALUE}
\ ${OFF_VALUE}= Set Variable If '${ledstate}'=='Off' ${OFF_VALUE + 1} ${OFF_VALUE}
should be true ${ON_VALUE} > ${MIN_TOGGLE_VALUE} and ${OFF_VALUE} > ${MIN_TOGGLE_VALUE}
Turn ON the Beep LED
[Documentation] This testcase is to test the setOn functionality of the
... Beep LED. The LED state is read again to check if
... the LED is in ON state.
Set On beep
${ledstate}= Get LED State beep
should be equal as strings ${ledstate} On
Turn OFF the Beep LED
[Documentation] This testcase is to test the setOff functionality of the
... Beep LED. The LED state is read again to check if
... the LED is in OFF state.
Set Off beep
${ledstate}= Get LED State beep
should be equal as strings ${ledstate} Off
Blink Fast the Beep LED
[Documentation] This testcase is to test the setBlinkFast functionality of the
... Beep LED. The LED state is sampled to figure out
... whether the LED is blinking. There is no distinguishing
... between whether the LED is blinking fast or slow for
... this testcase to pass.
${OFF_VALUE}= Set Variable ${0}
${ON_VALUE}= Set Variable ${0}
${data}= create dictionary data=@{EMPTY}
Set Blink Fast beep
: FOR ${INDEX} IN RANGE 1 ${SAMPLING_FREQUENCY}
\ ${ledstate}= Get LED State beep
\ ${ON_VALUE}= Set Variable If '${ledstate}'=='On' ${ON_VALUE + 1} ${ON_VALUE}
\ ${OFF_VALUE}= Set Variable If '${ledstate}'=='Off' ${OFF_VALUE + 1} ${OFF_VALUE}
should be true ${ON_VALUE} > ${MIN_TOGGLE_VALUE} and ${OFF_VALUE} > ${MIN_TOGGLE_VALUE}
Blink Slow the Beep LED
[Documentation] This testcase is to test the setBlinkSlow functionality of the
... Beep LED. The LED state is sampled to figure out
... whether the LED is blinking. There is no distinguishing
... between whether the LED is blinking fast or slow for
... this testcase to pass.
${OFF_VALUE}= Set Variable ${0}
${ON_VALUE}= Set Variable ${0}
Set Blink Slow beep
: FOR ${INDEX} IN RANGE 1 ${SAMPLING_FREQUENCY}
\ ${ledstate}= Get LED State beep
\ ${ON_VALUE}= Set Variable If '${ledstate}'=='On' ${ON_VALUE + 1} ${ON_VALUE}
\ ${OFF_VALUE}= Set Variable If '${ledstate}'=='Off' ${OFF_VALUE + 1} ${OFF_VALUE}
should be true ${ON_VALUE} > ${MIN_TOGGLE_VALUE} and ${OFF_VALUE} > ${MIN_TOGGLE_VALUE}
Get LED State
[Arguments] ${args}
${data}= create dictionary data=@{EMPTY}
${resp}= OpenBMC Post Request ${LED_CONTROL}${args}/action/GetLedState data=${data}
should be equal as strings ${resp.status_code} ${HTTP_OK}
${json}= to json ${resp.content}
[Return] ${json['data'][1]}
Set On
[Arguments] ${args}
${data}= create dictionary data=@{EMPTY}
${resp}= OpenBMC Post Request ${LED_CONTROL}${args}/action/setOn data=${data}
should be equal as strings ${resp.status_code} ${HTTP_OK}
${json}= to json ${resp.content}
should be equal as integers ${json['data']} 0
Set Off
[Arguments] ${args}
${data}= create dictionary data=@{EMPTY}
${resp}= OpenBMC Post Request ${LED_CONTROL}${args}/action/setOff data=${data}
should be equal as strings ${resp.status_code} ${HTTP_OK}
${json}= to json ${resp.content}
should be equal as integers ${json['data']} 0
Set Blink Fast
[Arguments] ${args}
${data}= create dictionary data=@{EMPTY}
${resp}= OpenBMC Post Request ${LED_CONTROL}${args}/action/setBlinkFast data=${data}
should be equal as strings ${resp.status_code} ${HTTP_OK}
${json}= to json ${resp.content}
should be equal as integers ${json['data']} 0
Set Blink Slow
[Arguments] ${args}
${data}= create dictionary data=@{EMPTY}
${resp}= OpenBMC Post Request ${LED_CONTROL}${args}/action/setBlinkSlow data=${data}
should be equal as strings ${resp.status_code} ${HTTP_OK}
${json}= to json ${resp.content}
should be equal as integers ${json['data']} 0