示例#1
0
        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());
        }
示例#2
0
        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);
        }