Skip to main content

Crate camel_integration_test

Crate camel_integration_test 

Source
Expand description

Integration-tier test support for rust-camel (ADR-0069).

This crate owns the scenario model: the parsing of .test.yaml documents that declare a scenario: section, the ordered action vocabulary (send, receive, sleep, validate), endpoint references with partner provisioning, and the document-level rules that keep the scenario vocabulary separate from the unit-tier vocabulary (inputs, expects, intercepts).

The tier derivation, the layered environment source, the action runner, and the partner adapters are built on the model types defined here.

The system under test is always an embedded boot. The harness never drives a deployed camel run process.

Re-exports§

pub use adapters::DirectStimulus;
pub use adapters::FakeAdapter;
pub use adapters::FakeRecorder;
pub use adapters::IncomingMessage;
pub use adapters::OutgoingMessage;
pub use adapters::PartnerAdapter;
pub use adapters::PartnerRouter;
pub use adapters::ReceiveError;
pub use adapters::ReceiveTimeout;
pub use adapters::RecordedSend;
pub use adapters::TransportError;
pub use boot_scenario::ScenarioRun;
pub use boot_scenario::boot_scenario;
pub use document::DocError;
pub use document::EndpointRef;
pub use document::InboundListener;
pub use document::PartnerFault;
pub use document::PartnerScript;
pub use document::PartnerScriptResponse;
pub use document::Provisioning;
pub use document::RouteSource;
pub use document::ScenarioAction;
pub use document::ScenarioDocument;
pub use document::ScenarioTarget;
pub use document::SqlTarget;
pub use document::ValidateExpectation;
pub use document::parse_scenario_document;
pub use env_layers::AmbientLookup;
pub use env_layers::LayeredEnv;
pub use env_layers::ambient_std;
pub use log_capture::LogEvent;
pub use log_capture::WindowHandle;
pub use log_capture::capture_installed;
pub use log_capture::ensure_capture_subscriber;
pub use runner::DocumentOutcome;
pub use runner::ScenarioFailure;
pub use runner::ScenarioVars;
pub use runner::ScenarioVerdict;
pub use runner::run_scenario;
pub use runner::run_scenario_document;
pub use sql_action::RawSqlAction;
pub use sql_action::SQL_ACTION_KEY;
pub use sql_action::SQL_MEMORY_NOT_SHARED;
pub use sql_action::SqlAction;
pub use sql_action::ensure_sqlite_memory_shared;
pub use sql_action::is_read_statement;
pub use sql_action::sanitize_db_error;
pub use sql_action::validate_sql_action;
pub use tier::DocumentInputs;
pub use tier::Tier;
pub use tier::derive_tier;

Modules§

adapters
Partner adapters and the endpoint-keyed router (ADR-0069 §5, §7).
boot_scenario
The embedded FULL-tier scenario boot (ADR-0069 sections 4, 5, 10).
document
Scenario document model, parsing, and validation (ADR-0069 sections 1-2).
env_layers
Layered hermetic environment source (ADR-0069 §4).
log_capture
Process-global log capture (rc-tdgh5): the capture subscriber, the open windows, and the captured events behind the scenario tier’s document-level logs: assertions. The harness claims the process’s tracing seat before the composition root’s boot (first-wins try_init); when it owns the seat, log_capture::CaptureLayer attributes every event to every open window whose [opened_at, now) interval contains the event timestamp. Process-global log capture for the scenario tier’s document-level logs: assertions (rc-tdgh5).
runner
The scenario action runner (ADR-0069 §5, §7).
sql_action
Scenario sql: action — datasource state preparation for the integration tier (bd rc-25lup.1).
tier
Pure tier derivation (ADR-0069 section 1).

Structs§

PartnerExpectation
A recorded-request expectation: a count bound plus optional method, path, and query subset filters.
RowsExpectation
The sql-target row-shape expectation: exactly one row shape is populated at parse time — concrete row patterns or a row-count bound (rows XOR bound).

Enums§

CountBound
The recorded-request count bound of a RequestExpectation: exactly one bound form per expectation. Poll semantics per bound (arrivals only add, so the filtered count is monotone non-decreasing):
Expectation
A validation expectation. The grammar keys mirror the mock-testkit matcher rules: equals, regex, contains, startsWith, endsWith, exists, jsonSubset.
PathFilter
The path filter of a RequestExpectation over the recorded path-and-query; at most one filter per expectation.