示例#1
0
 public async Task RetrieveContainerByName_NonExistingContainer()
 {
     var       data          = BlobServiceClientBuilder.GenerateSeedData();
     var       client        = BlobServiceClientBuilder.GetBlobServiceClientMock(data);
     var       containerName = "VeryFakeName";
     Exception ex            = await Assert.ThrowsAsync <ContainerNotFoundException>(
         async() => await client.GetContainerReferenceAsync(containerName));
 }
示例#2
0
        public async Task ListContainers()
        {
            var data       = BlobServiceClientBuilder.GenerateSeedData();
            var client     = BlobServiceClientBuilder.GetBlobServiceClientMock(data);
            var containers = await client.ListContainersAsync();

            Assert.Equal(containers.Count(), data.Containers.Count);
        }
示例#3
0
        public async Task RetrieveContainerByName()
        {
            var data          = BlobServiceClientBuilder.GenerateSeedData();
            var client        = BlobServiceClientBuilder.GetBlobServiceClientMock(data);
            var containerName = data.Containers[0].Name;
            var container     = await client.GetContainerReferenceAsync(containerName);

            Assert.Equal(container.Name, containerName);
        }
示例#4
0
        public async Task DeleteBlobAsync_ShouldSuccess()
        {
            var data   = BlobServiceClientBuilder.GenerateSeedData();
            var client = BlobServiceClientBuilder.GetBlobServiceClientMock(data);

            var targetBlob    = data.Blobs.First();
            var blobId        = targetBlob.Id;
            var containerName = data.Containers.Where(c => c.Id == targetBlob.ContainerId).First().Name;
            var blob          = await client.GetBlobReferenceAsync(containerName, blobId);

            await blob.DeleteAsync();

            Assert.DoesNotContain(data.Blobs, b => b.Id == blobId);
        }
示例#5
0
        public async Task ReadBlob_ShouldSuccess()
        {
            var data   = BlobServiceClientBuilder.GenerateSeedData();
            var client = BlobServiceClientBuilder.GetBlobServiceClientMock(data);

            var targetBlob    = data.Blobs.First();
            var blobId        = targetBlob.Id;
            var containerName = data.Containers.Where(c => c.Id == targetBlob.ContainerId).First().Name;
            var blob          = await client.GetBlobReferenceAsync(containerName, blobId);

            using (var rawBlob = await blob.OpenReadAsync())
            {
                using (var test_Stream = new MemoryStream(Encoding.UTF8.GetBytes("whatever")))
                {
                    Assert.Equal(test_Stream.Length, rawBlob.Length);
                }
            }
        }
示例#6
0
        public async Task DownloadToStreamAsync_ShouldSuccess()
        {
            var data   = BlobServiceClientBuilder.GenerateSeedData();
            var client = BlobServiceClientBuilder.GetBlobServiceClientMock(data);

            var targetBlob    = data.Blobs.First();
            var blobId        = targetBlob.Id;
            var containerName = data.Containers.Where(c => c.Id == targetBlob.ContainerId).First().Name;
            var blob          = await client.GetBlobReferenceAsync(containerName, blobId);

            var blobOriginalStream = await blob.OpenReadAsync();

            var targetStream = new MemoryStream();

            await blob.DownloadToStreamAsync(targetStream);

            targetStream.Position       = 0;
            blobOriginalStream.Position = 0;
            Assert.True(TestHelper.FileStreamEquals(targetStream, blobOriginalStream));
        }
示例#7
0
        public async Task UpdateBlobData_ShouldSuccess()
        {
            var data   = BlobServiceClientBuilder.GenerateSeedData();
            var client = BlobServiceClientBuilder.GetBlobServiceClientMock(data);

            var targetBlob    = data.Blobs.First();
            var blobId        = targetBlob.Id;
            var containerName = data.Containers.Where(c => c.Id == targetBlob.ContainerId).First().Name;
            var blob          = await client.GetBlobReferenceAsync(containerName, blobId);

            using (var newStream = new MemoryStream(Encoding.UTF8.GetBytes("whatever+whatever=love")))
            {
                var newFilename    = "newFile.png";
                var newContentType = MIMETypeMapper.GetMimeMapping(newFilename);
                await blob.UpdateBlobAsync(newStream, newFilename, newContentType);

                Assert.Equal(blob.SizeInBytes, newStream.Length);
                Assert.Equal(blob.MimeType, newContentType);
                Assert.Equal(blob.FileName, newFilename);
            }
        }