Module aws_smithy_runtime::client::http::test_util
source · Available on crate features
client
and test-util
only.Expand description
Various fake/mock clients for testing.
Each test client is useful for different test use cases:
capture_request()
: If you don’t care what the response is, but just want to check that the serialized request is what you expect, then usecapture_request
. Or, alternatively, if you don’t care what the request is, but want to always respond with a given response, then capture request can also be useful since you can optionally give it a response to return.dvr
: If you want to record real-world traffic and then replay it later, then DVR’sRecordingClient
andReplayingClient
can accomplish this, and the recorded traffic can be saved to JSON and checked in. Note: if the traffic recording has sensitive information in it, such as signatures or authorization, you will need to manually scrub this out if you intend to store the recording alongside your tests.StaticReplayClient
: If you want to have a set list of requests and their responses in a test, then the static replay client will be useful. On construction, it takes a list of request/response pairs that represent each expected request and the response for that test. At the end of the test, you can ask the client to verify that the requests matched the expectations.infallible_client_fn
: Allows you to create a client from an infallible function that takes a request and returns a response.NeverClient
: Useful for testing timeouts, where you want the client to never respond.
There is also the NeverTcpConnector
, which makes it easy to test connect/read timeouts.
Finally, for socket-level mocking, see the wire
module.
Modules§
- dvr
connector-hyper-0-14-x
Extremely Experimental Test Connection - wire
connector-hyper-0-14-x
andwire-mock
Utilities for mocking at the socket level
Structs§
- Test Connection to capture a single request
- Receiver for
CaptureRequestHandler
. - A client that will never respond.
- NeverTcpConnector
connector-hyper-0-14-x
A TCP connector that never connects. - Test data for the
StaticReplayClient
. - Request/response replaying client for use in tests.
Functions§
- Test connection used to capture a single request
- Create a
SharedHttpClient
fromFn(http:Request) -> http::Response