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());
        }
Esempio n. 2
0
        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());
        }
Esempio n. 3
0
        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());
        }