public void Build_should_return_valid_instance() { var sut = new RetryPolicyBuilder(); var result = sut.Build(); result.Should().NotBeNull(); }
public void WithDelayFactory_should_add_handler() { var sut = new RetryPolicyBuilder(); var handler = new DelayFactory(i => TimeSpan.Zero); sut.WithDelay(handler); sut.DelayFactory.Should().Be(handler); }
public void Handle_should_register_Exception() { var sut = new RetryPolicyBuilder(); var ex = new ArgumentException(); sut.ExceptionFilters.CanHandle(ex).Should().BeFalse(); sut.Handle <ArgumentException>(); sut.ExceptionFilters.CanHandle(ex).Should().BeTrue(); }
public void WithMaxRetries_should_set_max_retries() { var sut = new RetryPolicyBuilder(); sut.MaxRetries.Should().Be(1); sut.WithMaxRetries(42); sut.MaxRetries.Should().Be(42); }
public void OnException_should_add_handler() { var sut = new RetryPolicyBuilder(); sut.OnExceptionHandler.Should().BeNull(); Func <ExceptionContext, Task> handler = _ => Task.CompletedTask; sut.OnException(handler); sut.OnExceptionHandler.Should().NotBeNull(); }
public ISagaConfigurator <TS, TD> UseRetryPolicy <TM>(Action <RetryPolicyBuilder> builderAction) where TM : IMessage { if (builderAction == null) { throw new ArgumentNullException(nameof(builderAction)); } var builder = new RetryPolicyBuilder(); builderAction(builder); this.Services.AddTransient <IMessagePolicyFactory <TS, TM> >(_ => new MessagePolicyFactory <TS, TM>(builder)); return(this); }
public void OnException_should_throw_when_input_null() { var sut = new RetryPolicyBuilder(); Assert.Throws <ArgumentNullException>(() => sut.OnException(null)); }