Example #1
0
        public void Sending_to_non_existent_queue_sets_exception_in_result()
        {
            var sqs = new InMemorySqsClient();
            var r   = sqs.Send("foo", AwsSqsMessage.FromBody("foo"), new Result <AwsSqsSendResponse>()).Block();

            Assert.IsTrue(r.HasException);
        }
Example #2
0
        public void Delete_failure_sets_exception_in_result()
        {
            var sqs = new InMemorySqsClient();
            var r   = sqs.Delete(null, new Result <AwsSqsResponse>()).Block();

            Assert.IsTrue(r.HasException);
        }
Example #3
0
        public void Receiving_from_non_existent_queue_sets_exception_in_result()
        {
            var sqs = new InMemorySqsClient();
            var r   = sqs.Receive("foo", new Result <IEnumerable <AwsSqsMessage> >()).Block();

            Assert.IsTrue(r.HasException);
        }
Example #4
0
        public void Cannot_receive_a_message_to_a_non_existent_queue()
        {
            var sqs  = new InMemorySqsClient();
            var sent = AwsSqsMessage.FromBody("foo");

            try {
                sqs.Receive("bar", new Result <IEnumerable <AwsSqsMessage> >()).Wait();
                Assert.Fail("didn't throw");
            } catch (AwsSqsRequestException e) {
                Assert.AreEqual("AWS.SimpleQueueService.NonExistentQueue", e.Error.Code);
            }
        }
Example #5
0
        public void Can_create_and_delete_queues()
        {
            var sqs = new InMemorySqsClient();

            sqs.CreateQueue("bar", new Result <AwsSqsResponse>()).Wait();
            var queues = sqs.ListQueues(null, new Result <IEnumerable <string> >()).Wait();

            Assert.AreEqual(1, queues.Count());
            Assert.AreEqual("bar", queues.First());
            sqs.DeleteQueue("bar", new Result <AwsSqsResponse>()).Wait();
            queues = sqs.ListQueues(null, new Result <IEnumerable <string> >()).Wait();
            Assert.IsFalse(queues.Any());
        }
Example #6
0
        public void Can_delete_message_from_queue()
        {
            var sqs = new InMemorySqsClient();

            sqs.CreateQueue(new SqsQueueName("bar"));
            sqs.SendMessage(new SqsQueueName("bar"), "msg body");
            var receivedMessages = sqs.ReceiveMessages(new SqsQueueName("bar"), 0.Seconds(), 10).First();

            sqs.DeleteMessage(new SqsQueueName("bar"), receivedMessages.MessageReceipt);
            var remainingMessages = sqs.ReceiveMessages(new SqsQueueName("bar"), 0.Seconds(), 10);

            Assert.IsFalse(remainingMessages.Any());
        }
Example #7
0
        public void Can_round_trip_message_through_queue()
        {
            var sqs       = new InMemorySqsClient();
            var queueName = new SqsQueueName("bar");

            sqs.CreateQueue(queueName);
            sqs.SendMessage(queueName, "msg body");
            var messages = sqs.ReceiveMessages(queueName, 0.Seconds(), 10);

            Assert.AreEqual(1, messages.Count());
            var received = messages.First();

            Assert.AreEqual("msg body", received.Body);
        }
Example #8
0
        public void Can_see_messages_with_visibility_zero()
        {
            var sqs = new InMemorySqsClient();

            sqs.CreateQueue("bar", new Result <AwsSqsResponse>()).Wait();
            var sent      = sqs.Send("bar", AwsSqsMessage.FromBody("foo"), new Result <AwsSqsSendResponse>()).Wait();
            var received1 = sqs.Receive("bar", 10, TimeSpan.Zero, new Result <IEnumerable <AwsSqsMessage> >()).Wait();
            var received2 = sqs.Receive("bar", 10, TimeSpan.Zero, new Result <IEnumerable <AwsSqsMessage> >()).Wait();

            Assert.AreEqual(1, received1.Count());
            Assert.AreEqual(1, received2.Count());
            Assert.AreEqual(sent.MessageId, received1.First().MessageId);
            Assert.AreEqual(sent.MessageId, received2.First().MessageId);
        }
Example #9
0
        public void Can_create_and_delete_queues()
        {
            var sqs       = new InMemorySqsClient();
            var queueName = new SqsQueueName("bar");

            sqs.CreateQueue(queueName);
            var queues = sqs.ListQueues(null);

            Assert.AreEqual(1, queues.Count());
            Assert.AreEqual("bar", queues.First());
            sqs.DeleteQueue(queueName);
            queues = sqs.ListQueues(null);
            Assert.IsFalse(queues.Any());
        }
Example #10
0
        public void Can_round_trip_message_through_queue()
        {
            var sqs = new InMemorySqsClient();

            sqs.CreateQueue("bar", new Result <AwsSqsResponse>()).Wait();
            var sent = AwsSqsMessage.FromBody("foo");

            sqs.Send("bar", sent, new Result <AwsSqsSendResponse>()).Wait();
            var msgs = sqs.Receive("bar", new Result <IEnumerable <AwsSqsMessage> >()).Wait();

            Assert.AreEqual(1, msgs.Count());
            var received = msgs.First();

            Assert.AreEqual(sent.Body, received.Body);
        }
Example #11
0
        public void Can_delete_message_from_queue()
        {
            var sqs = new InMemorySqsClient();

            sqs.CreateQueue("bar", new Result <AwsSqsResponse>()).Wait();
            var sent = AwsSqsMessage.FromBody("foo");

            sqs.Send("bar", sent, new Result <AwsSqsSendResponse>()).Wait();
            var received = sqs.Receive("bar", 10, TimeSpan.Zero, new Result <IEnumerable <AwsSqsMessage> >()).Wait().First();

            sqs.Delete(received, new Result <AwsSqsResponse>()).Wait();
            var remaining = sqs.Receive("bar", 10, TimeSpan.Zero, new Result <IEnumerable <AwsSqsMessage> >()).Wait();

            Assert.IsFalse(remaining.Any());
        }
Example #12
0
        public void Receiving_from_non_existent_queue_throws()
        {
            var sqs = new InMemorySqsClient();

            sqs.ReceiveMessages(new SqsQueueName("foo"), 0.Seconds(), 10);
        }
Example #13
0
        public void Cannot_receive_a_message_to_a_non_existent_queue()
        {
            var sqs = new InMemorySqsClient();

            sqs.ReceiveMessages(new SqsQueueName("queuename"), 0.Seconds(), 10);
        }
Example #14
0
        public void Delete_failure_throws()
        {
            var sqs = new InMemorySqsClient();

            sqs.DeleteMessage(new SqsQueueName("non-existant"), new SqsMessageReceipt("msg receipt"));
        }
Example #15
0
        public void Sending_to_non_existent_queue_sets_exception_in_result()
        {
            var sqs = new InMemorySqsClient();

            sqs.SendMessage(new SqsQueueName("foo"), "msg body");
        }
Example #16
0
        public void Cannot_sent_a_message_to_a_non_existent_queue()
        {
            var sqs = new InMemorySqsClient();

            sqs.SendMessage(new SqsQueueName("myqueuename"), "message body");
        }