public async Task CreateDeleteStorageQueue()
        {
            //create storage queue
            string storageQueueName     = Recording.GenerateAssetName("testqueue");
            StorageQueueResource queue1 = (await _storageQueueCollection.CreateOrUpdateAsync(WaitUntil.Completed, storageQueueName, new StorageQueueData())).Value;

            Assert.IsNotNull(queue1);
            Assert.AreEqual(queue1.Id.Name, storageQueueName);

            //validate if successfully created
            StorageQueueResource queue2 = await _storageQueueCollection.GetAsync(storageQueueName);

            AssertStorageQueueEqual(queue1, queue2);
            Assert.IsTrue(await _storageQueueCollection.ExistsAsync(storageQueueName));
            Assert.IsFalse(await _storageQueueCollection.ExistsAsync(storageQueueName + "1"));
            StorageQueueData queueData = queue2.Data;

            Assert.IsEmpty(queueData.Metadata);

            //delete storage queue
            await queue1.DeleteAsync(WaitUntil.Completed);

            //validate if successfully deleted
            Assert.IsFalse(await _storageQueueCollection.ExistsAsync(storageQueueName));
            var exception = Assert.ThrowsAsync <RequestFailedException>(async() => { await _storageQueueCollection.GetAsync(storageQueueName); });

            Assert.AreEqual(404, exception.Status);
        }
        internal static ListQueueResource DeserializeListQueueResource(JsonElement element)
        {
            Optional <IReadOnlyList <StorageQueueData> > value = default;
            Optional <string> nextLink = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("value"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    List <StorageQueueData> array = new List <StorageQueueData>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        array.Add(StorageQueueData.DeserializeStorageQueueData(item));
                    }
                    value = array;
                    continue;
                }
                if (property.NameEquals("nextLink"))
                {
                    nextLink = property.Value.GetString();
                    continue;
                }
            }
            return(new ListQueueResource(Optional.ToList(value), nextLink.Value));
        }
예제 #3
0
        public async Task CreateDeleteStorageQueue()
        {
            //create storage queue
            string       storageQueueName = Recording.GenerateAssetName("testqueue");
            StorageQueue queue1           = (await _storageQueueContainer.CreateOrUpdateAsync(storageQueueName, new StorageQueueData())).Value;

            Assert.IsNotNull(queue1);
            Assert.AreEqual(queue1.Id.Name, storageQueueName);

            //validate if successfully created
            StorageQueue queue2 = await _storageQueueContainer.GetAsync(storageQueueName);

            AssertStorageQueueEqual(queue1, queue2);
            Assert.IsTrue(await _storageQueueContainer.CheckIfExistsAsync(storageQueueName));
            Assert.IsFalse(await _storageQueueContainer.CheckIfExistsAsync(storageQueueName + "1"));
            StorageQueueData queueData = queue2.Data;

            Assert.IsEmpty(queueData.Metadata);

            //delete storage queue
            await queue1.DeleteAsync();

            //validate if successfully deleted
            Assert.IsFalse(await _storageQueueContainer.CheckIfExistsAsync(storageQueueName));
            StorageQueue queue3 = await _storageQueueContainer.GetIfExistsAsync(storageQueueName);

            Assert.IsNull(queue3);
        }
        public async Task UpdateStorageQueue()
        {
            //create storage queue
            string storageQueueName     = Recording.GenerateAssetName("testqueue");
            StorageQueueResource queue1 = (await _storageQueueCollection.CreateOrUpdateAsync(WaitUntil.Completed, storageQueueName, new StorageQueueData())).Value;

            Assert.IsNotNull(queue1);
            Assert.AreEqual(queue1.Id.Name, storageQueueName);

            //update queue's meta data
            StorageQueueData queueData = new StorageQueueData();

            queueData.Metadata.Add("key1", "value1");
            queueData.Metadata.Add("key2", "value2");
            StorageQueueResource queue2 = await queue1.UpdateAsync(queueData);

            //validate
            Assert.NotNull(queue2);
            Assert.NotNull(queue2.Data.Metadata);
            Assert.AreEqual(queue2.Data.Metadata["key1"], "value1");
            Assert.AreEqual(queue2.Data.Metadata["key2"], "value2");
        }