public void SetContainerACL_NoLeaseForLeasedContainer_SetsPolicySuccesfully() { IBlobServiceClient client = new BlobServiceClient(AccountSettings); var containerName = GenerateSampleContainerName(); CreateContainer(containerName); LeaseContainer(containerName, null, null); var expectedStartTime = GetTruncatedUtcNow(); var expectedIdentifier = new BlobSignedIdentifier() { Id = "abc-123", AccessPolicy = new BlobAccessPolicy() { StartTime = expectedStartTime, Expiry = expectedStartTime.AddHours(1), Permission = BlobSharedAccessPermissions.Read | BlobSharedAccessPermissions.Write | BlobSharedAccessPermissions.Delete | BlobSharedAccessPermissions.List } }; client.SetContainerACL(containerName, ContainerAccessType.PublicContainer, new List<BlobSignedIdentifier>() { expectedIdentifier }); var actual = GetContainerPermissions(containerName); Assert.AreEqual(1, actual.SharedAccessPolicies.Count); }
public void SetContainerACL_WrongLeaseForLeasedContainer_ThrowsLeaseMismatchException() { IBlobServiceClient client = new BlobServiceClient(AccountSettings); var containerName = GenerateSampleContainerName(); CreateContainer(containerName); LeaseContainer(containerName, null, null); client.SetContainerACL(containerName, ContainerAccessType.None, new List<BlobSignedIdentifier>(), FakeLeaseId); var actual = GetContainerPermissions(containerName); Assert.AreEqual(Microsoft.WindowsAzure.Storage.Blob.BlobContainerPublicAccessType.Off, actual.PublicAccess); }
public void SetContainerACL_InvalidContainer_ThrowsContainerNotFoundException() { IBlobServiceClient client = new BlobServiceClient(AccountSettings); var containerName = GenerateSampleContainerName(); client.SetContainerACL(containerName, ContainerAccessType.None, new List<BlobSignedIdentifier>()); // expects exception }
public void SetContainerACL_NoPublicAccessAndPolicyForValidContainer_ClearsPublicAccessOnContainer() { IBlobServiceClient client = new BlobServiceClient(AccountSettings); var containerName = GenerateSampleContainerName(); CreateContainer(containerName); AddContainerAccessPolicy(containerName, Microsoft.WindowsAzure.Storage.Blob.BlobContainerPublicAccessType.Container); client.SetContainerACL(containerName, ContainerAccessType.None, new List<BlobSignedIdentifier>()); var actual = GetContainerPermissions(containerName); Assert.AreEqual(Microsoft.WindowsAzure.Storage.Blob.BlobContainerPublicAccessType.Off, actual.PublicAccess); }
public void SetContainerACL_PublicAccessAndNoPolicyForValidContainer_SetsPublicAccessOnContainer() { IBlobServiceClient client = new BlobServiceClient(AccountSettings); var containerName = GenerateSampleContainerName(); CreateContainer(containerName); client.SetContainerACL(containerName, ContainerAccessType.PublicBlob, new List<BlobSignedIdentifier>()); var actual = GetContainerPermissions(containerName); Assert.AreEqual(0, actual.SharedAccessPolicies.Count); Assert.AreEqual(Microsoft.WindowsAzure.Storage.Blob.BlobContainerPublicAccessType.Blob, actual.PublicAccess); }
public void SetContainerACL_AllPolicyForValidContainer_SetsPolicyAndPublicAccessOnContainer() { IBlobServiceClient client = new BlobServiceClient(AccountSettings); var containerName = GenerateSampleContainerName(); CreateContainer(containerName); var expectedStartTime = GetTruncatedUtcNow(); var expectedIdentifier = new BlobSignedIdentifier() { Id = "abc-123", AccessPolicy = new BlobAccessPolicy() { StartTime = expectedStartTime, Expiry = expectedStartTime.AddHours(1), Permission = BlobSharedAccessPermissions.Read | BlobSharedAccessPermissions.Write | BlobSharedAccessPermissions.Delete | BlobSharedAccessPermissions.List } }; client.SetContainerACL(containerName, ContainerAccessType.PublicContainer, new List<BlobSignedIdentifier>() { expectedIdentifier }); var actual = GetContainerPermissions(containerName); Assert.AreEqual(1, actual.SharedAccessPolicies.Count); AssertIdentifierInSharedAccessPolicies(actual.SharedAccessPolicies, expectedIdentifier, Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPermissions.Read | Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPermissions.Write | Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPermissions.List | Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPermissions.Delete); }