public async Task CloudQueueClientListQueuesSegmentedAsync() { CloudQueueClient client = GenerateCloudQueueClient(); string prefix = "rtqueuetest" + Guid.NewGuid().ToString("N"); List <string> queueNames = new List <string>(); int count = 3; for (int i = 0; i < count; i++) { queueNames.Add(prefix + i); } QueueContinuationToken token = null; List <CloudQueue> results = new List <CloudQueue>(); do { QueueResultSegment segment = await client.ListQueuesSegmentedAsync(prefix, QueueListingDetails.None, null, token, null, null); token = segment.ContinuationToken; results.AddRange(segment.Results); }while (token != null); Assert.AreEqual <int>(0, results.Count); foreach (string name in queueNames) { await client.GetQueueReference(name).CreateAsync(); } do { QueueResultSegment segment = await client.ListQueuesSegmentedAsync(prefix, QueueListingDetails.None, 10, token, null, null); token = segment.ContinuationToken; results.AddRange(segment.Results); }while (token != null); Assert.AreEqual <int>(results.Count, queueNames.Count); foreach (CloudQueue queue in results) { if (queueNames.Remove(queue.Name)) { await queue.DeleteAsync(); } else { Assert.Fail(); } } Assert.AreEqual <int>(0, queueNames.Count); }
public async Task CloudQueueSetGetMetadataAsync() { CloudQueueClient client = GenerateCloudQueueClient(); CloudQueue queue = client.GetQueueReference(GenerateNewQueueName()); await queue.CreateAsync(); CloudQueue queueToRetrieve = client.GetQueueReference(queue.Name); await queueToRetrieve.FetchAttributesAsync(); Assert.AreEqual <int>(0, queueToRetrieve.Metadata.Count); queue.Metadata.Add("key1", "value1"); await queue.SetMetadataAsync(); await queueToRetrieve.FetchAttributesAsync(); Assert.AreEqual(1, queueToRetrieve.Metadata.Count); Assert.AreEqual("value1", queueToRetrieve.Metadata["key1"]); CloudQueue listedQueue = (await client.ListQueuesSegmentedAsync(queue.Name, QueueListingDetails.All, null, null, null, null)).Results.First(); Assert.AreEqual(1, listedQueue.Metadata.Count); Assert.AreEqual("value1", listedQueue.Metadata["key1"]); queue.Metadata.Clear(); await queue.SetMetadataAsync(); await queueToRetrieve.FetchAttributesAsync(); Assert.AreEqual <int>(0, queueToRetrieve.Metadata.Count); await queue.DeleteAsync(); }
public void CloudQueueClientListQueuesSegmentedTask() { CloudQueueClient client = GenerateCloudQueueClient(); string prefix = "dotnetqueuetest" + Guid.NewGuid().ToString("N"); List <string> queueNames = new List <string>(); int count = 3; for (int i = 0; i < count; i++) { string queueName = prefix + i; queueNames.Add(queueName); client.GetQueueReference(queueName).CreateAsync().Wait(); } QueueContinuationToken token = null; List <CloudQueue> results = new List <CloudQueue>(); do { QueueResultSegment segment = client.ListQueuesSegmentedAsync(token).Result; token = segment.ContinuationToken; results.AddRange(segment.Results); }while (token != null); foreach (CloudQueue queue in results) { if (queueNames.Remove(queue.Name)) { client.GetQueueReference(queue.Name).DeleteAsync().Wait(); } } Assert.AreEqual(0, queueNames.Count); }
public void CloudQueueClientListQueuesWithContinuationTokenNullTarget() { CloudQueueClient client = GenerateCloudQueueClient(); string prefix = "dotnetqueuetest" + Guid.NewGuid().ToString("N"); List <string> queueNames = new List <string>(); int segmentCount = 8; for (int i = 0; i < segmentCount; i++) { queueNames.Add(prefix + i); } QueueContinuationToken continuationToken = null; List <CloudQueue> results = new List <CloudQueue>(); int tokenCount = 0; foreach (string name in queueNames) { client.GetQueueReference(name).CreateAsync().Wait(); } do { QueueResultSegment segment = client.ListQueuesSegmentedAsync(prefix, QueueListingDetails.None, 1, continuationToken, null, null).Result; tokenCount++; continuationToken = segment.ContinuationToken; if (tokenCount < segmentCount) { Assert.IsNotNull(segment.ContinuationToken); continuationToken.TargetLocation = null; } results.AddRange(segment.Results); }while (continuationToken != null); Assert.AreEqual <int>(results.Count, queueNames.Count); Assert.AreEqual <int>(results.Count, tokenCount); foreach (CloudQueue queue in results) { if (queueNames.Remove(queue.Name)) { queue.DeleteAsync().Wait(); } else { Assert.Fail(); } } Assert.AreEqual <int>(0, queueNames.Count); }
public async Task CloudQueueClientListQueuesBasicAsync() { DelegatingHandlerImpl delegatingHandlerImpl = new DelegatingHandlerImpl(new DelegatingHandlerImpl()); CloudQueueClient client = GenerateCloudQueueClient(delegatingHandlerImpl); string prefix = GenerateNewQueueName(); List <string> queueNames = new List <string>(); int count = 30; for (int i = 0; i < count; i++) { queueNames.Add(prefix + i); } QueueResultSegment emptyResults = await client.ListQueuesSegmentedAsync(prefix, QueueListingDetails.All, null, null, null, null); Assert.AreEqual <int>(0, emptyResults.Results.Count()); foreach (string name in queueNames) { await client.GetQueueReference(name).CreateAsync(); } QueueResultSegment results = await client.ListQueuesSegmentedAsync(prefix, QueueListingDetails.All, null, null, null, null); foreach (CloudQueue queue in results.Results) { if (queueNames.Remove(queue.Name)) { await queue.DeleteAsync(); } else { Assert.Fail(); } } Assert.AreEqual <int>(count, results.Results.Count()); Assert.AreNotEqual(0, delegatingHandlerImpl.CallCount); }
public async Task CloudQueueClientListQueuesBasicAsync() { string prefix = TestHelper.GenerateNewQueueName(); List <string> queueNames = new List <string>(); int count = 2; for (int i = 0; i < count; i++) { queueNames.Add(prefix + i); } QueueResultSegment emptyResults = await DefaultQueueClient.ListQueuesSegmentedAsync(prefix, QueueListingDetails.All, null, null, null); Assert.AreEqual <int>(0, emptyResults.Results.Count()); foreach (string name in queueNames) { await DefaultQueueClient.GetQueueReference(name).CreateAsync(); } QueueResultSegment results = await DefaultQueueClient.ListQueuesSegmentedAsync(prefix, QueueListingDetails.All, null, null, null); foreach (var queue in results.Results) { if (queueNames.Remove(queue.Name)) { await queue.DeleteAsync(); } else { Assert.Fail(); } } Assert.AreEqual <int>(count, results.Results.Count()); }
/// <summary> /// Create, list and delete queues /// </summary> /// <param name="cloudQueueClient"></param> /// <returns></returns> private static async Task ListQueuesSample(CloudQueueClient cloudQueueClient) { // Create 3 queues. // Create the queue name -- use a guid in the name so it's unique. string baseQueueName = "demotest-" + System.Guid.NewGuid().ToString(); // Keep a list of the queues so you can compare this list // against the list of queues that we retrieve. List<string> queueNames = new List<string>(); for (int i = 0; i < 3; i++) { // Set the name of the queue, then add it to the generic list. string queueName = baseQueueName + "-0" + i; queueNames.Add(queueName); // Create the queue with this name. Console.WriteLine("Creating queue with name {0}", queueName); CloudQueue cloudQueue = cloudQueueClient.GetQueueReference(queueName); try { await cloudQueue.CreateIfNotExistsAsync(); Console.WriteLine(" Queue created successfully."); } catch (StorageException exStorage) { Common.WriteException(exStorage); Console.WriteLine( "Please make sure your storage account is specified correctly in the app.config - then restart the sample."); Console.WriteLine("Press any key to exit"); Console.ReadLine(); throw; } catch (Exception ex) { Console.WriteLine(" Exception thrown creating queue."); Common.WriteException(ex); throw; } } Console.WriteLine(string.Empty); Console.WriteLine("List of queues in the storage account:"); // List the queues for this storage account QueueContinuationToken token = null; List<CloudQueue> cloudQueueList = new List<CloudQueue>(); do { QueueResultSegment segment = await cloudQueueClient.ListQueuesSegmentedAsync(baseQueueName, token); token = segment.ContinuationToken; cloudQueueList.AddRange(segment.Results); } while (token != null); try { foreach (CloudQueue cloudQ in cloudQueueList) { Console.WriteLine("Cloud Queue name = {0}", cloudQ.Name); } } catch (Exception ex) { Console.WriteLine(" Exception thrown listing queues."); Common.WriteException(ex); throw; } // Now clean up after yourself, using the list of queues that you created in case there were other queues in the account. foreach (string oneQueueName in queueNames) { CloudQueue cloudQueue = cloudQueueClient.GetQueueReference(oneQueueName); cloudQueue.DeleteIfExists(); } }