public void RoyaltyWorker_Watcher() { SqlLogEnabled = false; try { var storage = new FileStorage(); storage.Log += (s, e) => Console.WriteLine("[FILESTORAGE] {0}", e); var storeFolder = "D:\\filestorage.import.main"; var a = Rep.GetAccount(defAccountName, eagerLoad: new string[] { "Settings" }); var f = Rep.AccountSettingsImportDirectoryNew(a.Settings, new { Path = storeFolder, Filter = "*.csv", ForAnalize = true, DeleteFileAfterImport = true }); Rep.SaveChanges(); var itemsInQueueBeforeTest = a.ImportQueue.Count; using (var watcher = new RoyaltyWatcher(GetNewRepository, storage)) { watcher.OnQueueRecordAdded += (s, e) => Console.WriteLine("[WATCHER:RECORD_ADDED] {0}", e); watcher.Log += (s, e) => Console.WriteLine("[WATCHER] {0}", e); System.IO.File.WriteAllLines(System.IO.Path.Combine(storeFolder, "test.csv"), GenerateCSVData(100)); watcher.RunOnce(); } var newRecordCount = Rep.ImportQueueRecordGet().Where(i => i.Account.AccountUID == a.AccountUID).Count(); Assert.AreNotEqual(itemsInQueueBeforeTest, newRecordCount, "Count must not equals"); } finally { SqlLogEnabled = true; } }
public void RoyaltyWorker_Worker() { SqlLogEnabled = false; try { var storeFolder = "D:\\filestorage.import.main"; var exportFolder = "D:\\export"; var storage = new FileStorage(); storage.Log += (s, e) => Console.WriteLine("[FILESTORAGE] {0}", e); var a = Rep.GetAccount(defAccountName, eagerLoad: new string[] { "Settings" }); a.Settings.IgnoreExportTime = TimeSpan.FromTicks(0); var f = Rep.AccountSettingsImportDirectoryNew(a.Settings, new { Path = storeFolder, Filter = "*.csv", ForAnalize = true, DeleteFileAfterImport = true, Encoding = Encoding.UTF8 }); var ef = Rep.AccountSettingsExportDirectoryNew(a.Settings, new { DirectoryPath = exportFolder, Encoding = Encoding.UTF8 }); Rep.SaveChanges(); using (var watcher = new RoyaltyWatcher(() => GetNewRepository(), storage)) { watcher.OnQueueRecordAdded += (s, e) => Console.WriteLine("[WATCHER:RECORD_ADDED] {0}", e); watcher.Log += (s, e) => Console.WriteLine("[WATCHER:LOG] {0}", e); System.IO.File.WriteAllLines(System.IO.Path.Combine(storeFolder, "test1.csv"), GenerateCSVData(100), f.Encoding); System.IO.File.WriteAllLines(System.IO.Path.Combine(storeFolder, "test2.csv"), GenerateCSVData(100), f.Encoding); System.IO.File.WriteAllLines(System.IO.Path.Combine(storeFolder, "test3.csv"), GenerateCSVData(100), f.Encoding); watcher.RunOnce(); } bool workerStarted = false; using (var worker = new RoyaltyWorker(() => GetNewRepository(), storage)) { worker.Log += (s, e) => Console.WriteLine("[WORKER:LOG] {0}", e); worker.WorkerStateChanged += (s, e) => { workerStarted = true; Console.WriteLine("[WORKER:{0}] progress: {1}", e.Action, e.Element.Progress); }; worker.RunOnce(); } Assert.AreEqual(true, workerStarted, "Worker must started"); } finally { SqlLogEnabled = true; } }