12c615dffSEd Tanousbmcweb being a user and network facing daemon, is subject to a vast array of 22c615dffSEd Tanoustests and clients that could target it. The below attempts to provide a 32c615dffSEd Tanousnon-exhaustive list of tests and clients that bmcweb is expected to be 42c615dffSEd Tanouscompatible with, they are split into a couple categories. Entries in the test 52c615dffSEd Tanouscategory are intended to be qualification tests to ensure the bmcweb meets the 62c615dffSEd Tanousspecification. Entries in the clients category are intended to host user-facing 72c615dffSEd Tanousfunctionality. 82c615dffSEd Tanous 92c615dffSEd TanousThe base expectation is that for master versions of bmcweb, and master versions 102c615dffSEd Tanousof these tools, the tests pass 100%. There may be cases where we workaround 112c615dffSEd Tanouslimitations in the testing tools behavior within bmcweb to make the tools pass, 122c615dffSEd Tanousregardless of whether there is user impact. 132c615dffSEd Tanous 14a90d6630SNan Zhou## Tests 152c615dffSEd Tanous 162c615dffSEd TanousRedfish-Service-Validator: A tool to verify through GET requests that bmcweb 172c615dffSEd Tanousproperly implements the Redfish schemas in the responded Resource. 182c615dffSEd Tanousgit@github.com:DMTF/Redfish-Service-Validator.git 192c615dffSEd Tanous 202c615dffSEd TanousStatus: 100% passing. Integrated with CI to ensure no regressions. 212c615dffSEd Tanous 222c615dffSEd TanousRedfish-Protocol-Validator: A tool to verify the protocol-level interactions 232c615dffSEd Tanouswith the Redfish wire-protocol, and checks those against the Redfish 24*dfa3fdc3SPatrick Williamsspecification. git@github.com:DMTF/Redfish-Protocol-Validator.git 252c615dffSEd Tanous 262c615dffSEd TanousStatus: 95+% of assertions passing. No CI integration. 272c615dffSEd Tanous 282c615dffSEd TanousOpenBMC-test-automation: A tool based on robot framework for testing some 292c615dffSEd Tanousportion of the OpenBMC Redfish use cases. 302c615dffSEd Tanous 312c615dffSEd TanousStatus: Passing for some machines with CI integration. 322c615dffSEd Tanous 33*dfa3fdc3SPatrick Williamsslowloris: A tool to verify timeouts and DOS attack mitigation is implemented 34*dfa3fdc3SPatrick Williamsproperly. https://github.com/gkbrk/slowloris 352c615dffSEd Tanous 362c615dffSEd TanousStatus: Passing, no automated enforcement. 372c615dffSEd Tanous 382c615dffSEd Tanoustestssl.sh: A tool for verifying the corectness of the bmcweb cipher suites 392c615dffSEd Tanousagainst current recommended security standards 402c615dffSEd Tanoushttps://github.com/drwetter/testssl.sh 412c615dffSEd Tanous 422c615dffSEd TanousStatus: Unknown 432c615dffSEd Tanous 44a90d6630SNan Zhou## Clients 452c615dffSEd Tanous 462c615dffSEd Tanousfwupd: Is a client implementation that allows updating firmware components in a 472c615dffSEd Tanousgeneric way, and includes redfish as one of its plugins. 482c615dffSEd Tanousgit@github.com:fwupd/fwupd.git 492c615dffSEd Tanous 502c615dffSEd TanousStatus: Unknown 512c615dffSEd Tanous 522c615dffSEd Tanouspython-redfish-library: A python library used by a number of tools. 532c615dffSEd Tanousgit@github.com:DMTF/python-redfish-library.git 542c615dffSEd Tanous 552c615dffSEd TanousStatus: Compatible 562c615dffSEd Tanous 572c615dffSEd TanousRedfish-Event-Listener: An example client for testing and implementing 58*dfa3fdc3SPatrick WilliamsEventService handlers. https://github.com/DMTF/Redfish-Event-Listener 592c615dffSEd Tanous 602c615dffSEd TanousStatus: Compatible. No CI integration. 612c615dffSEd Tanous 622c615dffSEd TanousRedfish-Tacklebox: A collection of common utilities for managing redfish servers 632c615dffSEd Tanousgit@github.com:DMTF/Redfish-Tacklebox.git 642c615dffSEd Tanous 652c615dffSEd TanousStatus: Unknown. 662c615dffSEd Tanous 672c615dffSEd Tanousredfishtool: A generic command line tool for reading and writing operations to 68*dfa3fdc3SPatrick Williamsthe Redfish server. https://github.com/DMTF/Redfishtool 692c615dffSEd Tanous 702c615dffSEd TanousStatus: Compatible. No automated testing. 71