1*d76b1423SMarissa Garza*** Settings ***
2*d76b1423SMarissa GarzaDocumentation       Get the system power supply voltage readings.
3*d76b1423SMarissa Garza
4*d76b1423SMarissa GarzaResource            ../../lib/bmc_redfish_resource.robot
5*d76b1423SMarissa GarzaResource            ../../lib/bmc_redfish_utils.robot
6*d76b1423SMarissa GarzaResource            ../../lib/openbmc_ffdc.robot
7*d76b1423SMarissa GarzaLibrary             ../../lib/gen_robot_valid.py
8*d76b1423SMarissa Garza
9*d76b1423SMarissa GarzaSuite Setup         Suite Setup Execution
10*d76b1423SMarissa GarzaSuite Teardown      Suite Teardown Execution
11*d76b1423SMarissa GarzaTest Setup          Printn
12*d76b1423SMarissa GarzaTest Teardown       Test Teardown Execution
13*d76b1423SMarissa Garza
14*d76b1423SMarissa Garza
15*d76b1423SMarissa Garza*** Test Cases ***
16*d76b1423SMarissa Garza
17*d76b1423SMarissa GarzaVerify Power Control Consumed Watts
18*d76b1423SMarissa Garza    [Documentation]  Verify there are no invalid power control consumed watt records.
19*d76b1423SMarissa Garza    [Tags]  Verify_Power_Control_Consumed_Watts
20*d76b1423SMarissa Garza    [Template]  Verify Power Metric Records
21*d76b1423SMarissa Garza
22*d76b1423SMarissa Garza    # record_type   redfish_uri                   reading_type
23*d76b1423SMarissa Garza    PowerControl    ${REDFISH_CHASSIS_POWER_URI}  PowerConsumedWatts
24*d76b1423SMarissa Garza
25*d76b1423SMarissa Garza
26*d76b1423SMarissa Garza*** Keywords ***
27*d76b1423SMarissa Garza
28*d76b1423SMarissa GarzaVerify Power Metric Records
29*d76b1423SMarissa Garza    [Documentation]  Verify the power metric records.
30*d76b1423SMarissa Garza    [Arguments]  ${record_type}  ${redfish_uri}  ${reading_type}
31*d76b1423SMarissa Garza
32*d76b1423SMarissa Garza    # Description of Arguments(s):
33*d76b1423SMarissa Garza    # record_type    The sensor record type (e.g. "PowerControl")
34*d76b1423SMarissa Garza    # redfish_uri    The power supply URI (e.g. /redfish/v1/Chassis/chassis/Power)
35*d76b1423SMarissa Garza    # reading_type   The power metric readings (e.g. "PowerConsumedWatts")
36*d76b1423SMarissa Garza
37*d76b1423SMarissa Garza    Verify Valid Records  ${record_type}  ${redfish_uri}  ${reading_type}
38*d76b1423SMarissa Garza
39*d76b1423SMarissa Garza    ${records}=  Redfish.Get Attribute  ${redfish_uri}  ${record_type}
40*d76b1423SMarissa Garza
41*d76b1423SMarissa Garza    ${invalid_records}=  Evaluate
42*d76b1423SMarissa Garza    ...  [x for x in ${records} if not x['${reading_type}'] <= x['PowerMetrics']['MaxConsumedWatts']]
43*d76b1423SMarissa Garza
44*d76b1423SMarissa Garza    Valid Length  invalid_records  max_length=0
45*d76b1423SMarissa Garza
46*d76b1423SMarissa Garza
47*d76b1423SMarissa GarzaSuite Teardown Execution
48*d76b1423SMarissa Garza    [Documentation]  Do the post suite teardown.
49*d76b1423SMarissa Garza
50*d76b1423SMarissa Garza    Redfish.Logout
51*d76b1423SMarissa Garza
52*d76b1423SMarissa Garza
53*d76b1423SMarissa GarzaSuite Setup Execution
54*d76b1423SMarissa Garza    [Documentation]  Do test case setup tasks.
55*d76b1423SMarissa Garza
56*d76b1423SMarissa Garza    Printn
57*d76b1423SMarissa Garza    Redfish Power On  stack_mode=skip
58*d76b1423SMarissa Garza    Redfish.Login
59*d76b1423SMarissa Garza
60*d76b1423SMarissa Garza
61*d76b1423SMarissa GarzaTest Teardown Execution
62*d76b1423SMarissa Garza    [Documentation]  Do the post test teardown.
63*d76b1423SMarissa Garza
64*d76b1423SMarissa Garza    FFDC On Test Case Fail
65