jev-mock
A mock TypeSafe System One endpoint for tests: HTTP/2 over TLS on
loopback, a throwaway CA (ca_file()), every request recorded, answers
from a closure (Reply). It knows nothing about Postgres, so any Jev
client can test against it.
replay::Replay answers from a recorded fixture instead, keyed by the
exact request bytes (replay::Fixture, one JSON file of request and
response lists). A request the fixture lacks is answered with a 400 that
names it, and assert_complete (also run on drop) fails the test.
forward::Forward produces those fixtures: it passes each request to a
real endpoint with the API key and records the answer (fixture()). It
needs a multi-threaded tokio runtime. exchange(body) sends and records a
request built elsewhere, without the mock. tools/record-gates --send uses
both.