public async Task Send_with_envelopes_relays_to_retry_policy(bool canceled) { IFixture fixture = new Fixture().Customize(new AutoMoqCustomization()); IRetryPolicy retryPolicy = Mock.Of <IRetryPolicy>(); IMessageBus messageBus = Mock.Of <IMessageBus>(); var sut = new TransientFaultHandlingMessageBus(retryPolicy, messageBus); Envelope[] envelopes = new[] { new Envelope(new object()) }; var cancellationToken = new CancellationToken(canceled); await sut.Send(envelopes, cancellationToken); Func <IEnumerable <Envelope>, CancellationToken, Task> func = messageBus.Send; Mock.Get(retryPolicy).Verify( x => x.Run( It.Is <Func <IEnumerable <Envelope>, CancellationToken, Task> >( p => p.Method == func.Method && p.Target == func.Target), envelopes, cancellationToken), Times.Once()); }
public void constructor_sets_MessageBus_correctly() { IFixture fixture = new Fixture().Customize(new AutoMoqCustomization()); RetryPolicy retryPolicy = fixture.Create <RetryPolicy>(); IMessageBus messageBus = Mock.Of <IMessageBus>(); var sut = new TransientFaultHandlingMessageBus(retryPolicy, messageBus); sut.MessageBus.Should().BeSameAs(messageBus); }