Added support to verify location code and spare part number
Change-Id: I966526bca661ef759520e7c0e40bf189bee068be
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
index 687e4c0..a1368c3 100644
--- a/openpower/vpd/test_redfish_vpd.robot
+++ b/openpower/vpd/test_redfish_vpd.robot
@@ -11,44 +11,60 @@
*** Test Cases ***
-Verify VPD Data Via Redfish
- [Documentation] Verify VPD details via Redfish output.
- [Tags] Verify_VPD_Data_Via_Redfish
+Verify BMC VPD Data Via Redfish
+ [Documentation] Verify BMC VPD details via Redfish output.
+ [Tags] Verify_BMC_VPD_Data_Via_Redfish
[Template] Verify Redfish VPD Data
- # Component
- BMC
- Chassis
- CPU
+ # Component Field
+ BMC Model
+ BMC PartNumber
+ BMC SerialNumber
+ BMC SparePartNumber
+ BMC Location
+
+
+Verify Chassis VPD Data Via Redfish
+ [Documentation] Verify Chassis VPD details via Redfish output.
+ [Tags] Verify_Chassis_VPD_Data_Via_Redfish
+ [Template] Verify Redfish VPD Data
+
+ # Skipping chassis's spare part number test because it has issue.
+ # Component Field
+ Chassis Model
+ Chassis PartNumber
+ Chassis SerialNumber
+ #Chassis SparePartNumber
+ Chassis Location
+
+
+Verify CPU VPD Data Via Redfish
+ [Documentation] Verify CPU VPD details via Redfish output.
+ [Tags] Verify_CPU_VPD_Data_Via_Redfish
+ [Template] Verify Redfish VPD Data
+
+ # Component Field
+ CPU Model
+ CPU PartNumber
+ CPU SerialNumber
+ CPU SparePartNumber
+ CPU Location
*** Keywords ***
Verify Redfish VPD Data
[Documentation] Verify Redfish VPD data of given component.
- [Arguments] ${component}
+ [Arguments] ${component} ${field}
# Description of arguments:
# component VPD component (e.g. /system/chassis/motherboard/vdd_vrm1).
+ # field VPD field (e.g. Model, PartNumber etc.).
${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: Verification for SparePartNumber and Location fields will be added later.
- @{vpd_fields}= Create List Model PartNumber SerialNumber
- FOR ${field} IN @{vpd_fields}
- Verify Redfish VPD ${component} ${component_uri} ${field}
- END
-
-
-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
@@ -62,5 +78,10 @@
... '${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["${field}"]} ${vpd_records['${vpd_component}']['${vpd_field}']}
+ ${vpd_records}= Vpdtool -o -O ${vpd_component}
+
+ 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}']}