from napalm_redfish.parsers import parse_firmware INVENTORY = "/redfish/v1/UpdateService/FirmwareInventory" def test_firmware_bmc(rackmount): fw = parse_firmware(rackmount(INVENTORY + "/BMC")) assert fw == { "id": "BMC", "name": "Contoso BMC Firmware", "version": "1.45.455b66-rev4", "updateable": True, "manufacturer": "Contoso", "release_date": "2017-08-22T12:00:00Z", "state": "Enabled", "health": "OK", "related": ["/redfish/v1/Managers/BMC"], } def test_firmware_bios(rackmount): fw = parse_firmware(rackmount(INVENTORY + "/BIOS")) assert fw["version"] == "P79 v1.45" assert fw["related"] == ["/redfish/v1/Systems/437XR1138R2/Bios"] def test_firmware_minimal(): fw = parse_firmware({"Id": "BMC", "Name": "BMC", "Version": "03.91"}) assert fw["version"] == "03.91" assert fw["updateable"] is None assert fw["related"] == []