Esempio n. 1
0
        public async Task ReceiveMessageAsync()
        {
            var rsmq = new Rsmq();
            await rsmq.CreateQueueAsync(new CreateQueueOptions { QueueName = Global.QueueName });

            var msgId1 = await rsmq.SendMessageAsync(new SendMessageOptions { QueueName = Global.QueueName, Message = "hello1" });

            var msgId2 = await rsmq.SendMessageAsync(new SendMessageOptions { QueueName = Global.QueueName, Message = "hello2" });

            var message1 = await rsmq.ReceiveMessageAsync(new ReceiveMessageOptions { QueueName = Global.QueueName });

            var message2 = await rsmq.ReceiveMessageAsync(new ReceiveMessageOptions { QueueName = Global.QueueName });

            Assert.NotNull(message1);
            Assert.NotNull(message2);

            Assert.AreEqual("hello1", message1.Message);
            Assert.AreEqual("hello2", message2.Message);

            Assert.AreEqual(msgId1, message1.Id);
            Assert.AreEqual(msgId2, message2.Id);

            Assert.AreEqual(1, await rsmq.DeleteMessageAsync(new DeleteMessageOptions {
                QueueName = Global.QueueName, Id = msgId1
            }));
            Assert.AreEqual(1, await rsmq.DeleteMessageAsync(new DeleteMessageOptions {
                QueueName = Global.QueueName, Id = msgId2
            }));
        }
Esempio n. 2
0
        public void DeleteQueueWithErrorAsync()
        {
            var rsmq = new Rsmq();

            Assert.ThrowsAsync <InvalidFormatException>(async() => await rsmq.DeleteQueueAsync(new DeleteQueueOptions {
                QueueName = Global.WrongQueueNameFormat
            }));
        }
Esempio n. 3
0
        public void DeleteQueueWithError()
        {
            var rsmq = new Rsmq();

            Assert.Throws <InvalidFormatException>(() => rsmq.DeleteQueue(new DeleteQueueOptions {
                QueueName = Global.WrongQueueNameFormat
            }));
        }
Esempio n. 4
0
        public async Task DeleteQueueAsync()
        {
            var rsmq = new Rsmq();
            await rsmq.CreateQueueAsync(new CreateQueueOptions { QueueName = Global.QueueName });

            Assert.AreEqual(1, (await rsmq.ListQueuesAsync()).Count());
            await rsmq.DeleteQueueAsync(new DeleteQueueOptions { QueueName = Global.QueueName });

            Assert.Zero((await rsmq.ListQueuesAsync()).Count());
        }
Esempio n. 5
0
        public void GetQueueAttributesWithErrorAsync()
        {
            var rsmq = new Rsmq();

            Assert.ThrowsAsync <QueueNotFoundException>(async() => await rsmq.GetQueueAttributesAsync(new GetQueueAttributesOptions {
                QueueName = Global.QueueName
            }));
            Assert.ThrowsAsync <InvalidFormatException>(async() => await rsmq.GetQueueAttributesAsync(new GetQueueAttributesOptions {
                QueueName = Global.WrongQueueNameFormat
            }));
        }
Esempio n. 6
0
        public async Task CreateQueueAsync(string value)
        {
            var rsmq = new Rsmq();

            Assert.AreEqual(1, await rsmq.CreateQueueAsync(new CreateQueueOptions {
                QueueName = value
            }));

            var queues = await rsmq.ListQueuesAsync();

            Assert.Contains(value, queues.ToArray());
        }
Esempio n. 7
0
        public void CreateQueue(string value)
        {
            var rsmq = new Rsmq();

            Assert.AreEqual(1, rsmq.CreateQueue(new CreateQueueOptions {
                QueueName = value
            }));

            var queues = rsmq.ListQueues();

            Assert.Contains(value, queues.ToArray());
        }
Esempio n. 8
0
        public void DeleteQueue()
        {
            var rsmq = new Rsmq();

            rsmq.CreateQueue(new CreateQueueOptions {
                QueueName = Global.QueueName
            });
            Assert.AreEqual(1, rsmq.ListQueues().Count());
            rsmq.DeleteQueue(new DeleteQueueOptions {
                QueueName = Global.QueueName
            });
            Assert.Zero(rsmq.ListQueues().Count());
        }
Esempio n. 9
0
        public async Task DeleteMessageAsync()
        {
            var rsmq = new Rsmq();
            await rsmq.CreateQueueAsync(new CreateQueueOptions { QueueName = Global.QueueName });

            var msgId = await rsmq.SendMessageAsync(new SendMessageOptions { QueueName = Global.QueueName, Message = "hello" });

            Assert.AreEqual(1, await rsmq.DeleteMessageAsync(new DeleteMessageOptions {
                QueueName = Global.QueueName, Id = msgId
            }));
            Assert.Zero(await rsmq.DeleteMessageAsync(new DeleteMessageOptions {
                QueueName = Global.QueueName, Id = "0123456789abcdefghijklmnopqrstuv"
            }));
        }
Esempio n. 10
0
        public async Task ListQueuesAsync()
        {
            var rsmq   = new Rsmq();
            var queues = await rsmq.ListQueuesAsync();

            Assert.Zero(queues.Count());

            await rsmq.CreateQueueAsync(new CreateQueueOptions { QueueName = Global.QueueName });

            queues = await rsmq.ListQueuesAsync();

            Assert.AreEqual(queues.Count(), 1);
            Assert.Contains(Global.QueueName, queues.ToArray());
        }
Esempio n. 11
0
        public async Task CreateQueueWithErrorAsync()
        {
            var rsmq = new Rsmq();

            Assert.ThrowsAsync <MissingParameterException>(async() => await rsmq.CreateQueueAsync(new CreateQueueOptions {
                QueueName = null
            }));
            Assert.ThrowsAsync <InvalidFormatException>(async() => await rsmq.CreateQueueAsync(new CreateQueueOptions {
                QueueName = Global.WrongQueueNameFormat
            }));

            var queues = await rsmq.ListQueuesAsync();

            Assert.Zero(queues.Count());
        }
Esempio n. 12
0
        public void ListQueues()
        {
            var rsmq   = new Rsmq();
            var queues = rsmq.ListQueues();

            Assert.Zero(queues.Count());

            rsmq.CreateQueue(new CreateQueueOptions {
                QueueName = Global.QueueName
            });

            queues = rsmq.ListQueues();
            Assert.AreEqual(queues.Count(), 1);
            Assert.Contains(Global.QueueName, queues.ToArray());
        }
Esempio n. 13
0
        public void CreateQueueWithError()
        {
            var rsmq = new Rsmq();

            Assert.Throws <MissingParameterException>(() => rsmq.CreateQueue(new CreateQueueOptions {
                QueueName = null
            }));
            Assert.Throws <InvalidFormatException>(() => rsmq.CreateQueue(new CreateQueueOptions {
                QueueName = Global.WrongQueueNameFormat
            }));

            var queues = rsmq.ListQueues();

            Assert.Zero(queues.Count());
        }
Esempio n. 14
0
        public async Task PopMessageAsync()
        {
            var rsmq = new Rsmq();
            await rsmq.CreateQueueAsync(new CreateQueueOptions { QueueName = Global.QueueName });

            var msgId = await rsmq.SendMessageAsync(new SendMessageOptions { QueueName = Global.QueueName, Message = "hello" });

            var poppedMessage = await rsmq.PopMessageAsync(new PopMessageOptions { QueueName = Global.QueueName });

            Assert.AreEqual(msgId, poppedMessage.Id);

            Assert.Zero(await rsmq.DeleteMessageAsync(new DeleteMessageOptions {
                QueueName = Global.QueueName, Id = msgId
            }));
        }
Esempio n. 15
0
        public async Task ChangeMessageVisibilityAsync()
        {
            var rsmq = new Rsmq();
            await rsmq.CreateQueueAsync(new CreateQueueOptions { QueueName = Global.QueueName });

            var msgId = await rsmq.SendMessageAsync(new SendMessageOptions { QueueName = Global.QueueName, Message = "hello" });

            await rsmq.ChangeMessageVisibilityAsync(new ChangeMessageVisibilityOptions { QueueName = Global.QueueName, Id = msgId, VisibilityTimer = 2 });

            Assert.IsNull(await rsmq.ReceiveMessageAsync(new ReceiveMessageOptions {
                QueueName = Global.QueueName
            }));
            await Task.Delay(2500);

            Assert.IsNotNull(await rsmq.ReceiveMessageAsync(new ReceiveMessageOptions {
                QueueName = Global.QueueName
            }));
        }
Esempio n. 16
0
        public async Task GetQueueAttributesAsync(CreateQueueOptions value)
        {
            var rsmq = new Rsmq();
            await rsmq.CreateQueueAsync(value);

            var attributes = await rsmq.GetQueueAttributesAsync(new GetQueueAttributesOptions { QueueName = value.QueueName });

            Assert.AreEqual(attributes.Delay, value.Delay);
            Assert.AreEqual(attributes.MaxSize, value.MaxSize);
            Assert.AreEqual(attributes.VisibilityTimer, value.VisibilityTimer);
            Assert.AreEqual(0, attributes.TotalSent);

            await rsmq.SendMessageAsync(new SendMessageOptions { QueueName = value.QueueName, Message = "Halo" });

            attributes = await rsmq.GetQueueAttributesAsync(new GetQueueAttributesOptions { QueueName = value.QueueName });

            Assert.AreEqual(1, attributes.TotalSent);
        }
Esempio n. 17
0
        public void DeleteMessage()
        {
            var rsmq = new Rsmq();

            rsmq.CreateQueue(new CreateQueueOptions {
                QueueName = Global.QueueName
            });

            var msgId = rsmq.SendMessage(new SendMessageOptions {
                QueueName = Global.QueueName, Message = "hello"
            });

            Assert.AreEqual(1, rsmq.DeleteMessage(new DeleteMessageOptions {
                QueueName = Global.QueueName, Id = msgId
            }));
            Assert.Zero(rsmq.DeleteMessage(new DeleteMessageOptions {
                QueueName = Global.QueueName, Id = "0123456789abcdefghijklmnopqrstuv"
            }));
        }
Esempio n. 18
0
        public async Task SetQueueAttributesAsync(SetQueueAttributesOptions value)
        {
            var rsmq = new Rsmq();
            var defaultAttributes = new CreateQueueOptions {
                QueueName = value.QueueName
            };
            await rsmq.CreateQueueAsync(defaultAttributes);

            var queueAttributes = await rsmq.GetQueueAttributesAsync(new GetQueueAttributesOptions { QueueName = value.QueueName });

            Assert.AreEqual(defaultAttributes.Delay, queueAttributes.Delay);
            Assert.AreEqual(defaultAttributes.MaxSize, queueAttributes.MaxSize);
            Assert.AreEqual(defaultAttributes.VisibilityTimer, queueAttributes.VisibilityTimer);

            queueAttributes = await rsmq.SetQueueAttributesAsync(value);

            Assert.AreEqual(value.Delay ?? defaultAttributes.Delay, queueAttributes.Delay);
            Assert.AreEqual(value.MaxSize ?? defaultAttributes.MaxSize, queueAttributes.MaxSize);
            Assert.AreEqual(value.VisibilityTimer ?? defaultAttributes.VisibilityTimer, queueAttributes.VisibilityTimer);
        }
Esempio n. 19
0
        public async Task SetQueueAttributesWithErrorAsync()
        {
            var rsmq = new Rsmq();

            Assert.ThrowsAsync <QueueNotFoundException>(async() => await rsmq.SetQueueAttributesAsync(new SetQueueAttributesOptions {
                QueueName = Global.QueueName, MaxSize = 7453
            }));

            await rsmq.CreateQueueAsync(new CreateQueueOptions { QueueName = Global.QueueName });

            Assert.ThrowsAsync <QueueNotFoundException>(async() => await rsmq.SetQueueAttributesAsync(new SetQueueAttributesOptions {
                QueueName = Global.WrongQueueName, MaxSize = 3000
            }));
            Assert.ThrowsAsync <NoAttributeSuppliedException>(async() => await rsmq.SetQueueAttributesAsync(new SetQueueAttributesOptions {
                QueueName = Global.QueueName
            }));
            Assert.ThrowsAsync <InvalidValueException>(async() => await rsmq.SetQueueAttributesAsync(new SetQueueAttributesOptions {
                QueueName = Global.QueueName, MaxSize = -34
            }));
        }
Esempio n. 20
0
        public void SetQueueAttributesWithError()
        {
            var rsmq = new Rsmq();

            Assert.Throws <QueueNotFoundException>(() => rsmq.SetQueueAttributes(new SetQueueAttributesOptions {
                QueueName = Global.QueueName, MaxSize = 7453
            }));

            rsmq.CreateQueue(new CreateQueueOptions {
                QueueName = Global.QueueName
            });

            Assert.Throws <QueueNotFoundException>(() => rsmq.SetQueueAttributes(new SetQueueAttributesOptions {
                QueueName = Global.WrongQueueName, MaxSize = 3000
            }));
            Assert.Throws <NoAttributeSuppliedException>(() => rsmq.SetQueueAttributes(new SetQueueAttributesOptions {
                QueueName = Global.QueueName
            }));
            Assert.Throws <InvalidValueException>(() => rsmq.SetQueueAttributes(new SetQueueAttributesOptions {
                QueueName = Global.QueueName, MaxSize = -34
            }));
        }
Esempio n. 21
0
        public void PopMessage()
        {
            var rsmq = new Rsmq();

            rsmq.CreateQueue(new CreateQueueOptions {
                QueueName = Global.QueueName
            });

            var msgId = rsmq.SendMessage(new SendMessageOptions {
                QueueName = Global.QueueName, Message = "hello"
            });

            var poppedMessage = rsmq.PopMessage(new PopMessageOptions {
                QueueName = Global.QueueName
            });

            Assert.AreEqual(msgId, poppedMessage.Id);

            Assert.Zero(rsmq.DeleteMessage(new DeleteMessageOptions {
                QueueName = Global.QueueName, Id = msgId
            }));
        }
Esempio n. 22
0
        public void GetQueueAttributes(CreateQueueOptions value)
        {
            var rsmq = new Rsmq();

            rsmq.CreateQueue(value);
            var attributes = rsmq.GetQueueAttributes(new GetQueueAttributesOptions {
                QueueName = value.QueueName
            });

            Assert.AreEqual(attributes.Delay, value.Delay);
            Assert.AreEqual(attributes.MaxSize, value.MaxSize);
            Assert.AreEqual(attributes.VisibilityTimer, value.VisibilityTimer);
            Assert.Zero(attributes.TotalSent);

            rsmq.SendMessage(new SendMessageOptions {
                QueueName = value.QueueName, Message = "Halo"
            });
            attributes = rsmq.GetQueueAttributes(new GetQueueAttributesOptions {
                QueueName = value.QueueName
            });
            Assert.AreEqual(1, attributes.TotalSent);
        }
Esempio n. 23
0
        public void ChangeMessageVisibility()
        {
            var rsmq = new Rsmq();

            rsmq.CreateQueue(new CreateQueueOptions {
                QueueName = Global.QueueName
            });

            var msgId = rsmq.SendMessage(new SendMessageOptions {
                QueueName = Global.QueueName, Message = "hello"
            });

            rsmq.ChangeMessageVisibility(new ChangeMessageVisibilityOptions {
                QueueName = Global.QueueName, Id = msgId, VisibilityTimer = 2
            });

            Assert.IsNull(rsmq.ReceiveMessage(new ReceiveMessageOptions {
                QueueName = Global.QueueName
            }));
            Task.WaitAll(Task.Delay(2500));
            Assert.IsNotNull(rsmq.ReceiveMessage(new ReceiveMessageOptions {
                QueueName = Global.QueueName
            }));
        }