@Test
@Category(SlowTests.class)
public void testContainerPublicAccess() throws StorageException, IOException, URISyntaxException,
InterruptedException {
CloudBlockBlob testBlockBlob = (CloudBlockBlob) BlobTestHelper.uploadNewBlob(
this.container, BlobType.BLOCK_BLOB, "blockblob", 64, null);
CloudPageBlob testPageBlob = (CloudPageBlob) BlobTestHelper.uploadNewBlob(
this.container, BlobType.PAGE_BLOB, "pageblob", 512, null);
BlobContainerPermissions permissions = new BlobContainerPermissions();
permissions.setPublicAccess(BlobContainerPublicAccessType.CONTAINER);
this.container.uploadPermissions(permissions);
Thread.sleep(35000);
testAccess(null, EnumSet.of(SharedAccessBlobPermissions.LIST, SharedAccessBlobPermissions.READ), null,
this.container, testBlockBlob);
testAccess(null, EnumSet.of(SharedAccessBlobPermissions.LIST, SharedAccessBlobPermissions.READ), null,
this.container, testPageBlob);
permissions.setPublicAccess(BlobContainerPublicAccessType.BLOB);
this.container.uploadPermissions(permissions);
Thread.sleep(30000);
testAccess(null, EnumSet.of(SharedAccessBlobPermissions.READ), null, this.container, testBlockBlob);
testAccess(null, EnumSet.of(SharedAccessBlobPermissions.READ), null, this.container, testPageBlob);
}