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