Example #1
0
        static async Task AssertQueuesExist(string endpointName, string errorQueueName, string auditQueueName, TimeSpan maxTimeToLive, string queueNamePrefix = null, bool includeRetries = false)
        {
            var timeSpanInSeconds = Convert.ToInt32(maxTimeToLive.TotalSeconds);

            Assert.IsTrue(await QueueExistenceUtils.Exists(endpointName, queueNamePrefix), "Endpoint Queue did not exist");
            Assert.AreEqual(timeSpanInSeconds, (await QueueAccessUtils.Exists(endpointName, queueNamePrefix, new List <string>
            {
                QueueAttributeName.MessageRetentionPeriod
            })).MessageRetentionPeriod);

            Assert.IsTrue(await QueueExistenceUtils.Exists($"{endpointName}.Timeouts", queueNamePrefix), "Timeouts Queue did not exist");
            Assert.AreEqual(timeSpanInSeconds, (await QueueAccessUtils.Exists(endpointName, queueNamePrefix, new List <string>
            {
                QueueAttributeName.MessageRetentionPeriod
            })).MessageRetentionPeriod);

            Assert.IsTrue(await QueueExistenceUtils.Exists($"{endpointName}.TimeoutsDispatcher", queueNamePrefix), "TimeoutsDispatcher Queue did not exist");
            Assert.AreEqual(timeSpanInSeconds, (await QueueAccessUtils.Exists(endpointName, queueNamePrefix, new List <string>
            {
                QueueAttributeName.MessageRetentionPeriod
            })).MessageRetentionPeriod);

            if (includeRetries)
            {
                Assert.IsTrue(await QueueExistenceUtils.Exists($"{endpointName}.Retries", queueNamePrefix), "Retries Queue did not exist");
                Assert.AreEqual(timeSpanInSeconds, (await QueueAccessUtils.Exists(endpointName, queueNamePrefix, new List <string>
                {
                    QueueAttributeName.MessageRetentionPeriod
                })).MessageRetentionPeriod);
            }

            Assert.IsTrue(await QueueExistenceUtils.Exists(errorQueueName, queueNamePrefix));
            Assert.AreEqual(timeSpanInSeconds, (await QueueAccessUtils.Exists(errorQueueName, queueNamePrefix, new List <string>
            {
                QueueAttributeName.MessageRetentionPeriod
            })).MessageRetentionPeriod);

            Assert.IsTrue(await QueueExistenceUtils.Exists(auditQueueName, queueNamePrefix));
            Assert.AreEqual(timeSpanInSeconds, (await QueueAccessUtils.Exists(auditQueueName, queueNamePrefix, new List <string>
            {
                QueueAttributeName.MessageRetentionPeriod
            })).MessageRetentionPeriod);
        }
Example #2
0
        static async Task AssertQueuesExist(string endpointName, string errorQueueName, string auditQueueName, TimeSpan maxTimeToLive, string queueNamePrefix = null, bool includeRetries = false, string delayedDeliveryMethod = "Native")
        {
            var timeSpanInSeconds = Convert.ToInt32(maxTimeToLive.TotalSeconds);

            Assert.IsTrue(await QueueExistenceUtils.Exists(endpointName, queueNamePrefix), "Endpoint Queue did not exist");
            Assert.AreEqual(timeSpanInSeconds, (await QueueAccessUtils.Exists(endpointName, queueNamePrefix, new List <string>
            {
                QueueAttributeName.MessageRetentionPeriod
            })).MessageRetentionPeriod);

            switch (delayedDeliveryMethod)
            {
            case "TimeoutManager":

                Assert.IsTrue(await QueueExistenceUtils.Exists($"{endpointName}.Timeouts", queueNamePrefix), "Timeouts Queue did not exist");
                Assert.AreEqual(timeSpanInSeconds, (await QueueAccessUtils.Exists(endpointName, queueNamePrefix, new List <string>
                {
                    QueueAttributeName.MessageRetentionPeriod
                })).MessageRetentionPeriod);

                Assert.IsTrue(await QueueExistenceUtils.Exists($"{endpointName}.TimeoutsDispatcher", queueNamePrefix), "TimeoutsDispatcher Queue did not exist");
                Assert.AreEqual(timeSpanInSeconds, (await QueueAccessUtils.Exists(endpointName, queueNamePrefix, new List <string>
                {
                    QueueAttributeName.MessageRetentionPeriod
                })).MessageRetentionPeriod);

                break;

            case "UnrestrictedDelayedDelivery":

                var endpointFifoQueueName = $"{endpointName}-delay.fifo";

                Assert.IsTrue(await QueueExistenceUtils.Exists(endpointFifoQueueName, queueNamePrefix), "Endpoint FIFO Queue did not exist");

                var queueAttributes = await QueueAccessUtils.Exists(endpointFifoQueueName, queueNamePrefix, new List <string>
                {
                    QueueAttributeName.MessageRetentionPeriod,
                    QueueAttributeName.DelaySeconds,
                    QueueAttributeName.FifoQueue
                });

                Assert.AreEqual(timeSpanInSeconds, queueAttributes.MessageRetentionPeriod);
                Assert.AreEqual(900, queueAttributes.DelaySeconds);
                Assert.IsTrue(queueAttributes.FifoQueue);

                break;
            }

            if (includeRetries)
            {
                Assert.IsTrue(await QueueExistenceUtils.Exists($"{endpointName}.Retries", queueNamePrefix), "Retries Queue did not exist");
                Assert.AreEqual(timeSpanInSeconds, (await QueueAccessUtils.Exists(endpointName, queueNamePrefix, new List <string>
                {
                    QueueAttributeName.MessageRetentionPeriod
                })).MessageRetentionPeriod);
            }

            Assert.IsTrue(await QueueExistenceUtils.Exists(errorQueueName, queueNamePrefix));
            Assert.AreEqual(timeSpanInSeconds, (await QueueAccessUtils.Exists(errorQueueName, queueNamePrefix, new List <string>
            {
                QueueAttributeName.MessageRetentionPeriod
            })).MessageRetentionPeriod);

            Assert.IsTrue(await QueueExistenceUtils.Exists(auditQueueName, queueNamePrefix));
            Assert.AreEqual(timeSpanInSeconds, (await QueueAccessUtils.Exists(auditQueueName, queueNamePrefix, new List <string>
            {
                QueueAttributeName.MessageRetentionPeriod
            })).MessageRetentionPeriod);
        }