blob: e9c9fbadb89963c049a432a125caac97731df7ca [file] [log] [blame]
Marissa Garza6e3f9ec2019-07-24 15:31:26 -05001*** Settings ***
2Documentation Get the systems' power supply voltage readings.
3
4Resource ../../lib/bmc_redfish_resource.robot
5Resource ../../lib/bmc_redfish_utils.robot
6Resource ../../lib/openbmc_ffdc.robot
7Library ../../lib/gen_robot_valid.py
8
9Suite Setup Suite Setup Execution
10Suite Teardown Suite Teardown Execution
11Test Setup Printn
12Test Teardown Test Teardown Execution
13
14
15*** Test Cases ***
16
17Verify Power Supplies Input Watts
18 [Documentation] Verify there are no invalid power supply input watt records.
19 [Tags] Verify_Power_Supplies_Input_Watts
20 [Template] Verify Watts Record
21
22 # record_type redfish_uri reading_type
Marissa Garza6f7958a2019-08-13 14:58:05 -050023 PowerSupplies ${REDFISH_CHASSIS_POWER_URI} PowerInputWatts
Marissa Garza6e3f9ec2019-07-24 15:31:26 -050024
25
26Verify Power Supplies Input Output Voltages
27 [Documentation] Verify there are no invalid power supply voltage records.
28 [Tags] Verify_Power_Supplies_Input_Output_Voltages
29 [Template] Verify Voltage Records
30
31 # record_type redfish_uri reading_type
Marissa Garza6f7958a2019-08-13 14:58:05 -050032 Voltages ${REDFISH_CHASSIS_POWER_URI} ReadingVolts
Marissa Garza6e3f9ec2019-07-24 15:31:26 -050033
34
35*** Keywords ***
36
37Verify Watts Record
38 [Documentation] Verify the power watt records.
39 [Arguments] ${record_type} ${redfish_uri} ${reading_type}
40
41 # Description of Arguments(s):
42 # record_type The sensor record type (e.g. "PowerSupplies")
Marissa Garza6f7958a2019-08-13 14:58:05 -050043 # redfish_uri The power supply URI (e.g. /redfish/v1/Chassis/chassis/Power)
Marissa Garza6e3f9ec2019-07-24 15:31:26 -050044 # reading_type The power watt readings (e.g. "PowerInputWatts")
45
46 Verify Valid Records ${record_type} ${redfish_uri} ${reading_type}
47
48
49Verify Voltage Records
50 [Documentation] Verify the power voltage records.
51 [Arguments] ${record_type} ${redfish_uri} ${reading_type}
52
53 # Description of Arguments(s):
54 # record_type The sensor record type (e.g. "Voltages")
Marissa Garza6f7958a2019-08-13 14:58:05 -050055 # redfish_uri The power supply URI (e.g. /redfish/v1/Chassis/chassis/Power)
Marissa Garza6e3f9ec2019-07-24 15:31:26 -050056 # reading_type The power voltage readings (e.g. "ReadingVolts")
57
58 Verify Valid Records ${record_type} ${redfish_uri} ${reading_type}
59
60 ${records}= Redfish.Get Attribute
61 ... ${redfish_uri} ${record_type}
62
63 ${invalid_records}= Evaluate
64 ... [x for x in ${records} if not x['LowerThresholdNonCritical'] <= x['${reading_type}'] <= x['UpperThresholdNonCritical']]
65
66 ${num_invalid_records}= Get Length ${invalid_records}
67 Run Keyword If ${num_invalid_records} > ${0}
68 ... Rprint Vars num_invalid_records invalid_records
69 Rvalid Value num_invalid_records valid_values=[0]
70
71
72Verify Valid Records
73 [Documentation] Verify all the valid records.
74 [Arguments] ${record_type} ${redfish_uri} ${reading_type}
75
76 # Description of Arguments(s):
77 # record_type The sensor record type (e.g. "PowerSupplies")
Marissa Garza6f7958a2019-08-13 14:58:05 -050078 # redfish_uri The power supply URI (e.g. /redfish/v1/Chassis/chassis/Power)
Marissa Garza6e3f9ec2019-07-24 15:31:26 -050079 # reading_type The power watt readings (e.g. "PowerInputWatts")
80
81 # A valid record will have "State" key "Enabled" and "Health" key "OK".
82 ${records}= Redfish.Get Attribute
83 ... ${redfish_uri} ${record_type}
84
85 ${num_records}= Get Length ${records}
86 Rprint Vars num_records records
87
88 ${invalid_records}= Filter Struct ${records}
89 ... [('Health', '^OK$'), ('State', '^Enabled$'), ('${reading_type}', '')] regex=1 invert=1
90 ${num_invalid_records}= Get Length ${invalid_records}
91
92 Run Keyword If ${num_invalid_records} > ${0}
93 ... Rprint Vars num_invalid_records invalid_records
94 Rvalid Value num_invalid_records valid_values=[0]
95
96
97Suite Teardown Execution
98 [Documentation] Do the post suite teardown.
99
100 Redfish.Logout
101
102
103Suite Setup Execution
104 [Documentation] Do test case setup tasks.
105
106 Printn
Marissa Garza6f7958a2019-08-13 14:58:05 -0500107 Redfish Power On stack_mode=skip
Marissa Garza6e3f9ec2019-07-24 15:31:26 -0500108 Redfish.Login
109
110
111Test Teardown Execution
112 [Documentation] Do the post test teardown.
113
114 FFDC On Test Case Fail