public async Task DoNotDownloadFileIfExists([Frozen] Mock <IFile> fileMock) { var options = Options.Create(new AppOptions()); var client = new HttpClient(); fileMock.Setup(x => x.Exists(It.IsAny <string>())).Returns(true); fileMock.Setup(x => x.OpenRead(It.IsAny <string>())).Returns(new MemoryStream()); var sut = new BlobProvider(client, fileMock.Object, options); await using var stream = await sut.GetCsvAsync(); stream.ShouldNotBeNull(); fileMock.Verify(x => x.OpenWrite(It.IsAny <string>()), Times.Never); }
public async Task DownloadFileIfNotExists( [Frozen] Mock <HttpMessageHandler> messageHandlerMock, [Frozen] Mock <IFile> fileMock) { var options = Options.Create(new AppOptions { CsvUrl = "http://localhost" }); var client = SetupHttpClient(messageHandlerMock); fileMock.Setup(x => x.Exists(It.IsAny <string>())).Returns(false); fileMock.Setup(x => x.OpenWrite(It.IsAny <string>())).Returns(new MemoryStream()); var sut = new BlobProvider(client, fileMock.Object, options); await using var stream = await sut.GetCsvAsync(); stream.ShouldNotBeNull(); fileMock.Verify(x => x.OpenWrite(It.IsAny <string>()), Times.Once); }