public async Task WhenDownloadIsNewThenGeneratePathAndUploadToBlob( Function2WorkerFixture workerFixture, string uploadPath, Guid channelGuid, string url, string downloadContent) { var worker = workerFixture .SerializerReturnsValidObject(channelGuid, url) .DownloaderReturns(downloadContent) .DownloadDoesNotExits() .GenerateValidBlobUploadPath(uploadPath) .GetWorker(); await worker.Run(string.Empty); workerFixture .DownloadsReader .Verify( v => v.Exists(It.Is <Guid>(p => p == channelGuid), It.IsAny <string>()), Times.Once()); workerFixture .PathGenerator .Verify(v => v.CreateChannelDownloadPath(It.Is <Guid>(p => p == channelGuid)), Times.Once); workerFixture .BlobContainer .Verify( v => v.UploadStringAsync( It.Is <string>(p => p == "rss"), It.Is <string>(p => p == uploadPath), It.Is <string>(p => p == downloadContent), It.IsAny <IBlobContainer.UploadStringCompression>()), Times.Once); workerFixture .DownloadsWriter .Verify( v => v.InsertAsync(It.Is <DownloadDto>(p => p.Path == uploadPath && p.ChannelId == channelGuid)), Times.Once); }
public async Task WhenDownloadsAlreadyExistsDoesNotGenerateUploadNorInsertDownload( Function2WorkerFixture workerFixture) { await workerFixture .SerializerReturnsValidObject() .DownloaderReturnsEmptyString() .DownloadsAlreadyExists() .GetWorker() .Run(string.Empty); workerFixture.PathGenerator .Verify(v => v.CreateChannelDownloadPath(It.IsAny <Guid>()), Times.Never); workerFixture.BlobContainer .Verify(v => v.UploadStringAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <IBlobContainer.UploadStringCompression>()) , Times.Never); workerFixture.DownloadsWriter .Verify(v => v.InsertAsync(It.IsAny <DownloadDto>()), Times.Never); }
public void WhenDownloaderConfirmsDownloadExistence_DoesNotGenerateNorUpload(Function2WorkerFixture fixture, Guid channelGuid, string url , string downloadContent, string queueItem) { // arrange var sut = fixture .WithSerializer_ReturnsValidObject(channelGuid, url) .WithDownloader_Returns(downloadContent) .WithDownloadsReader_ConfirmingExistanceOfDownload() .GetWorker(); // act sut.Run(queueItem); // assert fixture.MockBlobPathGenerator .Verify(v => v.CreateChannelDownloadPath(It.IsAny <Guid>()), Times.Never); fixture.MockBlobContainer .Verify(v => v.UploadStringAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <IBlobContainer.UploadStringCompression>()) , Times.Never); }