*** Settings *** Documentation Verify that Redfish software inventory can be collected. Resource ../../lib/resource.robot Resource ../../lib/bmc_redfish_resource.robot Resource ../../lib/openbmc_ffdc.robot Test Setup Test Setup Execution Test Teardown Test Teardown Execution *** Test Cases *** Verify Redfish Update Service Enabled [Documentation] Verify "ServiceEnabled" is enabled. [Tags] Verify_Update_Service_Enabled # Example: # "HttpPushUri": "/redfish/v1/UpdateService", # "Id": "UpdateService", # "Name": "Update Service", # "ServiceEnabled": true ${resp}= Redfish.Get /redfish/v1/UpdateService Should Be Equal As Strings ${resp.dict["ServiceEnabled"]} ${True} Verify Redfish Software Inventory Collection [Documentation] Verify software inventory collection member and object entries. [Tags] Verify_Redfish_Software_Inventory_Collection # Example: # { # "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", # "Members": [ # { # "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/a3522998" # }, # { # "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/a7c79f71" # }, # { # "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/ace821ef" # } # ], # "Members@odata.count": 3, # "Name": "Software Inventory Collection" # } ${resp}= Redfish.Get /redfish/v1/UpdateService/FirmwareInventory Should Be True ${resp.dict["Members@odata.count"]} >= ${1} Length Should Be ${resp.dict["Members"]} ${resp.dict["Members@odata.count"]} Redfish Software Inventory Status Check [Documentation] Get firmware inventory entries and do health check status. [Tags] Redfish_Software_Inventory_Status_Check ${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'} :FOR ${entry} IN RANGE 0 ${resp.dict["Members@odata.count"]} \ ${resp_resource}= Redfish.Get ${resp.dict["Members"][${entry}]["@odata.id"]} # Example: # "Status": { # "Health": "OK", # "HealthRollup": "OK", # "State": "Enabled" # }, \ Should Be Equal As Strings ${resp_resource.dict["Status"]["Health"]} OK \ Should Be Equal As Strings ${resp_resource.dict["Status"]["HealthRollup"]} OK \ Should Be Equal As Strings ${resp_resource.dict["Status"]["State"]} Enabled *** Keywords *** Test Setup Execution [Documentation] Do test case setup tasks. Redfish.Login Test Teardown Execution [Documentation] Do the post test teardown. FFDC On Test Case Fail Redfish.Logout