Class CannotWaitForObserverCompletion
- Namespace
- Cratis.Chronicle.Observation
- Assembly
- Cratis.Chronicle.dll
The exception that is thrown when observer completion is waited for on an append result that carries no observer surface.
public class CannotWaitForObserverCompletion : Exception, ISerializable
- Inheritance
-
CannotWaitForObserverCompletion
- Implements
- Inherited Members
- Extension Methods
Remarks
Waiting is only meaningful against a connection that actually has observers behind it. The in-process testing
surfaces (EventScenario, EventStoreForTesting) run the event sequence without a silo, so no
projection, reducer or reactor ever runs from an append there and there is nothing whose completion could be
observed. Reporting success would let a spec assert that downstream work finished when none of it was ever
started, so the wait fails by name instead - assert on the scenario's own surface, or move the spec to an
out-of-process integration spec where observers genuinely run.
Constructors
CannotWaitForObserverCompletion(EventStoreName, EventSequenceId)
The exception that is thrown when observer completion is waited for on an append result that carries no observer surface.
public CannotWaitForObserverCompletion(EventStoreName eventStore, EventSequenceId eventSequenceId)
Parameters
eventStoreEventStoreNameThe EventStoreName the append targeted.
eventSequenceIdEventSequenceIdThe EventSequenceId the append targeted.
Remarks
Waiting is only meaningful against a connection that actually has observers behind it. The in-process testing
surfaces (EventScenario, EventStoreForTesting) run the event sequence without a silo, so no
projection, reducer or reactor ever runs from an append there and there is nothing whose completion could be
observed. Reporting success would let a spec assert that downstream work finished when none of it was ever
started, so the wait fails by name instead - assert on the scenario's own surface, or move the spec to an
out-of-process integration spec where observers genuinely run.