public async Task GetNewFiles_2Changed_ShouldFind6NewFiles() { var folder = new CrawledFolder { Name = "FileFolder" }; ICollection <File> existingFiles = new List <File> { Helper.GetFileModel("FileFolder", "test1.txt"), Helper.GetFileModel("FileFolder", "test2.txt") }; var fileRepositoryMock = new Mock <IFileRepository>(); fileRepositoryMock.Setup(x => x.GetFilesForFolder(It.IsAny <Guid>())) .Returns(Task.FromResult(Result <ICollection <File> > .Success(existingFiles))); var fileCollector = new FileCollector(fileRepositoryMock.Object, folder); await fileCollector.CollectFiles(); Assert.AreEqual(6, fileCollector.NewFiles.Count); Assert.IsTrue(fileCollector.NewFiles.Any(x => x.Name == "test1_changed.txt")); Assert.IsTrue(fileCollector.NewFiles.Any(x => x.Name == "test1_compressed.txt")); Assert.IsTrue(fileCollector.NewFiles.Any(x => x.Name == "test1_copy.txt")); Assert.IsTrue(fileCollector.NewFiles.Any(x => x.Name == "test3.txt")); Assert.IsTrue(fileCollector.NewFiles.Any(x => x.Name == "test4.txt")); Assert.IsTrue(fileCollector.NewFiles.Any(x => x.Name == "test5.txt")); }
private async Task ProcessChangedFiles(CrawledFolder folder, List <System.IO.FileInfo> changedFiles) { var queue = _workerQueueContainer.ToSendFiles.Writer; foreach (var changedFile in changedFiles) { var updatedFile = await _fileService.CreateUpdateFile(folder.Id, changedFile); if (updatedFile is object) { if (await queue.WaitToWriteAsync()) { await queue.WriteAsync(updatedFile); } } } }
private async Task ProcessNewFiles(CrawledFolder folder, List <System.IO.FileInfo> newFiles) { var queue = _workerQueueContainer.ToSendFiles.Writer; foreach (var newFile in newFiles) { var createdFile = await _fileService.CreateNewFile(folder.Id, newFile); if (createdFile is object) { WorkerLog.Instance.Debug($"Adding '{createdFile.Path}' to queue"); if (await queue.WaitToWriteAsync()) { await queue.WriteAsync(createdFile); } } } }
public async Task GetNewFiles_ShouldFind8NewFiles() { var folder = new CrawledFolder { Name = "FileFolder" }; var fileRepositoryMock = new Mock <IFileRepository>(); fileRepositoryMock.Setup(x => x.GetFilesForFolder(It.IsAny <Guid>())) .ReturnsAsync(() => Result <ICollection <File> > .Success(new List <File>())); var fileCollector = new FileCollector(fileRepositoryMock.Object, folder); await fileCollector.CollectFiles(); Assert.AreEqual(8, fileCollector.NewFiles.Count); Assert.IsTrue(fileCollector.NewFiles.Any(x => x.Name == "test1.txt")); Assert.IsTrue(fileCollector.NewFiles.Any(x => x.Name == "test1_changed.txt")); Assert.IsTrue(fileCollector.NewFiles.Any(x => x.Name == "test1_compressed.txt")); Assert.IsTrue(fileCollector.NewFiles.Any(x => x.Name == "test1_copy.txt")); Assert.IsTrue(fileCollector.NewFiles.Any(x => x.Name == "test2.txt")); Assert.IsTrue(fileCollector.NewFiles.Any(x => x.Name == "test3.txt")); Assert.IsTrue(fileCollector.NewFiles.Any(x => x.Name == "test4.txt")); Assert.IsTrue(fileCollector.NewFiles.Any(x => x.Name == "test5.txt")); }
public FileCollector Get(CrawledFolder folder) { return(new FileCollector(_fileRepository, folder)); }
public FileCollector(IFileRepository fileRepository, CrawledFolder folder) { _fileRepository = fileRepository; _folder = folder; }