bmcweb being a user and network facing daemon, is subject to a vast array of tests and clients that could target it. The below attempts to provide a non-exhaustive list of tests and clients that bmcweb is expected to be compatible with, they are split into a couple categories. Entries in the test category are intended to be qualification tests to ensure the bmcweb meets the specification. Entries in the clients category are intended to host user-facing functionality.
The base expectation is that for master versions of bmcweb, and master versions of these tools, the tests pass 100%. There may be cases where we workaround limitations in the testing tools behavior within bmcweb to make the tools pass, regardless of whether there is user impact.
##Tests##
Redfish-Service-Validator: A tool to verify through GET requests that bmcweb properly implements the Redfish schemas in the responded Resource. git@github.com:DMTF/Redfish-Service-Validator.git
Status: 100% passing. Integrated with CI to ensure no regressions.
Redfish-Protocol-Validator: A tool to verify the protocol-level interactions with the Redfish wire-protocol, and checks those against the Redfish specification. git@github.com:DMTF/Redfish-Protocol-Validator.git
Status: 95+% of assertions passing. No CI integration.
OpenBMC-test-automation: A tool based on robot framework for testing some portion of the OpenBMC Redfish use cases.
Status: Passing for some machines with CI integration.
slowloris: A tool to verify timeouts and DOS attack mitigation is implemented properly. https://github.com/gkbrk/slowloris
Status: Passing, no automated enforcement.
testssl.sh: A tool for verifying the corectness of the bmcweb cipher suites against current recommended security standards https://github.com/drwetter/testssl.sh
Status: Unknown
##Clients##
fwupd: Is a client implementation that allows updating firmware components in a generic way, and includes redfish as one of its plugins. git@github.com:fwupd/fwupd.git
Status: Unknown
python-redfish-library: A python library used by a number of tools. git@github.com:DMTF/python-redfish-library.git
Status: Compatible
Redfish-Event-Listener: An example client for testing and implementing EventService handlers. https://github.com/DMTF/Redfish-Event-Listener
Status: Compatible. No CI integration.
Redfish-Tacklebox: A collection of common utilities for managing redfish servers git@github.com:DMTF/Redfish-Tacklebox.git
Status: Unknown.
redfishtool: A generic command line tool for reading and writing operations to the Redfish server. https://github.com/DMTF/Redfishtool
Status: Compatible. No automated testing.