Last active
August 5, 2019 19:58
-
-
Save smccarney/43b2fae304575302af61332a71280d74 to your computer and use it in GitHub Desktop.
Test Plan: Move power supplies to Power schema
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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