1# Client overview 2 3bmcweb being a user and network facing daemon, is subject to a vast array of 4tests and clients that could target it. The below attempts to provide a 5non-exhaustive list of tests and clients that bmcweb is expected to be 6compatible with, they are split into a couple categories. Entries in the test 7category are intended to be qualification tests to ensure the bmcweb meets the 8specification. Entries in the clients category are intended to host user-facing 9functionality. 10 11The base expectation is that for master versions of bmcweb, and master versions 12of these tools, the tests pass 100%. There may be cases where we workaround 13limitations in the testing tools behavior within bmcweb to make the tools pass, 14regardless of whether there is user impact. 15 16## Tests 17 18Redfish-Service-Validator: A tool to verify through GET requests that bmcweb 19properly implements the Redfish schemas in the responded Resource. 20git@github.com:DMTF/Redfish-Service-Validator.git 21 22Status: 100% passing. Integrated with CI to ensure no regressions. 23 24Redfish-Protocol-Validator: A tool to verify the protocol-level interactions 25with the Redfish wire-protocol, and checks those against the Redfish 26specification. git@github.com:DMTF/Redfish-Protocol-Validator.git 27 28Status: 100% of assertions passing. No CI integration. 29 30OpenBMC-test-automation: A tool based on robot framework for testing some 31portion of the OpenBMC Redfish use cases. 32 33Status: Passing for some machines with CI integration. 34 35slowloris: A tool to verify timeouts and DOS attack mitigation is implemented 36properly. <https://github.com/gkbrk/slowloris> 37 38Status: Passing, no automated enforcement. 39 40testssl.sh: A tool for verifying the correctness of the bmcweb cipher suites 41against current recommended security standards 42<https://github.com/drwetter/testssl.sh> 43 44Status: Unknown 45 46## Clients 47 48fwupd: Is a client implementation that allows updating firmware components in a 49generic way, and includes redfish as one of its plugins. 50git@github.com:fwupd/fwupd.git 51 52Status: Unknown 53 54python-redfish-library: A python library used by a number of tools. 55git@github.com:DMTF/python-redfish-library.git 56 57Status: Compatible 58 59Redfish-Event-Listener: An example client for testing and implementing 60EventService handlers. <https://github.com/DMTF/Redfish-Event-Listener> 61 62Status: Compatible. No CI integration. 63 64Redfish-Tacklebox: A collection of common utilities for managing redfish servers 65git@github.com:DMTF/Redfish-Tacklebox.git 66 67Status: Unknown. 68 69redfishtool: A generic command line tool for reading and writing operations to 70the Redfish server. <https://github.com/DMTF/Redfishtool> 71 72Status: Compatible. No automated testing. 73