blob: 2e950c1a2b9ed3c245290e5e407ac492e49482f7 [file] [log] [blame]
*** Settings ***
Documentation Test module for testing fan interface.
Resource ../lib/rest_client.robot
Resource ../lib/openbmc_ffdc.robot
Test Teardown FFDC On Test Case Fail
*** Test Cases ***
Verify Fan Sensors Atrributes
[Documentation] Check fan attributes.
[Tags] Verify_Fan_Sensor_Attributes
${fans}= Get Fan Sensor List
# Access the properties of the fan and it should contain
# the following entries:
# /xyz/openbmc_project/sensors/fan_tach/fan0
# {
# "Scale": 0,
# "Target": 0,
# "Unit": "xyz.openbmc_project.Sensor.Value.Unit.RPMS",
# "Value": 0
# }
:FOR ${entry} IN @{fans}
\ ${resp}= OpenBMC Get Request ${entry}
\ ${json}= To Json ${resp.content}
\ Should Be True ${json["data"]["Scale"]} >= 0
\ Run Keyword And Ignore Error
... Should Be True ${json["data"]["Target"]} >= 0
\ Should Be Equal As Strings
... ${json["data"]["Unit"]} xyz.openbmc_project.Sensor.Value.Unit.RPMS
\ Should Be True ${json["data"]["Value"]} >= 0
*** Keywords ***
Get Fan Sensor List
[Documentation] Get a list of fan sensor URLs.
# Example:
# /xyz/openbmc_project/sensors/fan_tach/fan0
# /xyz/openbmc_project/sensors/fan_tach/fan1
# /xyz/openbmc_project/sensors/fan_tach/fan2
# /xyz/openbmc_project/sensors/fan_tach/fan3
${resp}= Openbmc Get Request
... /xyz/openbmc_project/sensors/fan_tach/list
Should Be Equal As Strings ${resp.status_code} ${HTTP_OK}
${jsondata}= To JSON ${resp.content}
Should Not Be Empty ${jsondata["data"]}
[Return] ${jsondata["data"]}