Class FlowStep
- Namespace
- Kuestenlogik.Bowire.Flows
- Assembly
- Kuestenlogik.Bowire.Flows.dll
One step inside a Flow. Each step type uses different fields; common
ones are first, type-specific ones tail off into Body /
Service / etc. Lives separately from CapturedFlow
(Proxy capture record) — the names collide intentionally, the domains
don't.
public sealed class FlowStep
- Inheritance
-
FlowStep
- Inherited Members
Constructors
FlowStep()
public FlowStep()
Properties
Assertions
Legacy v2.1 assertion tuples ({path, op, value}). Round-tripped through FromLegacyTuple(string?, string?, string?) when the runner builds the live expectation list — covered by EffectiveExpectations().
[JsonPropertyName("assertions")]
public List<LegacyAssertionTuple>? Assertions { get; set; }
Property Value
Body
Request body (request steps); usually JSON text.
[JsonPropertyName("body")]
public string? Body { get; set; }
Property Value
Data
Data-driven parameterisation (#174). Null → the step runs once; otherwise once per row, with the row's columns joining the variable-resolver scope.
[JsonPropertyName("data")]
public FlowDataSource? Data { get; set; }
Property Value
Expectations
Expectations to evaluate after the request returns. v2.2 schema. Optional + defaults to empty so v2.1 flows load unchanged.
[JsonPropertyName("expectations")]
public List<FlowExpectation> Expectations { get; set; }
Property Value
Id
Stable step id ("node_…") assigned when the workbench created it.
[JsonPropertyName("id")]
public string Id { get; set; }
Property Value
Method
Method name (request steps).
[JsonPropertyName("method")]
public string? Method { get; set; }
Property Value
Protocol
Protocol id ("rest" / "grpc" / …) — request steps only.
[JsonPropertyName("protocol")]
public string? Protocol { get; set; }
Property Value
ServerUrl
Target server URL override (request steps).
[JsonPropertyName("serverUrl")]
public string? ServerUrl { get; set; }
Property Value
Service
Service name (request steps).
[JsonPropertyName("service")]
public string? Service { get; set; }
Property Value
Snapshot
Snapshot baseline config (#171). Null → no snapshotting for this step; presence opts the step into capture-once / diff-on-change.
[JsonPropertyName("snapshot")]
public FlowSnapshotConfig? Snapshot { get; set; }
Property Value
Type
request / condition / delay / variable / loop.
[JsonPropertyName("type")]
public string Type { get; set; }
Property Value
Methods
EffectiveExpectations()
Resolved expectation list: v2.2 Expectations verbatim plus any v2.1 Assertions projected through the legacy adapter. The CLI runner consumes this, not the raw lists.
public IReadOnlyList<FlowExpectation> EffectiveExpectations()