Repository navigation
Added
TestDurableWorkflow.WithRetriessimulates SDK retry policies and handlers for activities and
children with manual time, bounded attempts, failure filters, and attempt diagnostics. Fresh
scopes and inspectable child retry IDs support failure/recovery tests.TestDurableTaskSequence<TResult>
supplies ordered results and failures with explicit exhaustion and reset. See the
retry guide.TestDurableWorkflow.WithSerializationoptionally snapshots inputs, results, events, and custom
status with the SDK JSON converter or a caller-suppliedDataConverter. Typed reads deserialize
independent values, metadata reuses captured payloads, and converter failures remain observable.
Direct assignment remains the default. See the
workflow guide.- Added opt-in
SnapshotSettings.NormalizeStringLineEndings()to compare JSON string values
across Windows and Linux. Decoded CRLF and CR become LF in actual and existing verified JSON
without rewriting reviewed files; literal backslash sequences and trailing newlines within
values are preserved. Reusable and global defaults retain the setting. See
snapshot line endings. - Durable Entity test helpers record orchestrator calls/signals, provide
client.Entitiesmetadata
fixtures and explicit query/cleanup handlers, and execute real SDK entity implementations against
serialized test-controlled state. Scenario diagnostics/reset include entity client interactions.
See the entity guide. TestDurableWorkflowconnects client scheduling to named orchestrators, activities, children,
and external events through host middleware and isolated DI scopes. Result and metadata waits,
manual context time, scenario diagnostics, and bounded cancellation/drain cleanup support
application workflow tests. See the connected workflow guide.TestDurableTaskClientrecords orchestration scheduling attempts and supports HTTP starter
tests using the SDK's status-response helpers. Management handlers cover termination, purge,
restart, rewind, and history retrieval. Ordered operation recording, fluent assertions, and
scenario-resource diagnostics/reset support client workflow tests.TestOrchestrationMetadataBuilder
supplies seeded metadata fixtures with typed payloads, status, failure details, and timestamps.
See the Durable client guide.TestOrchestrationContextsupports typed input, instance metadata, replay-aware logging, manually
advanced timers, buffered external events, child orchestration dispatch, and named activity handlers.
Fluent overrides configure metadata, GUID generation, version comparison, and entity stubs;
custom status and continuation requests are recorded for assertions. See the
Durable context guide and
complex orchestration recipes, with the
Azure Functions API reference.ShouldMatchSnapshotextensions support serializable values, inline settings, and named snapshot
variants. See snapshot naming and the
snapshot core API reference.- Added executable examples for complete application workflows, Durable orchestration, and
end-to-end integration flows.
Fixed
- Recorder-backed responses, including
SnapshotScenario()results, accept per-assertion HTTP
exchange options for additional scrubbing, omission, redaction, and format selection. Assertions
preserve the original recording and cannot restore data excluded or redacted during capture. - Durable orchestration tests can create and use replay-safe loggers without requiring a running
Durable runtime.
Upgrade notes
- See the Durable context upgrade guidance
for the new in-memory defaults and explicit control of time, events, and child dispatch. - See the snapshot upgrade guidance for
assertion-time exchange configuration and capture-time redaction limits. - Connected workflow retries, payload serialization, and JSON string line-ending normalization
are opt-in. Standalone contexts and existing snapshot assertions retain their documented defaults.
All XBullet.EasyTesting packages use version 1.3.0 and target .NET 8, 9, and 10.