- Initial version
- Add fake implementations of everything, including lots of new event types
- Collect handler exceptions in saga fixture
- Add
DeliverFailed
method toSagaFixture<>
, making is possible to simulate 2nd level dispatch (i.e. dispatching asIFailed<TMessage>
)
- Add
PrepareConflict<>
method toSagaFixture<>
, enabling controlled simulation of saga data update conflicts
- Fix type of event recorded when a message is deferred and explicitly routed at the same time - thanks rsivanov
- Add
FakeMessageContext
to make it easier to simulate message headers in tests
- Make properties of
FakeMessageContext
settable so they can be replaced after its creation
- Update to Rebus 6 - thanks rsivanov
- Add full .NET type information (including full assembly name) in JSON-serialized saga data in
SagaFixture
to work better with dynamically generated types - thanks fishie
- Add version constraint to Rebus dep
- Add
ThrowIfNotEmpty
extension forIEnumerable<HandlerException>
to make it easy to verify that no exceptions were thrown - thanks mclausen
- Do not enable 2nd level retries in saga fixture by default. Can be enabled by setting
secondLevelRetriesEnabled: true
when creating the saga fixture.
- Change API of
FakeMessageContext
to contain anIncomingStepContext
, which makes it possible to mock more stuff (notably, theCancellationToken
can be added)
- Add ability to customize saga serializer - thanks hdrachmann
- Expose parameters with default arguments on the generic saga fixture factory method
- Change how saga conflicts are simulated to enable staging conflicting data, thus making it possible to test conflicts in a much more realisting fashion
- Update Rebus dependency to 7 - thanks mclausen
- Update Rebus dependency to 8
- Add
FakeMessageContextScope
to make it easier to fake a message context so thatMessageContext.Current
will return something
- Add ability to configure a global customizer on
SagaFixture
by callingSetGlobalCustomizer
. The customizer is a normalRebusConfigurer
callback, which makes it easy to call own extension methods, set the message serializer, etc.