Skip to content

Instantly share code, notes, and snippets.

@smccarney
Last active August 5, 2019 19:58
Show Gist options
  • Save smccarney/43b2fae304575302af61332a71280d74 to your computer and use it in GitHub Desktop.
Save smccarney/43b2fae304575302af61332a71280d74 to your computer and use it in GitHub Desktop.
Test Plan: Move power supplies to Power schema
Test Plan: Move power supplies to Power schema
----------------------------------------------
x Run Redfish Validator
x Verify no new errors
x Old bmcweb
* err.Resource.UUID: 1
* warningPresent: 24
* failProp: 1
* warnTrailingSlashLink: 1
* 1 failProp errors in /redfish/v1/Systems/system
* /redfish/v1/Systems/system
* ERROR - UUID: String '' does not match pattern
''[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}''
ERROR - ...: Malformed Guid
x New bmcweb
* err.Resource.UUID: 1
* warningPresent: 23
* failProp: 1
* warnTrailingSlashLink: 1
* 1 failProp errors in /redfish/v1/Systems/system
* /redfish/v1/Systems/system
* ERROR - UUID: String '' does not match pattern
''[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}''
ERROR - ...: Malformed Guid
x Manually verify Redfish output from each chassis
x At standby
x chassis
x Power
x Thermal
x motherboard
x Power
x Thermal
x At runtime
x chassis
x Power
x Thermal
x motherboard
x Power
x Thermal
x redfish-core/lib/chassis.hpp
x ChassisCollection::doGet() - /redfish/v1/Chassis/
x Verify returns inventory items of the following types
x xyz.openbmc_project.Inventory.Item.Board
x Verify output is unchanged
x xyz.openbmc_project.Inventory.Item.Chassis
x Verify output is unchanged
x Verify does NOT return inventory items of the following types
x xyz.openbmc_project.Inventory.Item.PowerSupply
x Chassis::doGet() - /redfish/v1/Chassis/<chassis_id>
x Verify it works when chassis_id is one of the following
x "chassis"
x "motherboard"
x Verify it fails with a reasonable error message when chassis _id is one of
the following:
x "powersupply0"
x "powersupply1"
x redfish-core/lib/sensors.hpp
x class InventoryItem
x InventoryItem::InventoryItem
x Verify initial value of all data members
x objectPath
x name
x isPresent
x isFunctional
x isPowerSupply
x manufacturer
x model
x partNumber
x serialNumber
x sensors
x getChassis()
x Test where xyz.openbmc_project.Inventory.Item.Chassis specified as chassis
x Test where xyz.openbmc_project.Inventory.Item.Board specified as chassis
x Test where xyz.openbmc_project.Inventory.Item.PowerSupply specified as chassis
x Test where chassis does not exist
x Test where chassis/all_sensors does not exist
x Test where chassis/all_sensors exists
x getState()
x Test where inventoryItem == nullptr
x Test where inventoryItem is present
x Test where inventoryItem is NOT present
x getHealth()
x Current health
x Test where JSON already contains a value for Status->Health
x OK
x Critical
x Verify this overrides sensor threshold values of Warning or OK
x Warning
x Verify this overrides sensor threshold values of OK
x Test where JSON does NOT already contain a value for Status->Health
x Test where unable to find "Status"
x Test where unable to find "Health"
x Test where unable to get string value of "Health"
x Test where sensor threshold results in Critical
x Test where inventory item is nullptr
x Test where inventory item is functional
x Test where inventory item is NOT functional
x Test where sensor threshold results in Warning
x Test where sensor health is OK
x objectInterfacesToJson()
x Test where inventory item is nullptr
x Test where inventory item is valid
x Verify MemberId and Name are set for non-power sensors
x Verify MemberId and Name are NOT set for power sensors
x Status
x State
x Test where set to Enabled
x Test where set to Absent
x Health
x Test where set to OK
x Test where set to Warning
x Test where set to Critical
x Verify threshold values set if sensor type is not power
x Verify threshold values not set if sensor type is power
x Verify Min/Max ReadingRange set if sensor type is not power
x Verify Min/Max ReadingRange not set if sensor type is power
x findInventoryItem()
x Test where matching inventory item is found
x Test where matching inventory item is not found
x findInventoryItemForSensor()
x Test where matching inventory item is found
x Test where matching inventory item is not found
x addInventoryItem()
x Test where matching inventory item is found
x Verify does not add new InventoryItem to vector
x Verify it adds sensor to set
x Test where matching inventory item is not found
x Verify adds a new InventoryItem to vector
x Verify it adds sensor to set
x storeInventoryItemData()
x xyz.openbmc_project.Inventory.Item interface
x Test where interface is not found in dict
x Test where interface is found
x Present
x Test where property is not found
x Test where property is found
x Test where value cannot be obtained
x Test where value can be obtained
x Verify stored in InventoryItem
x xyz.openbmc_project.Inventory.Item.PowerSupply interface
x Test where interface is not found in dict
x Test where interface is found
x Verify stored in InventoryItem
x xyz.openbmc_project.Inventory.Decorator.Asset interface
x Test where interface is not found in dict
x Test where interface is found
x Manufacturer
x Test where property is not found
x Test where property is found
x Test where value cannot be obtained
x Test where value can be obtained
x Verify stored in InventoryItem
x Model
x Test where property is not found
x Test where property is found
x Test where value cannot be obtained
x Test where value can be obtained
x Verify stored in InventoryItem
x PartNumber
x Test where property is not found
x Test where property is found
x Test where value cannot be obtained
x Test where value can be obtained
x Verify stored in InventoryItem
x SerialNumber
x Test where property is not found
x Test where property is found
x Test where value cannot be obtained
x Test where value can be obtained
x Verify stored in InventoryItem
x xyz.openbmc_project.State.Decorator.OperationalStatus interface
x Test where interface is not found in dict
x Test where interface is found
x Functional
x Test where property is not found
x Test where property is found
x Test where value cannot be obtained
x Test where value can be obtained
x Verify stored in InventoryItem
x getInventoryItemsData()
x Verify debug log messages
x Verify invConnectionsIndex is 0 when not specified (first call)
x Test where invConnections set is empty
x Verify gets data from all connections
x Verify gets correct current connection name
x Verify recurses to next connection name
x Verify stops recursing when last connection reached
x Test where GetManagedObjects fails with error code
x Verify log message
x Verify reasonable error is returned in JSON response
x Verify loops through all objects returned by GetManagedObjects
x Test where object is one of the specified inventory items
x Verify data from service is stored in InventoryItem
x Test where object is NOT one of the specified inventory items
x getInventoryItemsConnections()
x Verify debug log messages
x Test where GetSubTree fails with error code
x Verify log message
x Verify reasonable error is returned in JSON response
x Verify services are returned that implement all 4 interfaces:
x xyz.openbmc_project.Inventory.Item
x xyz.openbmc_project.Inventory.Item.PowerSupply
x xyz.openbmc_project.Inventory.Decorator.Asset
x xyz.openbmc_project.State.Decorator.OperationalStatus
x Verify loops through all objects returned by GetSubTree
x Test where object is one of the specified inventory items
x Verify stores connections to inventory item interfaces
x Test where object is NOT one of the specified inventory items
x getInventoryItemAssociations()
x Verify debug log messages
x Test where GetManagedObjects fails with error code
x Verify log message
x Verify reasonable error is returned in JSON response
x Verify loops through all objects returned by GetManagedObjects
x Test where object is an association from a selected sensor to an
inventory item
x Verify new inventory item added to vector and sensor added to set
x Test where object is NOT an association from a selected sensor to an
inventory item
x Verify callback called when done getting connections
x getInventoryItems()
x Verify debug log messages
x Verify callback called when done getting all inventory items & data
x getPowerSupply()
x Test where PowerSupply object already exists
x Test where PowerSupply object does not already exist
x Verify new PowerSupply object added to array
x Verify correct field values stored in JSON object
x @odata.id
x MemberId
x Name
x Manufacturer
x Model
x PartNumber
x SerialNumber
x Status
x State
x Test where Enabled
x Test where Absent
x Health
x Test where OK
x Test where Critical
x getSensorData()
x Test where valid inventory item found for sensor
x Test where no valid inventory item found for sensor
x Test where sensor type is "power"
x Test where sensor name is "total_power"
x Test where a no valid inventory item found
x Test where a valid inventory item found
x Test where inventory item is a power supply
x Test where inventory item is not a power supply
x Test where fieldName is PowerControl
x Verify creates object if none exists in array
x Verify does not create object if one exists in array
x Test where fieldName is PowerSupplies
x Verify finds JSON object
x Test where field name is Fans
x Verify new object added to array
x Test where field name is Temperatures
x Verify new object added to array
x Test where field name is Voltages
x Verify new object added to array
x Verify PowerSupply objects sorted
x Verify PowerSupply objects have number appended to @odata.id property
x getChassisData()
x Verify debug log messages
x Verify inventory items successfully passed to getSensorData
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment