Table of Contents

Class WorkflowStorageConformanceSuite

Namespace
Millrace.Storage.Verification
Assembly
Millrace.Storage.Verification.dll

The workflow-storage conformance suite: optimistic concurrency on instances and at-most-once bookmark consumption (ARCHITECTURE.md §4.2.4). The engine that drives this contract lands in 0.3; the contract freezes now.

public abstract class WorkflowStorageConformanceSuite
Inheritance
WorkflowStorageConformanceSuite
Inherited Members

Fields

Epoch

The instant every suite's fake clock starts at.

Methods

AssertJsonEqual(string, string?)

Data/cursor documents are JSON, not opaque strings: providers may normalize lexical formatting (jsonb whitespace/key order), so fidelity is asserted semantically.

Bookmark(TimeProvider, WorkflowInstanceId, string, string)

Builds a bookmark waiting on a named signal for one correlation id.

Concurrent_updates_have_exactly_one_winner()
Consume_breaks_created_at_ties_by_id()
Consume_is_at_most_once_under_contention()
Consume_returns_the_oldest_matching_bookmark()
Consume_with_no_match_returns_null()
CreateHarnessAsync(TimeProvider)

Creates a fresh, empty store bound to time.

Create_and_get_roundtrip_with_revision_one()
Create_normalizes_revision_to_one_regardless_of_input()
Duplicate_create_throws_concurrency_exception()
Instance(TimeProvider)

Builds a running instance at revision 1, the shape a create should store.

NewTime()

A fake clock starting at Epoch.

Update_of_missing_instance_throws_concurrency_exception()
Update_with_matching_revision_increments_it()
Update_with_stale_revision_throws_and_changes_nothing()