Added a test case to verify power supply VPD data via Redfish
Changes:
- Added test case to verify power supply VPD data via Redfish
Tested:
- Ran above test case from openpower/vpd/test_redfish_vpd.robot successfully.
Change-Id: I6d8fd882b291ed1bc9c0d73109c03c7570d8166c
Signed-off-by: dnirmala <dhurgam.nirmala1@ibm.com>
diff --git a/openpower/vpd/test_redfish_vpd.robot b/openpower/vpd/test_redfish_vpd.robot
index a12dcac..99dce58 100644
--- a/openpower/vpd/test_redfish_vpd.robot
+++ b/openpower/vpd/test_redfish_vpd.robot
@@ -139,6 +139,19 @@
System SerialNumber
+Verify Power Supply VPD Data Via Redfish
+ [Documentation] Verify power supply VPD details via Redfish output.
+ [Tags] Verify_Power_Supply_VPD_Data_Via_Redfish
+ [Template] Verify All Redfish VPD Data
+
+ # Component Field
+ Power Supply Model
+ Power Supply PartNumber
+ Power Supply SerialNumber
+ Power Supply SparePartNumber
+ Power Supply Location
+
+
*** Keywords ***
Verify Redfish VPD Data
@@ -220,3 +233,42 @@
Exit For Loop IF "${component_name}" == "${assembly_component["Name"]}"
END
[Return] ${output}
+
+
+Verify All Redfish VPD Data
+ [Documentation] Verify Redfish VPD data using all the inventory URIs of given component.
+ [Arguments] ${component} ${field}
+
+ # Description of arguments:
+ # component VPD component (TPM Card, Power Supply).
+ # field VPD field (e.g. Model, PartNumber etc.).
+
+ ${redfish_component_uri}= Set Variable /redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies
+
+ ${redfish_uri_list}= Get Member List ${redfish_component_uri}
+
+ # Example output:
+ # {'@odata.id': '/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply0'}
+ # {'@odata.id': '/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply1'}
+
+ ${vpd_field}= Set Variable If
+ ... '${field}' == 'Model' CC
+ ... '${field}' == 'PartNumber' PN
+ ... '${field}' == 'SerialNumber' SN
+ ... '${field}' == 'SparePartNumber' FN
+ ... '${field}' == 'Location' LocationCode
+
+ FOR ${uri} IN @{redfish_uri_list}
+ ${resp}= Redfish.Get Properties ${uri}
+ ${name}= Fetch From Right ${uri} /
+ ${vpd_component}= Set Variable /system/chassis/motherboard/${name}
+ ${vpd_records}= Vpdtool -o -O ${vpd_component}
+
+ # Check whether the vpd details from redfish and vpdtool are the same.
+ Run Keyword if '${field}' == 'Location'
+ ... Should Be Equal As Strings ${resp["Location"]["PartLocation"]["ServiceLabel"]}
+ ... ${vpd_records['${vpd_component}']['${vpd_field}']}
+ ... ELSE
+ ... Should Be Equal As Strings ${resp["${field}"]}
+ ... ${vpd_records['${vpd_component}']['${vpd_field}']}
+ END