13047c62eSMarissa Garza*** Settings ***
23047c62eSMarissa GarzaDocumentation       Getting the systems thermal records for temperature.
33047c62eSMarissa Garza
43047c62eSMarissa GarzaResource            ../../lib/bmc_redfish_resource.robot
53047c62eSMarissa GarzaResource            ../../lib/bmc_redfish_utils.robot
6cf6c38f5SMarissa GarzaResource            ../../lib/logging_utils.robot
7cf6c38f5SMarissa GarzaResource            ../../lib/boot_utils.robot
83047c62eSMarissa GarzaResource            ../../lib/openbmc_ffdc.robot
93a7c053fSMarissa GarzaLibrary             ../../lib/gen_robot_valid.py
10cf6c38f5SMarissa GarzaLibrary             ../../lib/logging_utils.py
113047c62eSMarissa Garza
123047c62eSMarissa GarzaSuite Setup         Suite Setup Execution
133047c62eSMarissa GarzaSuite Teardown      Suite Teardown Execution
1481b5dd30SGeorge KeishingTest Setup          Redfish Purge Event Log
153047c62eSMarissa GarzaTest Teardown       Test Teardown Execution
163047c62eSMarissa Garza
173047c62eSMarissa Garza
183047c62eSMarissa Garza*** Test Cases ***
193047c62eSMarissa Garza
203047c62eSMarissa GarzaGet Ambient Temperature Records
213047c62eSMarissa Garza    [Documentation]  Get the ambient temperature records.
223047c62eSMarissa Garza    [Tags]  Get_Ambient_Temperature_Records
233047c62eSMarissa Garza    [Template]  Get Thermal Records and Verify
243047c62eSMarissa Garza
253047c62eSMarissa Garza    # record_type   reading_type
263047c62eSMarissa Garza    Temperatures    ReadingCelsius
273047c62eSMarissa Garza
283047c62eSMarissa Garza
29cf6c38f5SMarissa GarzaReboot And Check Ambient Temperature Records Are Valid
30cf6c38f5SMarissa Garza    [Documentation]  Check the ambient temperature records are valid after a reboot.
31cf6c38f5SMarissa Garza    [Tags]  Reboot_And_Check_Ambient_Temperature_Records_Are_Valid
32cf6c38f5SMarissa Garza
33cf6c38f5SMarissa Garza    Redfish OBMC Reboot (run)
34*6169b136STim Lee
35*6169b136STim Lee    # Clear errors if there are any.
36cf6c38f5SMarissa Garza    Redfish.Login
37*6169b136STim Lee    Redfish Purge Event Log
38cf6c38f5SMarissa Garza
39cf6c38f5SMarissa Garza    Get Thermal Records and Verify  Temperatures  ReadingCelsius
40cf6c38f5SMarissa Garza
41cf6c38f5SMarissa Garza
423047c62eSMarissa Garza*** Keywords ***
433047c62eSMarissa Garza
443047c62eSMarissa GarzaGet Thermal Records and Verify
453047c62eSMarissa Garza    [Documentation]  Get the thermal records for temperatures.
463047c62eSMarissa Garza    [Arguments]  ${record_type}  ${reading_type}
473047c62eSMarissa Garza
483047c62eSMarissa Garza    # Description of Arguments(s):
493047c62eSMarissa Garza    # record_type    The thermal record type (e.g. "Temperatures")
503047c62eSMarissa Garza    # reading_type   The thermal temperature readings (e.g. "ReadingCelsius")
513047c62eSMarissa Garza
522b975827STony Lee    ${records}=  Verify Valid Records  ${record_type}
532b975827STony Lee    ...  ${REDFISH_CHASSIS_URI}/${CHASSIS_ID}/Thermal  ${reading_type}
543047c62eSMarissa Garza
553047c62eSMarissa Garza    ${num_records}=  Get Length  ${records}
5639c00518SMichael Walsh    Rprint Vars  num_records  records
573047c62eSMarissa Garza
58743d597eSMarissa Garza    ${cmd}  Catenate  [x for x in ${records}
59743d597eSMarissa Garza    ...  if not x['LowerThresholdNonCritical'] <= x['${reading_type}'] <= x['UpperThresholdNonCritical']]
60743d597eSMarissa Garza    ${invalid_records}=  Evaluate  ${cmd}
613047c62eSMarissa Garza
623a7c053fSMarissa Garza    ${num_invalid_records}=  Get Length  ${invalid_records}
633a7c053fSMarissa Garza    Run Keyword If  ${num_invalid_records} > ${0}
6439c00518SMichael Walsh    ...  Rprint Vars  num_invalid_records  invalid_records
65e7edb22cSMichael Walsh    Valid Value   num_invalid_records  valid_values=[0]
663047c62eSMarissa Garza
6726393aa9STim Lee    Event Log Should Not Exist
68cf6c38f5SMarissa Garza
69cf6c38f5SMarissa Garza
703047c62eSMarissa GarzaSuite Teardown Execution
713047c62eSMarissa Garza    [Documentation]  Do the post suite teardown.
723047c62eSMarissa Garza
733047c62eSMarissa Garza    Redfish.Logout
743047c62eSMarissa Garza
75cf6c38f5SMarissa Garza
763047c62eSMarissa GarzaSuite Setup Execution
773047c62eSMarissa Garza    [Documentation]  Do test case setup tasks.
783047c62eSMarissa Garza
793a7c053fSMarissa Garza    Printn
803047c62eSMarissa Garza    Redfish.Login
81cf6c38f5SMarissa Garza    Redfish Purge Event Log
82cf6c38f5SMarissa Garza
833047c62eSMarissa Garza
843047c62eSMarissa GarzaTest Teardown Execution
853047c62eSMarissa Garza    [Documentation]  Do the post test teardown.
863047c62eSMarissa Garza
873047c62eSMarissa Garza    FFDC On Test Case Fail
88