static async void StartDownloading() { var recordManager = JustDownloadFactory.GetRecordManager(); var downloader = JustDownloadFactory.GetDownloader(); try { var records = await recordManager.GetRecords(); if (records?.Any() ?? false) { Console.WriteLine("Starting downloads..."); await downloader.GetFiles(records); } else { Console.WriteLine("No download records found."); } } catch (Exception e) { Console.Error.WriteLine(e); } }
public async Task TestGetFiles_Success() { var downloader = JustDownloadFactory.GetDownloader(); var records = new DownloadRecord[] { new DownloadRecord() { Name = "Test", Filename = "TestGetFiles_Success result1.pdf", Source = new Uri("http://viewnet.com.my/downloads/viewnet_diy_pricelist.pdf") }, new DownloadRecord() { Name = "Test 2", Filename = "TestGetFiles_Success result2.pdf", Source = new Uri("http://viewnet.com.my/downloads/viewnet_diy_pricelist.pdf") }, new DownloadRecord() { Name = "Test 3", Filename = "TestGetFiles_Success result3.pdf", Source = new Uri("http://viewnet.com.my/downloads/viewnet_diy_pricelist.pdf") }, }; await downloader.GetFiles(records); foreach (var record in records) { Assert.IsTrue(File.Exists(record.Filename)); } }
public async Task TestGetRecords() { var recordMgr = JustDownloadFactory.GetRecordManager(); var records = await recordMgr.GetRecords(); Assert.IsNotNull(records); Assert.IsTrue(records.Count > 0); }
public async Task TestGetFile_Success() { var downloader = JustDownloadFactory.GetDownloader(); var record = new DownloadRecord() { Name = "Test", Filename = "result.pdf", Source = new Uri("http://viewnet.com.my/downloads/viewnet_diy_pricelist.pdf") }; await downloader.GetFile(record); Assert.IsTrue(File.Exists(record.Filename)); }
public async Task TestGetRecords_InvalidScheme() { var filePath = Path.Combine(Directory.GetCurrentDirectory(), "invalidscheme.txt"); var recordMgr = JustDownloadFactory.GetRecordManager(new Dictionary <ConfigKey, object>() { { ConfigKey.TextRecordManagerFilePath, filePath } }); var exception = await Assert.ThrowsExceptionAsync <Exception>(async() => { await recordMgr.GetRecords(); }); Assert.IsNotNull(exception); }
public async Task TestGetFile_WeirdUrl() { var downloader = JustDownloadFactory.GetDownloader(); var record = new DownloadRecord() { Name = "Nope", Filename = "TestGetFile_WeirdUrl.pdf", Source = new Uri("http://lalalalala.xz") }; var exception = await Assert.ThrowsExceptionAsync <Exception>(async() => { await downloader.GetFile(record); }); Assert.IsNotNull(exception); Assert.IsFalse(File.Exists(record.Filename)); }