public void WillIgnorePosionMessageExceptions() { var processor = new FakeMessageProcessor <Object>(); var bus = new OptimisticMessageSender <Object>(processor); var ex = new InvalidOperationException(); bus.Send(new Message <Object>(Guid.NewGuid(), HeaderCollection.Empty, new Object())); processor.WaitForMessage(); processor.ThrowException(ex); processor.ProcessNextMessage(); bus.Dispose(); }
public void WillMoveMessageToPoisonQueueIfUnableToProcessMessage() { var message = testQueue.SendMessage("Test Message"); using (new MessageReceiver <String>(TestMessageQueue.Path, new BinarySerializer(), messageProcessor)) { messageProcessor.WaitForMessage(); messageProcessor.ThrowException(new InvalidOperationException()); } using (var poisonQueue = TestMessageQueue.Create("poison")) Assert.NotNull(poisonQueue.PeekById(message.Id)); }
public void WillRemoveFromQueueIfUnableToProcessMessage() { var processor = new FakeMessageProcessor <Object>(); var bus = new OptimisticMessageSender <Object>(processor, 1); var ex = new InvalidOperationException(); var attempt = 0; bus.Send(new Message <Object>(Guid.NewGuid(), HeaderCollection.Empty, new Object())); processor.WaitForMessage(); processor.ThrowException(ex); processor.ProcessNextMessage(); while (bus.Count > 0 && attempt < 10) { Thread.Sleep(100); } Assert.Equal(0, bus.Count); }
public void WillIgnorePosionMessageExceptions() { var processor = new FakeMessageProcessor<Object>(); var bus = new OptimisticMessageSender<Object>(processor); var ex = new InvalidOperationException(); bus.Send(new Message<Object>(Guid.NewGuid(), HeaderCollection.Empty, new Object())); processor.WaitForMessage(); processor.ThrowException(ex); processor.ProcessNextMessage(); bus.Dispose(); }
public void WillRemoveFromQueueIfUnableToProcessMessage() { var processor = new FakeMessageProcessor<Object>(); var bus = new OptimisticMessageSender<Object>(processor, 1); var ex = new InvalidOperationException(); var attempt = 0; bus.Send(new Message<Object>(Guid.NewGuid(), HeaderCollection.Empty, new Object())); processor.WaitForMessage(); processor.ThrowException(ex); processor.ProcessNextMessage(); while (bus.Count > 0 && attempt < 10) Thread.Sleep(100); Assert.Equal(0, bus.Count); }