Fix for IPMI sensor test suite
Changes:
Add logic to get device name from data source URI
Tested:
Tested changes on eBMC environment
Change-Id: I16b40257e8b6e4fe694ca86eef3a4faf2507891e
Signed-off-by: Sridevi Ramesh <sridevra@in.ibm.com>
diff --git a/data/platform_variables.py b/data/platform_variables.py
index 84ac259..16bfdee 100644
--- a/data/platform_variables.py
+++ b/data/platform_variables.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3 -u
r"""
- Define methods to import platform specific files.
+Define methods to import platform specific files.
"""
import importlib
diff --git a/ipmi/test_ipmi_sensor.robot b/ipmi/test_ipmi_sensor.robot
index 666abfa..1bf219c 100644
--- a/ipmi/test_ipmi_sensor.robot
+++ b/ipmi/test_ipmi_sensor.robot
@@ -20,7 +20,6 @@
*** Test Cases ***
-
Verify IPMI Temperature Readings using Redfish
[Documentation] Verify temperatures from IPMI sensor reading command using Redfish.
[Tags] Verify_IPMI_Temperature_Readings_using_Redfish
@@ -289,6 +288,7 @@
@{redfish_readings}= redfish_utils.Get Attribute
... ${thermal_uri[0]}/${THERMAL_METRICS} TemperatureReadingsCelsius
+
# Example of Baseboard temperature via Redfish
# "@odata.id": "/redfish/v1/Chassis/chassis/ThermalSubsystem/ThermalMetrics",
@@ -305,10 +305,26 @@
${redfish_value_dict}= Create Dictionary
FOR ${data} IN @{redfish_readings}
- ${contains}= Evaluate "${member_id}" in """${data}[DeviceName]"""
+ ${keys}= Get Dictionary Keys ${data}
${reading}= Set Variable ${data}[Reading]
- Run Keyword IF "${contains}" == "True"
- ... Set To Dictionary ${redfish_value_dict} ${data}[DeviceName] ${reading}
+ ${is_device_name_present}= Evaluate "DeviceName" in @{keys}
+ IF ${is_device_name_present}
+ ${contains}= Evaluate "${member_id}" in """${data}[DeviceName]"""
+ Run Keyword IF "${contains}" == "True"
+ ... Set To Dictionary ${redfish_value_dict} ${data}[DeviceName] ${reading}
+ ELSE
+ ${data_source_id}= Evaluate ("${data}[DataSourceUri]").split('temperature_')
+ # Example format:
+ #
+ # {
+ # "DataSourceUri": "/redfish/v1/Chassis/chassis/Sensors/temperature_dimm17_dram_temp",
+ # "Reading": 32.0
+ # }
+ ${contains}= Evaluate "${member_id}" in "${data_source_id[1]}"
+ IF ${contains}
+ Set To Dictionary ${redfish_value_dict} ${data_source_id[1]} ${reading}
+ END
+ END
END
RETURN ${redfish_value_dict}