public void BlobContainersCreateDeleteTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (MockContext context = MockContext.Start(this.GetType().FullName)) { var resourcesClient = StorageManagementTestUtilities.GetResourceManagementClient(context, handler); var storageMgmtClient = StorageManagementTestUtilities.GetStorageManagementClient(context, handler); // Create resource group var rgName = StorageManagementTestUtilities.CreateResourceGroup(resourcesClient); // Create storage account string accountName = TestUtilities.GenerateName("sto"); var parameters = StorageManagementTestUtilities.GetDefaultStorageAccountParameters(); var account = storageMgmtClient.StorageAccounts.Create(rgName, accountName, parameters); StorageManagementTestUtilities.VerifyAccountProperties(account, true); // implement case try { string containerName = TestUtilities.GenerateName("container"); BlobContainer blobContainer = storageMgmtClient.BlobContainers.Create(rgName, accountName, containerName); Assert.Null(blobContainer.Metadata); Assert.Null(blobContainer.PublicAccess); blobContainer = storageMgmtClient.BlobContainers.Get(rgName, accountName, containerName); Assert.Null(blobContainer.Metadata); Assert.Equal(PublicAccess.None, blobContainer.PublicAccess); Assert.False(blobContainer.HasImmutabilityPolicy); Assert.False(blobContainer.HasLegalHold); //Delete container, then no container in the storage account storageMgmtClient.BlobContainers.Delete(rgName, accountName, containerName); ListContainerItems blobContainers = storageMgmtClient.BlobContainers.List(rgName, accountName); Assert.Equal(0, blobContainers.Value.Count); //Delete not exist container, won't fail (return 204) storageMgmtClient.BlobContainers.Delete(rgName, accountName, containerName); } finally { // clean up storageMgmtClient.StorageAccounts.Delete(rgName, accountName); resourcesClient.ResourceGroups.Delete(rgName); } } }
public void BlobContainersListTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (MockContext context = MockContext.Start(this.GetType().FullName)) { var resourcesClient = StorageManagementTestUtilities.GetResourceManagementClient(context, handler); var storageMgmtClient = StorageManagementTestUtilities.GetStorageManagementClient(context, handler); // Create resource group var rgName = StorageManagementTestUtilities.CreateResourceGroup(resourcesClient); // Create storage account string accountName = TestUtilities.GenerateName("sto"); var parameters = StorageManagementTestUtilities.GetDefaultStorageAccountParameters(); parameters.Kind = Kind.StorageV2; var account = storageMgmtClient.StorageAccounts.Create(rgName, accountName, parameters); StorageManagementTestUtilities.VerifyAccountProperties(account, false); // implement case try { string containerName1 = TestUtilities.GenerateName("container"); BlobContainer blobContainer = storageMgmtClient.BlobContainers.Create(rgName, accountName, containerName1); Assert.Null(blobContainer.Metadata); Assert.Null(blobContainer.PublicAccess); blobContainer.Metadata = new Dictionary <string, string>(); blobContainer.Metadata.Add("metadata", "true"); blobContainer.PublicAccess = PublicAccess.Container; var blobContainerSet = storageMgmtClient.BlobContainers.Update(rgName, accountName, containerName1, metadata: blobContainer.Metadata, publicAccess: blobContainer.PublicAccess); Assert.NotNull(blobContainer.Metadata); Assert.NotNull(blobContainer.PublicAccess); Assert.Equal(blobContainer.Metadata, blobContainerSet.Metadata); Assert.Equal(blobContainer.PublicAccess, blobContainerSet.PublicAccess); Assert.False(blobContainerSet.HasImmutabilityPolicy); Assert.False(blobContainerSet.HasLegalHold); string containerName2 = TestUtilities.GenerateName("container"); BlobContainer blobContainer2 = storageMgmtClient.BlobContainers.Create(rgName, accountName, containerName2); Assert.Null(blobContainer2.Metadata); Assert.Null(blobContainer2.PublicAccess); var storageAccount = new CloudStorageAccount(new StorageCredentials(accountName, storageMgmtClient.StorageAccounts.ListKeys(rgName, accountName).Keys.ElementAt(0).Value), false); var container = storageAccount.CreateCloudBlobClient().GetContainerReference(containerName2); //container.AcquireLeaseAsync(TimeSpan.FromSeconds(45)).Wait(); ListContainerItems containerList = storageMgmtClient.BlobContainers.List(rgName, accountName); foreach (ListContainerItem blobContainerList in containerList.Value) { Assert.NotNull(blobContainer.Metadata); Assert.NotNull(blobContainer.PublicAccess); Assert.False(blobContainerSet.HasImmutabilityPolicy); Assert.False(blobContainerSet.HasLegalHold); } } finally { // clean up storageMgmtClient.StorageAccounts.Delete(rgName, accountName); resourcesClient.ResourceGroups.Delete(rgName); } } }