Skip to content

Testing: Scenario harness (T-01) #335

Closed

Description

@jsam

Part of the test strategy (captain, 2026-10-05: scenarios that test the changes together; cleaner, faster suites; TESTING.md). Epic #305.

Scope. tests/scenarios/main.rs (test = true, debug-capable) built on inputlayer-testkit. Move tests/e2e_reactive/* in as scenarios::reactive, scenarios::stream, scenarios::delivery, scenarios::wire unchanged; keep make e2e-reactive as the release run that writes latency samples. Testkit additions: EngineBuilder::views(Mode) writing engine.views once V2 defines it (until then the builder accepts the mode and the maintained value is refused with a clear panic), Mode::from_env("INPUTLAYER_SCENARIO_VIEWS"); memory_limits, max_query_cost, nesting_limit settings; Engine::metrics() -> Counters from /metrics/prometheus with Option fields; Engine::create_user, grant, WsClient::connect_with_key; WsClient::execute_expecting(program, revision, scope) and execute_at (sends at and reads revision from the reply; both Option until V9/V13); Fixture::shop_pack(size) with the rules in report Section 7.2 (the near rule only in Size::Vector).

Acceptance. cargo test --test scenarios runs the 14 moved scenarios green in debug in under 60 s on 4 cores; INPUTLAYER_SCENARIO_VIEWS=maintained cargo test --test scenarios fails fast with the "mode not available" message until V2; make lint covers the binary; shop_pack(Size::Small) installs in under 200 ms; Counters::rule_evaluations is None on this engine and the helper's unit test shows a parsed sample.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions