public async Task TestUploadBlob() { var blobContainerClient = mockRepository.Create <BlobContainerClient>(); var blobClient = mockRepository.Create <BlobClient>(); var blobProperties = mockRepository.Create <BlobProperties>(); blobContainerClient.Setup(x => x.GetBlobClient("Prefix/wibble")) .Returns(blobClient.Object); blobClient.Setup(x => x.GenerateSasUri(BlobSasPermissions.Write, It.IsAny <DateTimeOffset>())) .Returns(new Uri("https://www.example.com/")); var adapter = new AzureBlobAdapter(blobContainerClient.Object, new AzureBlobAdapterConfig { ContainerName = "gitlfs", KeyPrefix = "Prefix/" }); var blob = await adapter.UriForUpload("wibble", 10, CancellationToken.None); Assert.Null(blob.ErrorCode); Assert.Null(blob.ErrorMessage); Assert.Equal("https://www.example.com/", blob.Uri.ToString()); Assert.Contains("x-ms-blob-type", blob.Headers); }
public async Task TestDownloadBlobFound() { var blobContainerClient = mockRepository.Create <BlobContainerClient>(); var blobClient = mockRepository.Create <BlobClient>(); var blobProperties = mockRepository.Create <BlobProperties>(); blobContainerClient.Setup(x => x.GetBlobClient("Prefix/wibble")) .Returns(blobClient.Object); blobClient.Setup(x => x.GenerateSasUri(BlobSasPermissions.Read, It.IsAny <DateTimeOffset>())) .Returns(new Uri("https://www.example.com/")); blobClient.Setup(x => x.GetPropertiesAsync(null, It.IsAny <CancellationToken>())) .ReturnsAsync(Response.FromValue(blobProperties.Object, null)); var adapter = new AzureBlobAdapter(blobContainerClient.Object, new AzureBlobAdapterConfig { ContainerName = "gitlfs", KeyPrefix = "Prefix/" }); var blob = await adapter.UriForDownload("wibble", CancellationToken.None); Assert.Null(blob.ErrorCode); Assert.Null(blob.ErrorMessage); Assert.Equal("https://www.example.com/", blob.Uri.ToString()); }
public void BlobTextFileCreateReadDeleteTest() { var blobFilename = @"d:\temptest\randomfile.tmp"; var azureBlobAdapter = new AzureBlobAdapter(azureBlobSettings); var azureFile = azureBlobAdapter.File; var contentsWrite = System.IO.File.ReadAllText(localPermFileName); azureFile.WriteAllText(blobFilename, contentsWrite); string[] lines = { "line1", "line2" }; azureFile.AppendAllLines(blobFilename, lines); var modifiedData = contentsWrite; foreach (var item in lines) { modifiedData += item + Environment.NewLine; } var readDataSB = new StringBuilder(); string[] readLines = azureFile.ReadAllLines(blobFilename); foreach (var line in readLines) { readDataSB.Append(line).Append(Environment.NewLine); } Assert.Equal(modifiedData, readDataSB.ToString()); azureFile.Delete(blobFilename); var ExistsResult = azureFile.Exists(blobFilename); Assert.False(ExistsResult); }
public void BlobCopyMoveTests() { var azureBlobAdapter = new AzureBlobAdapter(azureBlobSettings); var azureFile = azureBlobAdapter.File; var localContent = System.IO.File.ReadAllText(localPermFileName); var copiedBlobFilename = @"\\hostname\shared\newtop\newsub\copied.json"; azureFile.Copy(blobFileName, copiedBlobFilename, true); var copiedData = azureFile.ReadAllText(copiedBlobFilename); Assert.Equal(localContent, copiedData); var movedBlobFilename = @"\\hostname\shared\movedtop\movedsub\moved.json"; azureFile.Move(copiedBlobFilename, movedBlobFilename); var movedData = azureFile.ReadAllText(movedBlobFilename); Assert.Equal(localContent, movedData); var ExistsResult = azureFile.Exists(copiedBlobFilename); Assert.False(ExistsResult); //clean up so next time unit test will run azureFile.Delete(movedBlobFilename); }
public void BlobFileGetLastWriteTimeTest() { var azureBlobAdapter = new AzureBlobAdapter(azureBlobSettings); var azureFile = azureBlobAdapter.File; var actualData = azureFile.GetLastWriteTime(blobFileName); var expectedData = DateTime.Parse("31-07-2020 10:34:59"); Assert.Equal(actualData, actualData); }
public void BlobFileExistsTest() { var azureBlobAdapter = new AzureBlobAdapter(azureBlobSettings); var azureFile = azureBlobAdapter.File; //var notExistsResult = azureFile.Exists(new Guid().ToString()); //not exists already covered in delete test //Assert.False(notExistsResult); var existsResult = azureFile.Exists(blobFileName); Assert.True(existsResult); }
public void BlobDriveTests() { var azureBlobAdapter = new AzureBlobAdapter(azureBlobSettings); var driveInfos = azureBlobAdapter.DriveInfo.GetDrives(); Assert.True(driveInfos[0].IsReady); //always true Assert.Equal(azureBlobAdapter, driveInfos[0].FileSystem); //GetDrives Assert.Equal(driveInfos.Count(), azureBlobSettings.MountPoints.Length); }
public async Task TestDownloadBlobNotFound() { var blobContainerClient = mockRepository.Create <BlobContainerClient>(); blobContainerClient.Setup(x => x.GetBlobClient("Prefix/non-existing")) .Throws(new RequestFailedException(404, "Status: 404 (The specified blob does not exist.)")); var adapter = new AzureBlobAdapter(blobContainerClient.Object, new AzureBlobAdapterConfig { ContainerName = "gitlfs", KeyPrefix = "Prefix/" }); var blob = await adapter.UriForDownload("non-existing", CancellationToken.None); Assert.Equal(404, blob.ErrorCode); Assert.Contains("Status: 404 (The specified blob does not exist.)", blob.ErrorMessage); }
public void BlobBinaryFileCreateReadDeleteTest() { var blobFilename = @"d:\top1\sub1\temptest\multipage_tiff_example.tif"; var localFileName = @"TestData/multipage_tiff_example.tif"; var azureBlobAdapter = new AzureBlobAdapter(azureBlobSettings); var azureFile = azureBlobAdapter.File; var contentsWrite = System.IO.File.ReadAllBytes(localFileName); azureFile.WriteAllBytes(blobFilename, contentsWrite); var readData = azureFile.ReadAllBytes(blobFilename); Assert.Equal(contentsWrite, readData); azureFile.Delete(blobFilename); var ExistsResult = azureFile.Exists(blobFilename); Assert.False(ExistsResult); }
public void BlobAdapterTest() { AzureBlobAdapter azureBlobAdapter = new AzureBlobAdapter(azureBlobSettings); Assert.True(!string.IsNullOrEmpty(azureBlobAdapter.BlobServicePropertiesObject.Logging.Version)); }