pub struct ScenarioDocument {
pub source_path: PathBuf,
pub route_source: RouteSource,
pub scenario: Vec<ScenarioAction>,
pub partners: Option<BTreeMap<String, Vec<PartnerScript>>>,
pub env: Option<BTreeMap<String, String>>,
pub env_passthrough: Option<Vec<String>>,
pub profile: Option<String>,
pub send_deadline: Option<Duration>,
pub inbound: Option<InboundListener>,
pub logs: Option<LogsAssertion>,
}Expand description
A parsed scenario document. Route file paths stay as declared; resolving them against the document directory or the project root is the runner’s job, the same split the unit-tier parser keeps.
Fields§
§source_path: PathBufThe document’s own path as parsed. The boot root may be a
nearest-ancestor Camel.toml directory rather than the
document’s directory, so the document directory travels with
the model: relative routeFiles anchor here (rc-jjzy5).
route_source: RouteSourceThe single declared route source.
scenario: Vec<ScenarioAction>Ordered scenario actions.
partners: Option<BTreeMap<String, Vec<PartnerScript>>>Document-level partner scripting, keyed by endpoint address. The grammar lives here; the runner consumes the map.
env: Option<BTreeMap<String, String>>Fixed fixture values for the scenario; the layered environment source reads these before any ambient value.
env_passthrough: Option<Vec<String>>Ambient variable names allowed to pass through to the scenario.
profile: Option<String>Profile pinned per document; an ambient profile would break hermeticity.
send_deadline: Option<Duration>Document-level bound for every send action (rc-tr4w): an
optional tighter deadline than the runner’s thirty-second
default, real time only (ADR-0069 §6).
inbound: Option<InboundListener>The document-level inbound: declaration (rc-5yon): the
harness binds 127.0.0.1:0, stages the listener on the HTTP
component’s global registry (ADR-0070), and exposes the bound
address under the named bind variable so route URIs interpolate
it. Provisioning runs behind the http feature; a declaration
in a build without the feature is a named load error (ADR-0069
§8 demand-gated activation).
logs: Option<LogsAssertion>The document-level logs: assertion block (rc-tdgh5):
optional; when present, the runner opens a capture window at
document start and evaluates the clauses against the captured
events after the action loop. Requires the harness’s capture
subscriber to own the process’s tracing seat (first-wins
try_init before the boot); otherwise the document fails
through the apparatus class.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ScenarioDocument
impl !UnwindSafe for ScenarioDocument
impl Freeze for ScenarioDocument
impl Send for ScenarioDocument
impl Sync for ScenarioDocument
impl Unpin for ScenarioDocument
impl UnsafeUnpin for ScenarioDocument
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request