RecordingBdRunner class

A recording BdRunner (the grid_runtime fake shape): records full argv + stdin so a test asserts the EXACT bd commands, and create returns a caller-controlled synthetic id so the mint+stamp is exercised with no real bd.

Constructors

RecordingBdRunner({String createdId = 'tgdog-sess1'})
Creates the recorder; create returns createdId.

Properties

calls List<List<String>>
Full argv of every recorded bd call, in order.
final
exportBeads List<Bead>
Beads returned by the lifecycle probe reader. Default empty (a fresh store); molecule tests stage the OPEN molecule/step beads they expect targeted reads to see.
getter/setter pair
exportDependencies List<BeadDependency>
getter/setter pair
graphApplyCalls List<List<String>>
The bd create --graph <plan-file> … pours only (StationBeadWriter.createMolecule's mint) — disjoint from callsFor('create')'s plain single-bead creates, which never carry --graph.
no setter
graphApplyIds Map<String, String>
The key → id map the next bd create --graph invocation reports (applyGraph's data.ids) — StationBeadWriter.createMolecule's pour reads this back through BdCliService.applyGraph. A molecule-mode test stages the ids it expects instantiateMolecule's plan-local keys to receive.
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
neverShowOrSql bool
True if no call was bd show (forbidden on a controller path) and no call looks like raw SQL (defense — the chokepoint cannot issue SQL by construction).
no setter
openBeadsCallCount int
Number of purpose-shaped openBeads lifecycle reads.
getter/setter pair
openSupersedingCallCount int
Number of purpose-shaped openSuperseding lifecycle reads.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
stdins List<String?>
The --stdin payload of every recorded call (null when none), in order.
final

Methods

beadById(String id, {required Set<IssueType> types}) Future<Bead?>
callsFor(String sub) List<List<String>>
All calls whose leading subcommand is sub. For 'create', this INCLUDES graph-apply pours (create --graph …) — use graphApplyCalls to isolate those from a plain single-bead create.
metadataOfUpdate(int index) Map<String, dynamic>
The metadata object of the update call at index — decoded from --metadata '<json>' when present, else assembled from the op-shaped --set-metadata key=value pairs (BdCliService's atomic-merge emission).
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
openBeads({required Set<IssueType> types, Map<String, String> metadataAll = const {}, Map<String, String> metadataAny = const {}}) Future<List<Bead>>
openSuperseding(Set<String> priorIds) Future<List<Bead>>
run(List<String> args, {Duration? timeout, String? stdin}) Future<BdResult>
Runs bd <args>. Throws BdTimeoutException if the call exceeds timeout (the implementation kills the process tree); never throws for a non-zero exit — that is reported via BdResult.exitCode for the caller to route through BdCommandFailed.fromOutput.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited