public void ImplicitOperator_Test() { //Arrange var maxRenew = TimeSpan.FromMinutes(10); const int concurrentCalls = 10; var exceptionReceivedHandler = Substitute.For <Func <ExceptionReceivedEventArgs, Task> >(); var shouldCompleteOn = Substitute.For <Func <Exception, bool> >(); var sut = new MessagePumpBuilderOptions(exceptionReceivedHandler) { MaxAutoRenewDuration = maxRenew, MaxConcurrentCalls = concurrentCalls, ShouldCompleteOnException = shouldCompleteOn }; //Act MessageHandlerOptions result = sut; //Assert sut.ShouldCompleteOnException.Should().Be(shouldCompleteOn); result.Should().NotBeNull(); result.AutoComplete.Should().BeFalse(); result.MaxAutoRenewDuration.Should().Be(maxRenew); result.MaxConcurrentCalls.Should().Be(concurrentCalls); }
public void ImplicitOperator_Null_Test() { //Arrange var maxRenew = TimeSpan.FromMinutes(5); const int concurrentCalls = 1; MessagePumpBuilderOptions sut = null; //Act // ReSharper disable once ExpressionIsAlwaysNull MessageHandlerOptions result = sut; //Assert result.Should().NotBeNull(); result.ExceptionReceivedHandler.Should().NotBeNull(); result.AutoComplete.Should().BeFalse(); result.MaxAutoRenewDuration.Should().Be(maxRenew); result.MaxConcurrentCalls.Should().Be(concurrentCalls); }
static void Main() { //Replace connection string with a valid one var connection = new ServiceBusConnection("Endpoint=sb://somesbns.servicebus.windows.net/;SharedAccessKeyName=some-key;SharedAccessKey=fjsdjfkjsdakfjaskfjdskljfkdlsaf="); //Replace entity path with path to real entity on your ServiceBus namespace var receiver = new MessageReceiver(connection, "test"); //Create message pump options var options = new MessagePumpBuilderOptions(ExceptionReceivedHandler) { MaxConcurrentCalls = 10, ShouldCompleteOnException = ex => ex is ArgumentOutOfRangeException }; //Setup message pump with failure policy and back off delay strategy. receiver.ConfigureMessagePump() .WithMessageProcessor <SampleMessageProcessor>() .WithCloneMessageFailurePolicy(e => e is InvalidOperationException) .WithExponentialBackOffDelayStrategy() .Build(options); Console.WriteLine("Press any key to terminate!"); Console.Read(); }