public async Task GetPersonnelNumbersFileNotFoundTest() { var storageAccountSecret = new StorageAccountSecret("myconnectionstring"); var loggerMock = new Mock <ILoggingRepository>(); var blobClientFactoryMock = new Mock <IBlobClientFactory>(); var blobClientMock = new Mock <BlobClient>(); var response = new Mock <Response>(); blobClientMock.Setup(x => x.Exists(It.IsAny <CancellationToken>())).Returns(Response.FromValue <bool>(false, new Mock <Response>().Object)); blobClientFactoryMock.Setup(x => x.GetBlobClient(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Returns(blobClientMock.Object); var service = new AzureUserReaderService(storageAccountSecret, loggerMock.Object, blobClientFactoryMock.Object); var personnelNumbers = await service.GetPersonnelNumbersAsync("validcontainer", "notvalid/blob/path/file.csv"); }
public async Task GetPersonnelNumbersExceptionTest() { var storageAccountSecret = new StorageAccountSecret("myconnectionstring"); var loggerMock = new Mock <ILoggingRepository>(); var blobClientFactoryMock = new Mock <IBlobClientFactory>(); var blobClientMock = new Mock <BlobClient>(); var response = new Mock <Response>(); response.SetupGet(x => x.Status).Returns((int)HttpStatusCode.RequestTimeout); var downloadResponse = new Mock <Response <BlobDownloadInfo> >(); downloadResponse.Setup(x => x.GetRawResponse()).Returns(response.Object); blobClientMock.Setup(x => x.Exists(It.IsAny <CancellationToken>())).Returns(Response.FromValue <bool>(true, new Mock <Response>().Object)); blobClientMock.Setup(x => x.DownloadAsync()).ReturnsAsync(downloadResponse.Object); blobClientFactoryMock.Setup(x => x.GetBlobClient(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Returns(blobClientMock.Object); var service = new AzureUserReaderService(storageAccountSecret, loggerMock.Object, blobClientFactoryMock.Object); var personnelNumbers = await service.GetPersonnelNumbersAsync("validcontainer", "valid/blob/path/file.csv"); }
public async Task GetPersonnelNumbersTest() { var storageAccountSecret = new StorageAccountSecret("myconnectionstring"); var loggerMock = new Mock <ILoggingRepository>(); var blobClientFactoryMock = new Mock <IBlobClientFactory>(); var blobClientMock = new Mock <BlobClient>(); var personnelNumber = "1223344"; var sw = new StreamWriter(new MemoryStream()); sw.WriteLine("PersonnelNumbers"); sw.WriteLine(personnelNumber); sw.Flush(); sw.BaseStream.Position = 0; var bdi = BlobsModelFactory.BlobDownloadInfo( DateTimeOffset.Now, 1, BlobType.Block, null, null, null, null, null, new Uri("http://file.url"), CopyStatus.Success, null, LeaseDurationType.Fixed, null, LeaseState.Available, null, LeaseStatus.Unlocked, new byte[0], null, ETag.All, 0, null, false, null, null, 1000, new byte[0], null, sw.BaseStream, DateTimeOffset.Now); var response = new Mock <Response>(); response.SetupGet(x => x.Status).Returns((int)HttpStatusCode.OK); var bdiresponse = Response.FromValue <BlobDownloadInfo>(bdi, null); var downloadResponse = new Mock <Response <BlobDownloadInfo> >(); downloadResponse.SetupGet(x => x.Value).Returns(bdiresponse); downloadResponse.Setup(x => x.GetRawResponse()).Returns(response.Object); blobClientMock.Setup(x => x.Exists(It.IsAny <CancellationToken>())).Returns(Response.FromValue <bool>(true, new Mock <Response>().Object)); blobClientMock.Setup(x => x.DownloadAsync()).ReturnsAsync(downloadResponse.Object); blobClientFactoryMock.Setup(x => x.GetBlobClient(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Returns(blobClientMock.Object); var service = new AzureUserReaderService(storageAccountSecret, loggerMock.Object, blobClientFactoryMock.Object); var personnelNumbers = await service.GetPersonnelNumbersAsync("validcontainer", "valid/blob/path/file.csv"); Assert.AreEqual(1, personnelNumbers.Count); Assert.AreEqual(personnelNumbers[0], personnelNumber); }