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>,
}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: WireDriverThe 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 strName 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: u64Total 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
impl ProviderWireFixture
Sourcepub fn capabilities(&self) -> SuiteCapabilities
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§
impl !Freeze for ProviderWireFixture
impl !RefUnwindSafe for ProviderWireFixture
impl !UnwindSafe for ProviderWireFixture
impl Send for ProviderWireFixture
impl Sync for ProviderWireFixture
impl Unpin for ProviderWireFixture
impl UnsafeUnpin for ProviderWireFixture
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more