Skip to content

v1.3.0

Latest

Choose a tag to compare

@olgerd007 olgerd007 released this 22 Oct 22:00
604639c

Added

  • TestDurableWorkflow.WithRetries simulates 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.WithSerialization optionally snapshots inputs, results, events, and custom
    status with the SDK JSON converter or a caller-supplied DataConverter. 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.Entities metadata
    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.
  • TestDurableWorkflow connects 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.
  • TestDurableTaskClient records 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.
  • TestOrchestrationContext supports 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.
  • ShouldMatchSnapshot extensions 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.