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}