Skip to main content

ruststream_fred/testing/
mod.rs

1//! In-process Redis test driver used by handler integration tests.
2//!
3//! Gated by the `testing` cargo feature. The broker is a synchronous dispatcher: `publish` fans the
4//! message out to every subscriber whose stream key matches exactly. Public surface:
5//!
6//! * [`RedisTestBroker`] - `Broker` impl backed by an in-process key router;
7//! * [`RedisTestPublisher`] - `Publisher`;
8//! * [`RedisTestSubscriber`] / [`RedisTestMessage`] - `Subscriber` and `IncomingMessage` impls with
9//!   `nack(requeue = true)` redelivery (re-sent into the same subscriber's queue);
10//! * [`RedisTestClient`] - `TestClient` driver consumed by the conformance harness.
11//!
12//! No `redis-server`, no docker, no network. Broker-specific edge cases (consumer-group cursors,
13//! `XAUTOCLAIM` redelivery, idle reclaim, `MAXLEN` trimming, dead-letter routing) are out of scope
14//! here. Exercise them against a real Redis server.
15
16mod broker;
17mod client;
18mod publisher;
19mod router;
20mod subscriber;
21
22pub use broker::RedisTestBroker;
23pub use client::RedisTestClient;
24pub use publisher::RedisTestPublisher;
25pub use subscriber::{RedisTestMessage, RedisTestSubscriber};