Skip to main content

ProviderWireFixture

Struct ProviderWireFixture 

Source
pub struct ProviderWireFixture {
Show 17 fields pub driver: WireDriver, pub text_frames: Vec<WireInput>, pub expected_texts: Vec<&'static str>, pub tool_call_frames: Vec<WireInput>, pub expected_tool_name: &'static str, pub partial_tool_call_frames: Option<Vec<WireInput>>, pub terminal_frames: Vec<WireInput>, pub expected_usage_total: u64, pub expected_finish_reason: Option<FinishReason>, pub zero_usage_terminal_frames: Option<Vec<WireInput>>, pub bare_terminal_frames: Option<Vec<WireInput>>, pub malformed_frame: Option<WireInput>, pub unknown_event_frame: Option<WireInput>, pub defective_known_frame: Option<WireInput>, pub delta_less_prelude_frame: Option<WireInput>, pub refusal: Option<RefusalFixture>, pub interleaved_reasoning: Option<InterleavedReasoningFixture>,
}
Available on (crate features test-utils) and not (target_os=unknown and WebAssembly) only.
Expand description

Per-provider wire frames for the shared scenario set.

Option fields cover sequence shapes a wire family cannot spell (e.g. ollama’s NDJSON has no event types, so no “unknown event type” frame).

Fields§

§driver: WireDriver

The provider’s full pipeline.

§text_frames: Vec<WireInput>

Frames that deliver exactly the text deltas in expected_texts.

§expected_texts: Vec<&'static str>

The text deltas text_frames delivers, in order.

§tool_call_frames: Vec<WireInput>

Frames that fully deliver one tool call (including any completion signal the wire needs, but no stream terminal).

§expected_tool_name: &'static str

Name of the tool call tool_call_frames delivers.

§partial_tool_call_frames: Option<Vec<WireInput>>

Frames that leave a tool call mid-arguments, where the wire streams arguments incrementally.

§terminal_frames: Vec<WireInput>

The provider’s genuine stream terminal, carrying usage.

§expected_usage_total: u64

Total tokens terminal_frames reports.

§expected_finish_reason: Option<FinishReason>

Finish reason terminal_frames reports.

§zero_usage_terminal_frames: Option<Vec<WireInput>>

A genuine terminal that reports no usage metrics at all.

§bare_terminal_frames: Option<Vec<WireInput>>

A terminal signal that carries no data of its own (e.g. a bare [DONE]), for wires that have one.

§malformed_frame: Option<WireInput>

A frame that fails the wire decode entirely. None only for typed-event wires, whose SDK surfaces decode failures as transport errors — a frame-level corrupt input cannot be spelled there.

§unknown_event_frame: Option<WireInput>

An event type this client does not know, for typed-event wires.

§defective_known_frame: Option<WireInput>

A known event whose payload is schema-defective.

§delta_less_prelude_frame: Option<WireInput>

A delta-less choice prelude (the Azure prompt_filter_results shape).

§refusal: Option<RefusalFixture>

Refusal content frames, where the wire has a refusal channel.

§interleaved_reasoning: Option<InterleavedReasoningFixture>

The interleaving-boundary shape, where the wire’s reasoning identity is a constant per-stream minted key (its adapter synthesizes the reasoning ends other output implies).

Implementations§

Source§

impl ProviderWireFixture

Source

pub fn capabilities(&self) -> SuiteCapabilities

The capability set this fixture’s populated optional fields spell — the descriptor the suite macro gates scenarios on.

Deriving flags here (instead of hand-writing them per suite invocation) makes flag/fixture drift structurally impossible: a shape the fixture supplies is a declared capability, a shape it lacks is a visible named skip, and there is nothing else to keep in sync.

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> 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: Sized + 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: Sized + 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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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> WasmCompatSend for T
where T: Send,

Source§

impl<T> WasmCompatSync for T
where T: Sync,

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
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