Added test case to test VPD data via Redfish
Change-Id: Ie9c87a9a43007be7caa87508901a3290ae75e4a6
Signed-off-by: Rahul Maheshwari <rahulmaheshwari@in.ibm.com>
diff --git a/openpower/vpd/test_redfish_vpd.robot b/openpower/vpd/test_redfish_vpd.robot
new file mode 100644
index 0000000..7635e78
--- /dev/null
+++ b/openpower/vpd/test_redfish_vpd.robot
@@ -0,0 +1,62 @@
+*** Settings ***
+Documentation This suite tests Vital Product Data (VPD) using Redfish.
+
+Resource ../../lib/openbmc_ffdc.robot
+Library ../../lib/vpd_utils.py
+
+Test Teardown FFDC On Test Case Fail
+
+
+*** Test Cases ***
+
+Verify VPD Data Via Redfish
+ [Documentation] Verify VPD details via Redfish output.
+ [Tags] Verify_VPD_Data_Via_Redfish
+ [Template] Verify Redfish VPD Data
+
+ # Component
+ BMC
+ Chassis
+ CPU
+
+
+*** Keywords ***
+
+Verify Redfish VPD Data
+ [Documentation] Verify Redfish VPD data of given component.
+ [Arguments] ${component}
+ # Description of arguments:
+ # component VPD component (e.g. /system/chassis/motherboard/vdd_vrm1).
+
+ ${component_uri}= Set Variable If
+ ... '${component}' == 'BMC' /redfish/v1/Managers/bmc
+ ... '${component}' == 'Chassis' /redfish/v1/Chassis/chassis
+ ... '${component}' == 'CPU' /redfish/v1/Systems/system/Processors/cpu0
+
+ # TODO: Currently serial number is verified. Verification for other fields will be added later.
+ Verify Redfish VPD ${component} ${component_uri} SerialNumber
+
+
+Verify Redfish VPD
+ [Documentation] Verify Redfish VPD of given URI.
+ [Arguments] ${component} ${component_uri} ${field}
+ # Description of arguments:
+ # component_uri Redfish VPD uri (e.g. /redfish/v1/Systems/system/Processors/cpu1).
+ # field Redfish VPD field (Model)
+
+ ${resp}= Redfish.Get Properties ${component_uri}
+
+ ${vpd_field}= Set Variable If
+ ... '${field}' == 'Model' CC
+ ... '${field}' == 'PartNumber' PN
+ ... '${field}' == 'SerialNumber' SN
+ ... '${field}' == 'SparePartNumber' FN
+ ... '${field}' == 'Location' LocationCode
+
+ ${vpd_component}= Set Variable If
+ ... '${component}' == 'CPU' /system/chassis/motherboard/cpu0
+ ... '${component}' == 'Chassis' /system/chassis
+ ... '${component}' == 'BMC' /system/chassis/motherboard/ebmc_card_bmc
+
+ ${vpd_records}= Vpdtool -r -O ${vpd_component} -R VINI -K ${vpd_field}
+ Should Be Equal As Strings ${resp["SerialNumber"]} ${vpd_records['${vpd_component}']['${vpd_field}']}