コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        public async Task TestGetRecords()
        {
            var recordMgr = JustDownloadFactory.GetRecordManager();

            var records = await recordMgr.GetRecords();

            Assert.IsNotNull(records);
            Assert.IsTrue(records.Count > 0);
        }
コード例 #4
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));
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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));
        }