Skip to main content

MockProvider

Struct MockProvider 

Source
pub struct MockProvider { /* private fields */ }
Expand description

A queue-based mock provider for unit and integration tests.

Push responses with queue_response and errors with queue_error. Each call to generate or stream pops from the front of the respective queue.

Every call records its ChatParams for later assertion via recorded_calls.

§Panics

generate panics if the response queue is empty. stream panics if the stream queue is empty.

Implementations§

Source§

impl MockProvider

Source

pub fn new(meta: ProviderMetadata) -> Self

Creates a new mock with the given metadata and empty queues.

Source

pub fn queue_response(&self, response: ChatResponse) -> &Self

Enqueues a successful response for the next generate call.

Source

pub fn queue_error(&self, error: MockError) -> &Self

Enqueues an error for the next generate call.

Source

pub fn queue_stream(&self, events: Vec<StreamEvent>) -> &Self

Enqueues stream events for the next stream call.

Source

pub fn queue_stream_error(&self, error: MockError) -> &Self

Enqueues an error for the next stream call.

The error is returned from stream() itself (before any events are yielded), simulating failures like authentication errors or network issues that prevent the stream from starting.

Source

pub fn recorded_calls(&self) -> Vec<ChatParams>

Returns a clone of all ChatParams passed to generate or stream, in call order.

Trait Implementations§

Source§

impl Debug for MockProvider

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Provider for MockProvider

Source§

async fn generate(&self, params: &ChatParams) -> Result<ChatResponse, LlmError>

Sends a chat completion request and returns the full response.
Source§

async fn stream(&self, params: &ChatParams) -> Result<ChatStream, LlmError>

Sends a chat completion request and returns a stream of events. Read more
Source§

fn metadata(&self) -> ProviderMetadata

Returns static metadata describing this provider instance.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> DynProvider for T
where T: Provider,

Source§

fn generate_boxed<'a>( &'a self, params: &'a ChatParams, ) -> Pin<Box<dyn Future<Output = Result<ChatResponse, LlmError>> + Send + 'a>>

Boxed-future version of Provider::generate.
Source§

fn stream_boxed<'a>( &'a self, params: &'a ChatParams, ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = Result<StreamEvent, LlmError>> + Send>>, LlmError>> + Send + 'a>>

Boxed-future version of Provider::stream.
Source§

fn metadata(&self) -> ProviderMetadata

Returns static metadata describing this provider instance.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more