blob: 4c6707587659a44c8b3b9512dc6558865234972a [file] [log] [blame]
*** Settings ***
Documentation Get the system power supply voltage readings.
Resource ../../lib/bmc_redfish_resource.robot
Resource ../../lib/bmc_redfish_utils.robot
Resource ../../lib/openbmc_ffdc.robot
Library ../../lib/gen_robot_valid.py
Suite Setup Suite Setup Execution
Suite Teardown Suite Teardown Execution
Test Setup Printn
Test Teardown Test Teardown Execution
*** Test Cases ***
Verify Power Supplies Input Watts
[Documentation] Verify there are no invalid power supply input watt records.
[Tags] Verify_Power_Supplies_Input_Watts
[Template] Verify Watts Record
# record_type redfish_uri reading_type
PowerSupplies ${REDFISH_CHASSIS_POWER_URI} PowerInputWatts
Verify Power Supplies Input Output Voltages
[Documentation] Verify there are no invalid power supply voltage records.
[Tags] Verify_Power_Supplies_Input_Output_Voltages
[Template] Verify Voltage Records
# record_type redfish_uri reading_type
Voltages ${REDFISH_CHASSIS_POWER_URI} ReadingVolts
Verify Power Supplies Efficiency Percentage
[Documentation] Verify the efficiency percentage is set to correct value.
[Tags] Verify_Power_Supplies_Efficiency_Percentage
# Example output:
# records:
# [0]:
# [@odata.id]: /redfish/v1/Chassis/chassis/Power#/PowerSupplies/0
# [EfficiencyPercent]: 90
# [IndicatorLED]: Off
# [Manufacturer]:
# [MemberId]: powersupply0
# [Model]: 2B1D
# [Name]: powersupply0
# [PartNumber]: 01KL779
# [PowerInputWatts]: 106.0
# [SerialNumber]: 75B1C2
# [Status]:
# [Health]: OK
# [State]: Enabled
${records}= Verify Valid Records PowerSupplies ${REDFISH_CHASSIS_POWER_URI} EfficiencyPercent
${efficiency_percentages}= Nested Get EfficiencyPercent ${records}
Valid List efficiency_percentages [90]
*** Keywords ***
Verify Watts Record
[Documentation] Verify the power watt records.
[Arguments] ${record_type} ${redfish_uri} ${reading_type}
# Description of Arguments(s):
# record_type The sensor record type (e.g. "PowerSupplies")
# redfish_uri The power supply URI (e.g. /redfish/v1/Chassis/chassis/Power)
# reading_type The power watt readings (e.g. "PowerInputWatts")
Verify Valid Records ${record_type} ${redfish_uri} ${reading_type}
Verify Voltage Records
[Documentation] Verify the power voltage records.
[Arguments] ${record_type} ${redfish_uri} ${reading_type}
# Description of Arguments(s):
# record_type The sensor record type (e.g. "Voltages")
# redfish_uri The power supply URI (e.g. /redfish/v1/Chassis/chassis/Power)
# reading_type The power voltage readings (e.g. "ReadingVolts")
Verify Valid Records ${record_type} ${redfish_uri} ${reading_type}
${records}= Redfish.Get Attribute ${redfish_uri} ${record_type}
${cmd} Catenate [x for x in ${records}
... if not x['LowerThresholdNonCritical'] <= x['${reading_type}'] <= x['UpperThresholdNonCritical']]
${invalid_records}= Evaluate ${cmd}
Valid Length invalid_records max_length=0
Suite Teardown Execution
[Documentation] Do the post suite teardown.
Redfish.Logout
Suite Setup Execution
[Documentation] Do test case setup tasks.
Printn
Redfish Power On stack_mode=skip
Redfish.Login
Test Teardown Execution
[Documentation] Do the post test teardown.
FFDC On Test Case Fail