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