public void SynchronousTestQueueClaims() { IQueueingService provider = CreateProvider(); QueueName queueName = CreateRandomQueueName(); provider.CreateQueue(queueName); provider.PostMessages(queueName, new Message <SampleMetadata>(TimeSpan.FromSeconds(120), new SampleMetadata(3, "yes"))); QueueStatistics statistics; using (Claim claim = provider.ClaimMessage(queueName, null, TimeSpan.FromMinutes(5), TimeSpan.FromMinutes(1))) { Assert.AreEqual(TimeSpan.FromMinutes(5), claim.TimeToLive); Assert.IsNotNull(claim.Messages); Assert.AreEqual(1, claim.Messages.Count); statistics = provider.GetQueueStatistics(queueName); Assert.AreEqual(1, statistics.MessageStatistics.Claimed); QueuedMessage message = provider.GetMessage(queueName, claim.Messages[0].Id); Assert.IsNotNull(message); TimeSpan age = claim.Age; Thread.Sleep(TimeSpan.FromSeconds(2)); claim.Refresh(); Assert.IsTrue(claim.Age >= age + TimeSpan.FromSeconds(2)); claim.Renew(TimeSpan.FromMinutes(10)); Assert.AreEqual(TimeSpan.FromMinutes(10), claim.TimeToLive); } statistics = provider.GetQueueStatistics(queueName); Assert.AreEqual(0, statistics.MessageStatistics.Claimed); provider.DeleteQueue(queueName); }