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