xref: /openbmc/bmcweb/CLIENTS.md (revision dfa3fdc3)
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