public MsmqEndpoint(IMsmqEndpointAddress address, IMessageSerializer serializer, IMsmqTransport transport, IMsmqTransport errorTransport) : base(address, serializer) { _tracker = new MessageRetryTracker(5); _transport = transport; _errorTransport = errorTransport; SetDisposedMessage(); }
public void IsLimitExceeded_return_false_untill_specified_limit_reached() { const int retryLimit = 5; var tracker = new MessageRetryTracker(retryLimit); const string id = "qelofjsw"; for (int i = 0; i < retryLimit; i++) { Assert.IsFalse(tracker.IsRetryLimitExceeded(id)); tracker.IncrementRetryCount(id); } Assert.IsTrue(tracker.IsRetryLimitExceeded(id)); }
public void Should_return_false_until_the_limit_is_exceeded() { const int retryLimit = 5; var tracker = new MessageRetryTracker(retryLimit); const string id = "qelofjsw"; Exception ex; for (int i = 0; i < retryLimit; i++) { Assert.IsFalse(tracker.IsRetryLimitExceeded(id, out ex)); tracker.IncrementRetryCount(id, ex); } Assert.IsTrue(tracker.IsRetryLimitExceeded(id, out ex)); }
public void Should_reset_once_the_message_was_received() { const int retryLimit = 5; var tracker = new MessageRetryTracker(retryLimit); const string id = "qelofjsw"; Assert.IsFalse(tracker.IsRetryLimitExceeded(id)); tracker.IncrementRetryCount(id); tracker.MessageWasReceivedSuccessfully(id); for (int i = 0; i < retryLimit; i++) { Assert.IsFalse(tracker.IsRetryLimitExceeded(id)); tracker.IncrementRetryCount(id); } Assert.IsTrue(tracker.IsRetryLimitExceeded(id)); }