Added tests to verify VPD for assembly component
Test cases added:
- Verify TPM VPD Data Via Redfish
- Verify TOD Battery VPD Data Via Redfish
- Verify VRM VPD Data Via Redfish
- Verify OP Panel VPD Data Via Redfish
- Verify OP Panel LCD VPD Data Via Redfish
- Verify Disk Backplane VPD Data Via Redfish
Change-Id: Id074128d9e2dd6e322c9abc13a94e9d1bbba8673
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 8a0bf9e..eb55254 100644
--- a/openpower/vpd/test_redfish_vpd.robot
+++ b/openpower/vpd/test_redfish_vpd.robot
@@ -51,21 +51,117 @@
CPU Location
+Verify TPM VPD Data Via Redfish
+ [Documentation] Verify TPM VPD details via Redfish output.
+ [Tags] Verify_TPM_VPD_Data_Via_Redfish
+ [Template] Verify Redfish VPD Data
+
+ # Component Field
+ TPM Model
+ TPM PartNumber
+ TPM SerialNumber
+ TPM SparePartNumber
+ TPM Location
+
+
+Verify TOD Battery VPD Data Via Redfish
+ [Documentation] Verify TOD battery VPD details via Redfish output.
+ [Tags] Verify_TOD_Battery_VPD_Data_Via_Redfish
+ [Template] Verify Redfish VPD Data
+
+ # Component Field
+ TOD Battery Model
+ TOD Battery PartNumber
+ TOD Battery SerialNumber
+ TOD Battery SparePartNumber
+ TOD Battery Location
+
+
+Verify VRM VPD Data Via Redfish
+ [Documentation] Verify voltage regulator module VPD details via Redfish output.
+ [Tags] Verify_VRM_VPD_Data_Via_Redfish
+ [Template] Verify Redfish VPD Data
+
+ # Component Field
+ VRM Model
+ VRM PartNumber
+ VRM SerialNumber
+ VRM SparePartNumber
+ VRM Location
+
+
+Verify OP Panel VPD Data Via Redfish
+ [Documentation] Verify operator panel VPD details via Redfish output.
+ [Tags] Verify_OP_Panel_VPD_Data_Via_Redfish
+ [Template] Verify Redfish VPD Data
+
+ # Component Field
+ OP Panel Model
+ OP Panel PartNumber
+ OP Panel SerialNumber
+ OP Panel SparePartNumber
+ OP Panel Location
+
+
+Verify OP Panel LCD VPD Data Via Redfish
+ [Documentation] Verify operator panel LCD VPD details via Redfish output.
+ [Tags] Verify_OP_Panel_LCD_VPD_Data_Via_Redfish
+ [Template] Verify Redfish VPD Data
+
+ # Component Field
+ OP Panel LCD Model
+ OP Panel LCD PartNumber
+ OP Panel LCD SerialNumber
+ OP Panel LCD SparePartNumber
+ OP Panel LCD Location
+
+
+Verify Disk Backplane VPD Data Via Redfish
+ [Documentation] Verify disk backplane VPD details via Redfish output.
+ [Tags] Verify_Disk_Backplane_VPD_Data_Via_Redfish
+ [Template] Verify Redfish VPD Data
+
+ # Component Field
+ Disk Backplane Model
+ Disk Backplane PartNumber
+ Disk Backplane SerialNumber
+ Disk Backplane SparePartNumber
+ Disk Backplane Location
+
+
*** Keywords ***
Verify Redfish VPD Data
[Documentation] Verify Redfish VPD data of given 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
+ ${redfish_component_uri} ${redfish_component_name}= Run Keyword If
+ ... '${component}' == 'BMC' Set Variable /redfish/v1/Managers/bmc OpenBmc Manager
+ ... ELSE IF '${component}' == 'Chassis'
+ ... Set Variable /redfish/v1/Chassis/chassis RackMount
+ ... ELSE IF '${component}' == 'CPU'
+ ... Set Variable /redfish/v1/Systems/system/Processors/cpu0 Processor
+ ... ELSE IF '${component}' == 'TPM'
+ ... Set Variable /redfish/v1/Chassis/chassis/Assembly tpm_wilson
+ ... ELSE IF '${component}' == 'TOD Battery'
+ ... Set Variable /redfish/v1/Chassis/chassis/Assembly tod_battery
+ ... ELSE IF '${component}' == 'VRM'
+ ... Set Variable /redfish/v1/Chassis/chassis/Assembly vdd_vrm0
+ ... ELSE IF '${component}' == 'OP Panel'
+ ... Set Variable /redfish/v1/Chassis/chassis/Assembly base_op_panel_blyth
+ ... ELSE IF '${component}' == 'OP Panel LCD'
+ ... Set Variable /redfish/v1/Chassis/chassis/Assembly lcd_op_panel_hill
+ ... ELSE IF '${component}' == 'Disk Backplane'
+ ... Set Variable /redfish/v1/Chassis/chassis/Assembly disk_backplane0
- ${resp}= Redfish.Get Properties ${component_uri}
+ ${resp}= Run Keyword If '${redfish_component_uri}' == '/redfish/v1/Chassis/chassis/Assembly'
+ ... Get Assembly Component VPD ${redfish_component_name}
+ ... ELSE Redfish.Get Properties ${redfish_component_uri}
+
${vpd_field}= Set Variable If
... '${field}' == 'Model' CC
... '${field}' == 'PartNumber' PN
@@ -77,6 +173,12 @@
... '${component}' == 'CPU' /system/chassis/motherboard/dcm0/cpu0
... '${component}' == 'Chassis' /system/chassis
... '${component}' == 'BMC' /system/chassis/motherboard/ebmc_card_bmc
+ ... '${component}' == 'TPM' /system/chassis/motherboard/tpm_wilson
+ ... '${component}' == 'TOD Battery' /system/chassis/motherboard/tod_battery
+ ... '${component}' == 'VRM' /system/chassis/motherboard/vdd_vrm0
+ ... '${component}' == 'OP Panel' /system/chassis/motherboard/base_op_panel_blyth
+ ... '${component}' == 'OP Panel LCD' /system/chassis/motherboard/lcd_op_panel_hill
+ ... '${component}' == 'Disk Backplane' /system/chassis/motherboard/disk_backplane0
${vpd_records}= Vpdtool -o -O ${vpd_component}
@@ -85,3 +187,19 @@
... ${vpd_records['${vpd_component}']['${vpd_field}']}
... ELSE
... Should Be Equal As Strings ${resp["${field}"]} ${vpd_records['${vpd_component}']['${vpd_field}']}
+
+
+Get Assembly Component VPD
+ [Documentation] Returns Redfish VPD data of given assembly component.
+ [Arguments] ${component_name}
+
+ # Description of argument(s):
+ # component_name Assembly's component name (e.g. tpm_wilson, tod_battery).
+
+ ${resp}= Redfish.Get Properties /redfish/v1/Chassis/chassis/Assembly
+ FOR ${assembly_component} IN @{resp["Assemblies"]}
+ ${output}= Set Variable If
+ ... "${component_name}" == "${assembly_component["Name"]}" ${assembly_component}
+ Exit For Loop IF "${component_name}" == "${assembly_component["Name"]}"
+ END
+ [Return] ${output}