Example #1
0
        public void polling_client_retries_if_sqs_client_throws_on_receive()
        {
            // Arrange
            var exceptionSqsClient = new ExceptionalSqsClient();
            var pollster           = new SqsPollingClient(exceptionSqsClient);

            // Act
            var messages = 0;

            pollster.Listen(new SqsPollingClientSettings(
                                queueName: new SqsQueueName("test"),
                                callback: msgs => messages++,
                                longPollInterval: (0.5).Seconds(),
                                maxNumberOfMessages: SqsUtils.MAX_NUMBER_OF_MESSAGES_TO_FETCH,
                                waitTimeOnError: (0.5).Seconds()
                                ));

            // Assert
            Assert.IsTrue(Wait.For(() => exceptionSqsClient.Calls > 3, 10.Seconds()), "never got past the first receive call, calls = {0}", exceptionSqsClient.Calls);
            Assert.IsTrue(Wait.For(() => exceptionSqsClient.Threw, 1.Seconds()), "exception was never thrown in receive call");
            Assert.AreEqual(0, messages, "somehow received messages");
            pollster.Dispose();
        }
Example #2
0
        public void polling_client_retries_if_sqs_client_throws_on_receive()
        {
            // Arrange
            var exceptionSqsClient = new ExceptionalSqsClient();
            var pollster = new SqsPollingClient(exceptionSqsClient);

            // Act
            var messages = 0;
            pollster.Listen(new SqsPollingClientSettings(
                queueName: new SqsQueueName("test"),
                callback: msgs => messages++,
                longPollInterval: (0.5).Seconds(),
                maxNumberOfMessages: SqsUtils.MAX_NUMBER_OF_MESSAGES_TO_FETCH,
                waitTimeOnError: (0.5).Seconds()
            ));

            // Assert
            Assert.IsTrue(Wait.For(() => exceptionSqsClient.Calls > 3, 10.Seconds()), "never got past the first receive call, calls = {0}", exceptionSqsClient.Calls);
            Assert.IsTrue(Wait.For(() => exceptionSqsClient.Threw, 1.Seconds()), "exception was never thrown in receive call");
            Assert.AreEqual(0, messages, "somehow received messages");
            pollster.Dispose();
        }