예제 #1
0
 public void Poll_client_pulls_from_sqs_and_calls_callback()
 {
     var mockSqsClient = new MockSqsClient();
     mockSqsClient.FillQueue(15);
     var pollster = new SqsPollClient(mockSqsClient, TaskTimerFactory.Current);
     Assert.AreEqual(15, mockSqsClient.Queued.Count, "queue was accessed prematurely");
     var posted = new List<AwsSqsMessage>();
     pollster.Listen("foo", 300.Seconds(), posted.Add);
     Assert.IsTrue(Wait.For(() => mockSqsClient.Queued.Count == 0, 10.Seconds()), "queue did not get depleted in time");
     Assert.IsTrue(
         Wait.For(() => mockSqsClient.ReceiveCalled == 3, 5.Seconds()),
         string.Format("receive called the wrong number of times: {0} != {1}", 3, mockSqsClient.ReceiveCalled)
         );
     Assert.AreEqual(15, mockSqsClient.Delivered.Count, "delivered has the wrong number of messages");
     Assert.AreEqual(
         mockSqsClient.Delivered.Select(x => x.MessageId).ToArray(),
         mockSqsClient.Deleted.Select(x => x.MessageId).ToArray(),
         "delivered and deleted don't match"
         );
     Assert.AreEqual(
         mockSqsClient.Delivered.Select(x => x.MessageId).ToArray(),
         posted.Select(x => x.MessageId).ToArray(),
         "delivered and posted don't match"
         );
 }
예제 #2
0
        public void Poll_client_pulls_from_sqs_and_calls_callback()
        {
            var mockSqsClient = new MockSqsClient();

            mockSqsClient.FillQueue(15);
            var pollster = new SqsPollClient(mockSqsClient, TaskTimerFactory.Current);

            Assert.AreEqual(15, mockSqsClient.Queued.Count, "queue was accessed prematurely");
            var posted = new List <AwsSqsMessage>();

            pollster.Listen("foo", 300.Seconds(), posted.Add);
            Assert.IsTrue(Wait.For(() => mockSqsClient.Queued.Count == 0, 10.Seconds()), "queue did not get depleted in time");
            Assert.IsTrue(
                Wait.For(() => mockSqsClient.ReceiveCalled == 3, 5.Seconds()),
                string.Format("receive called the wrong number of times: {0} != {1}", 3, mockSqsClient.ReceiveCalled)
                );
            Assert.AreEqual(15, mockSqsClient.Delivered.Count, "delivered has the wrong number of messages");
            Assert.AreEqual(
                mockSqsClient.Delivered.Select(x => x.MessageId).ToArray(),
                mockSqsClient.Deleted.Select(x => x.MessageId).ToArray(),
                "delivered and deleted don't match"
                );
            Assert.AreEqual(
                mockSqsClient.Delivered.Select(x => x.MessageId).ToArray(),
                posted.Select(x => x.MessageId).ToArray(),
                "delivered and posted don't match"
                );
        }