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.