public void WrapExceptionHandlerDoesNotExecuteCustomExHandlerIfMessageWasNotProcessed() { // Arrange var msg = new Message<int>(1); var ex = new MessageNotProcessedException(); var exFuncInvoked = false; this.MessageProcessor .Setup(x => x.OnMessageProcessingFailed(msg, ex, false)) .Verifiable(); var exHandler = this.MessageHandlerRegister.WrapExceptionHandler<int>((message, exception) => exFuncInvoked = true); // Test the the MessageProcessor is invoked! exHandler.Invoke(msg, ex); // Assert Assert.IsFalse(exFuncInvoked); this.MessageProcessor.Verify(x => x.OnMessageProcessingFailed(msg, ex, false), Times.Once()); }
public void WrapExceptionHandlerDoesNotExecuteCustomExHandlerIfMessageWasNotProcessed() { // Arrange var msg = new Message <int>(1); var ex = new MessageNotProcessedException(); var exFuncInvoked = false; this.MessageProcessor .Setup(x => x.OnMessageProcessingFailed(msg, ex, false)) .Verifiable(); var exHandler = this.MessageHandlerRegister.WrapExceptionHandler <int>((message, exception) => exFuncInvoked = true); // Test the the MessageProcessor is invoked! exHandler.Invoke(msg, ex); // Assert Assert.IsFalse(exFuncInvoked); this.MessageProcessor.Verify(x => x.OnMessageProcessingFailed(msg, ex, false), Times.Once()); }
public void WrapExceptionHandlerIndicatesMoveToDlqWhenRetryCountIsExceeded() { // Arrange var msg = new Message <int>(1); msg.RetryAttempts = 1000; // Ensure it exceeds the retry limit. var ex = new MessageNotProcessedException(); var exFuncInvoked = false; this.MessageProcessor .Setup(x => x.OnMessageProcessingFailed(msg, ex, true)) .Verifiable(); var exHandler = this.MessageHandlerRegister.WrapExceptionHandler <int>((message, exception) => exFuncInvoked = true); // Test that when the retry count is exceeded, the parameter 'moveMessageToDlq' is true. exHandler.Invoke(msg, ex); // Assert Assert.IsFalse(exFuncInvoked); this.MessageProcessor.Verify(x => x.OnMessageProcessingFailed(msg, ex, true), Times.Once()); }
public void WrapExceptionHandlerIndicatesMoveToDlqWhenRetryCountIsExceeded() { // Arrange var msg = new Message<int>(1); msg.RetryAttempts = 1000; // Ensure it exceeds the retry limit. var ex = new MessageNotProcessedException(); var exFuncInvoked = false; this.MessageProcessor .Setup(x => x.OnMessageProcessingFailed(msg, ex, true)) .Verifiable(); var exHandler = this.MessageHandlerRegister.WrapExceptionHandler<int>((message, exception) => exFuncInvoked = true); // Test that when the retry count is exceeded, the parameter 'moveMessageToDlq' is true. exHandler.Invoke(msg, ex); // Assert Assert.IsFalse(exFuncInvoked); this.MessageProcessor.Verify(x => x.OnMessageProcessingFailed(msg, ex, true), Times.Once()); }