static void LoopClientFoldersAsync() { #if DEBUG var clientFolders = Directory.EnumerateDirectories(@"E:\source\repos\Mapper\PaperRulez\Clients"); #else var clientFolders = Directory.EnumerateDirectories(Path.Combine(Directory.GetCurrentDirectory(), "Clients")); #endif var lookupStore = new LookupStore(); while (true) { foreach (var clientFolder in clientFolders) { var fileList = Directory.EnumerateFiles(clientFolder).ToList(); var client = Path.GetFileName(clientFolder); // Change for any log library, like serilog, NLog, log4net... Console.WriteLine($"Processing client {client}"); foreach (var filePath in fileList) { Console.WriteLine($"Processing file in {filePath}.."); var fileReader = new FileReader(filePath); var paperRulez = new PaperRulez(client, fileReader, lookupStore); paperRulez.Start(); Console.WriteLine($"Processing finished"); } } Task.Delay(5000).Wait(); } }
public void CanGetProcessingTypeFromFile() { var paperRulez = new PaperRulez.PaperRulez("client", new FileReader(Path.Combine(projectDirectory, @"Files\DOCE4878_largeTestFile.text")), new MockLookupStore()); var expectedProcessType = ProcessingType.LOOKUP; var expectedParams = new string[3] { "Cat", "owner", "box" }; var actualProcess = paperRulez.GetProcessingType(); Assert.Equal(expectedProcessType, actualProcess.Type); Assert.Equal(expectedParams, actualProcess.Parameters); }