Verify BMC Version matches with firmware inventory
Change-Id: I6f819dc9c5428f8bfde6535b2ca9d154d55f14e7
Signed-off-by: Sivas SRR <sivas.srr@in.ibm.com>
Signed-off-by: George Keishing <gkeishin@in.ibm.com>
diff --git a/redfish/update_service/test_firmware_inventory.robot b/redfish/update_service/test_firmware_inventory.robot
index cd2304a..3a3c0a7 100644
--- a/redfish/update_service/test_firmware_inventory.robot
+++ b/redfish/update_service/test_firmware_inventory.robot
@@ -76,6 +76,34 @@
\ Should Be Equal As Strings ${resp_resource.dict["Status"]["State"]} Enabled
+Verify BMC Version Matches With FirmwareInventory
+ [Documentation] Verify BMC version from FirmwareInventory same as in manager.
+ [Tags] Verify_BMC_Version_Matches_With_FirmwareInventory
+
+ ${bmc_manager}= Redfish.Get /redfish/v1/Managers/bmc
+ ${manager_bmc_version}= Get BMC Version
+ # Check for manager version and cat /etc/os-release.
+ Should Be Equal As Strings
+ ... ${bmc_manager.dict["FirmwareVersion"]} ${manager_bmc_version.strip('"')}
+
+ ${resp}= Redfish.Get /redfish/v1/UpdateService/FirmwareInventory
+
+ # Entries "Members@odata.count": 3,
+ # {'@odata.id': '/redfish/v1/UpdateService/FirmwareInventory/a3522998'}
+ # {'@odata.id': '/redfish/v1/UpdateService/FirmwareInventory/a7c79f71'}
+ # {'@odata.id': '/redfish/v1/UpdateService/FirmwareInventory/ace821ef'}
+
+ ${actual_count}= Evaluate ${resp.dict["Members@odata.count"]}-1
+ :FOR ${entry} IN RANGE 0 ${resp.dict["Members@odata.count"]}
+ \ ${resp_resource}= Redfish.Get ${resp.dict["Members"][${entry}]["@odata.id"]}
+ # 3rd comparison of BMC version and verify FirmwareInventory bmc version.
+ # Example:
+ # "Version": 2.7.0-dev-19-g9b44ea7
+ \ Exit For Loop If '${resp_resource.dict["Version"]}' == '${manager_bmc_version.strip('"')}'
+ \ Run Keyword If '${entry}' == '${actual_count}' Fail
+ ... BMC version not there in Firmware Inventory
+
+
*** Keywords ***
Test Setup Execution