Example #1
0
        public void CanUpdateBlobContainers()
        {
            using (var context = FluentMockContext.Start(this.GetType().FullName))
            {
                string storageAccountName = TestUtilities.GenerateName("stgbnx");
                string resourceGroupName  = TestUtilities.GenerateName("rgstg");

                Dictionary <string, string> metadataInitial = new Dictionary <string, string>();
                metadataInitial.Add("a", "b");

                Dictionary <string, string> metadataTest = new Dictionary <string, string>();
                metadataTest.Add("c", "d");
                metadataTest.Add("e", "f");

                try
                {
                    IStorageManager storageManager = TestHelper.CreateStorageManager();
                    IStorageAccount storageAccount = storageManager.StorageAccounts.Define(storageAccountName)
                                                     .WithRegion(Region.USEast2)
                                                     .WithNewResourceGroup(resourceGroupName)
                                                     .Create();

                    IBlobContainers blobContainers = storageManager.BlobContainers;
                    IBlobContainer  blobContainer  = blobContainers.DefineContainer("blob-test")
                                                     .WithExistingBlobService(resourceGroupName, storageAccountName)
                                                     .WithPublicAccess(Microsoft.Azure.Management.Storage.Fluent.Models.PublicAccess.Container)
                                                     .WithMetadata(metadataInitial)
                                                     .Create();

                    blobContainer.Update()
                    .WithPublicAccess(Microsoft.Azure.Management.Storage.Fluent.Models.PublicAccess.Blob)
                    .WithMetadata("c", "d")
                    .WithMetadata("e", "f")
                    .Apply();

                    Assert.Equal("blob-test", blobContainer.Name);
                    Assert.Equal(Microsoft.Azure.Management.Storage.Fluent.Models.PublicAccess.Blob, blobContainer.PublicAccess);
                    Assert.Equal(metadataTest, blobContainer.Metadata);
                }
                finally
                {
                    try
                    {
                        TestHelper.CreateResourceManager().ResourceGroups.BeginDeleteByName(resourceGroupName);
                    }
                    catch { }
                }
            }
        }