Beispiel #1
0
        public async Task CanPurgeQueue()
        {
            var queueName = TestConfig.GetName("send");
            await _managementClient.CreateQueueIfNotExistsAsync(queueName);

            var retryPolicy = new RetryExponential(TimeSpan.FromMilliseconds(100), TimeSpan.FromSeconds(5), 10);
            var queueClient = new QueueClient(ConnectionString, queueName, receiveMode: ReceiveMode.PeekLock, retryPolicy: retryPolicy);

            await queueClient.SendAsync(new Message(Encoding.UTF8.GetBytes("Hej med dig min ven!")));

            await queueClient.SendAsync(new Message(Encoding.UTF8.GetBytes("Hej med dig min ven!")));

            await queueClient.SendAsync(new Message(Encoding.UTF8.GetBytes("Hej med dig min ven!")));

            await queueClient.SendAsync(new Message(Encoding.UTF8.GetBytes("Hej med dig min ven!")));

            await ManagementExtensions.PurgeQueue(ConnectionString, queueName);

            var client = new QueueClient(ConnectionString, queueName);
            var somethingWasReceived = new ManualResetEvent(false);

            client.RegisterMessageHandler(async(_, __) => somethingWasReceived.Set(), async _ => somethingWasReceived.Set());

            Assert.That(somethingWasReceived.WaitOne(TimeSpan.FromSeconds(1)), Is.False, $"Looks like a message was received from the queue '{queueName}' even though it was purged :o");
        }
Beispiel #2
0
 void PurgeQueue(string queueName)
 {
     try
     {
         AsyncHelpers.RunSync(async() =>
                              await ManagementExtensions.PurgeQueue(_connectionString, queueName, _cancellationToken).ConfigureAwait(false));
     }
     catch (Exception exception)
     {
         throw new ArgumentException($"Could not purge queue '{queueName}'", exception);
     }
 }
Beispiel #3
0
        public async Task CanSendAndReceiveMessage()
        {
            var queueName = TestConfig.GetName("send-receive");
            await _managementClient.CreateQueueIfNotExistsAsync(queueName);

            var retryPolicy = new RetryExponential(TimeSpan.FromMilliseconds(100), TimeSpan.FromSeconds(5), 10);
            var queueClient = new QueueClient(ConnectionString, queueName, receiveMode: ReceiveMode.PeekLock, retryPolicy: retryPolicy);

            await ManagementExtensions.PurgeQueue(ConnectionString, queueName);

            await queueClient.SendAsync(new Message(Encoding.UTF8.GetBytes("Hej med dig min ven! Det spiller!")));

            var messageReceiver = new MessageReceiver(ConnectionString, queueName, receiveMode: ReceiveMode.PeekLock);

            var message = await messageReceiver.ReceiveAsync(TimeSpan.FromSeconds(2));

            Assert.That(message, Is.Not.Null);

            var text = Encoding.UTF8.GetString(message.Body);

            Assert.That(text, Is.EqualTo("Hej med dig min ven! Det spiller!"));
        }