public async Task OpenReadAsyncThrowsNotFoundWhenBlobDoesNotExist()
        {
            // Arrange
            var folderName = CoreConstants.Folders.ValidationFolderName;
            var fileName   = _prefixA;
            var exists     = await _targetA.FileExistsAsync(folderName, fileName);

            var container = _clientA.GetContainerReference(folderName);
            var file      = container.GetBlobReference(fileName);

            // Act & Assert
            Assert.False(exists);
            var ex = await Assert.ThrowsAsync <StorageException>(
                () => file.OpenReadAsync(accessCondition: null));

            Assert.Equal(HttpStatusCode.NotFound, (HttpStatusCode)ex.RequestInformation.HttpStatusCode);
        }
        public async Task CanReadAndDeleteBlobUsingPrivilegedFileUri()
        {
            // Arrange
            var folderName      = CoreConstants.Folders.ValidationFolderName;
            var fileName        = _prefixA;
            var expectedContent = "Hello, world.";

            await _targetA.SaveFileAsync(
                folderName,
                fileName,
                new MemoryStream(Encoding.ASCII.GetBytes(expectedContent)),
                overwrite : false);

            var deleteUri = await _targetA.GetPriviledgedFileUriAsync(
                folderName,
                fileName,
                FileUriPermissions.Read | FileUriPermissions.Delete,
                DateTimeOffset.UtcNow.AddHours(1));

            // Act
            var sasToken         = new StorageCredentials(deleteUri.Query);
            var deleteUriBuilder = new UriBuilder(deleteUri)
            {
                Query = null
            };
            var blob = new CloudBlockBlob(deleteUriBuilder.Uri, sasToken);

            var actualContent = await blob.DownloadTextAsync();

            await blob.DeleteAsync();

            // Assert
            Assert.Equal(expectedContent, actualContent);
            var exists = await _targetA.FileExistsAsync(folderName, fileName);

            Assert.False(exists, "The file should no longer exist.");
        }