pub struct MockEndpointInner {
pub name: String,
/* private fields */
}Expand description
The actual data behind a mock endpoint. Shared across all MockEndpoint
instances created with the same name via MockComponent.
Use get_received_exchanges and assert_exchange_count to inspect
recorded exchanges in tests.
Fields§
§name: StringImplementations§
Source§impl MockEndpointInner
impl MockEndpointInner
Sourcepub async fn get_received_exchanges(&self) -> Vec<Exchange>
pub async fn get_received_exchanges(&self) -> Vec<Exchange>
Return a snapshot of all exchanges retained so far.
Sourcepub async fn received_count(&self) -> usize
pub async fn received_count(&self) -> usize
Return the number of currently retained exchanges.
Sourcepub async fn reset(&self)
pub async fn reset(&self)
Clear all retained exchanges and reset internal counters.
Useful between test cases to reuse the same mock endpoint.
Sourcepub async fn assert_exchange_count(&self, expected: usize)
pub async fn assert_exchange_count(&self, expected: usize)
Assert that exactly expected exchanges have been received.
§Panics
Panics if the count does not match.
Sourcepub async fn await_exchanges(&self, count: usize, timeout: Duration)
pub async fn await_exchanges(&self, count: usize, timeout: Duration)
Wait until at least count exchanges have been received, or panic on timeout.
Uses tokio::sync::Notify — no polling. Returns immediately if count
exchanges are already present.
§Panics
Panics if timeout elapses before count exchanges arrive.
Sourcepub async fn await_exchanges_with_timeout(
&self,
count: usize,
fallback: Duration,
)
pub async fn await_exchanges_with_timeout( &self, count: usize, fallback: Duration, )
Wait for exchanges with a configurable timeout derived from assert_period_ms.
If assert_period_ms is 0, uses the provided fallback duration.
Otherwise, waits for assert_period_ms milliseconds before checking.
Sourcepub fn exchange(&self, idx: usize) -> ExchangeAssert
pub fn exchange(&self, idx: usize) -> ExchangeAssert
Return an ExchangeAssert for the exchange at idx.
§Panics
Panics if idx is out of bounds. Always call await_exchanges first
to ensure the exchange has been received.
Panics if called from a single-threaded tokio runtime. Use
#[tokio::test(flavor = "multi_thread")] for tests that call this method.
Sourcepub fn expect_body(&self, body: Body)
pub fn expect_body(&self, body: Body)
Add an expected body to the expectations list.
Sourcepub fn expect_header(&self, key: &str, value: impl Into<Value>)
pub fn expect_header(&self, key: &str, value: impl Into<Value>)
Add an expected header key-value pair to the expectations list.
Sourcepub fn expect_header_regex(&self, key: &str, pattern: &str)
pub fn expect_header_regex(&self, key: &str, pattern: &str)
Add an expected header regex pattern to the expectations list.
After await_exchanges(), assert_satisfied() checks whether any
received exchange has the named header matching the given regex pattern.
Sourcepub async fn assert_satisfied(&self)
pub async fn assert_satisfied(&self)
Assert that all registered expectations are satisfied.
§Panics
Panics if expected bodies do not match received bodies (in order or any
order depending on any_order config), if expected headers are missing,
or if header regex patterns do not match.
Sourcepub fn fail_fast_error(&self) -> Option<CamelError>
pub fn fail_fast_error(&self) -> Option<CamelError>
Return the stored fail-fast error, if any.