diff options
| author | 2025-03-01 19:51:39 -0500 | |
|---|---|---|
| committer | 2025-03-01 19:51:39 -0500 | |
| commit | 889c7b8caec8fc0b9c7a583ed1d9cfa43518fc42 (patch) | |
| tree | cff4a7de7032843e4efe521d92dfce485ae944f1 /test | |
| parent | a26df18796ff4e506b16bf32fcec9336233b9e2e (diff) | |
New upstream version 1.29.0.upstream/1.29.0
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_downloader.py | 62 |
1 files changed, 61 insertions, 1 deletions
diff --git a/test/test_downloader.py b/test/test_downloader.py index 35cccc4..5a9a20b 100644 --- a/test/test_downloader.py +++ b/test/test_downloader.py @@ -20,7 +20,6 @@ import tempfile import threading import http.server - sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from gallery_dl import downloader, extractor, output, config, path # noqa E402 from gallery_dl.downloader.http import MIME_TYPES, SIGNATURE_CHECKS # noqa E402 @@ -55,6 +54,9 @@ class TestDownloaderModule(unittest.TestCase): else: del sys.modules["youtube_dl"] + def setUp(self): + downloader._cache.clear() + def tearDown(self): downloader._cache.clear() @@ -107,6 +109,64 @@ class TestDownloaderModule(unittest.TestCase): self.assertEqual(import_module.call_count, 1) +class TestDownloaderConfig(unittest.TestCase): + + def setUp(self): + config.clear() + + def tearDown(self): + config.clear() + + def test_default_http(self): + job = FakeJob() + extr = job.extractor + dl = downloader.find("http")(job) + + self.assertEqual(dl.adjust_extension, True) + self.assertEqual(dl.chunk_size, 32768) + self.assertEqual(dl.metadata, None) + self.assertEqual(dl.progress, 3.0) + self.assertEqual(dl.validate, True) + self.assertEqual(dl.headers, None) + self.assertEqual(dl.minsize, None) + self.assertEqual(dl.maxsize, None) + self.assertEqual(dl.mtime, True) + self.assertEqual(dl.rate, None) + self.assertEqual(dl.part, True) + self.assertEqual(dl.partdir, None) + + self.assertIs(dl.interval_429, extr._interval_429) + self.assertIs(dl.retry_codes, extr._retry_codes) + self.assertIs(dl.retries, extr._retries) + self.assertIs(dl.timeout, extr._timeout) + self.assertIs(dl.proxies, extr._proxies) + self.assertIs(dl.verify, extr._verify) + + def test_config_http(self): + config.set((), "rate", 42) + config.set((), "mtime", False) + config.set((), "headers", {"foo": "bar"}) + config.set(("downloader",), "retries", -1) + config.set(("downloader", "http"), "filesize-min", "10k") + config.set(("extractor", "generic"), "verify", False) + config.set(("extractor", "generic", "example.org"), "timeout", 10) + config.set(("extractor", "generic", "http"), "part", False) + config.set( + ("extractor", "generic", "example.org", "http"), "headers", {}) + + job = FakeJob() + dl = downloader.find("http")(job) + + self.assertEqual(dl.headers, {"foo": "bar"}) + self.assertEqual(dl.minsize, 10240) + self.assertEqual(dl.retries, float("inf")) + self.assertEqual(dl.timeout, 10) + self.assertEqual(dl.verify, False) + self.assertEqual(dl.mtime, False) + self.assertEqual(dl.rate, 42) + self.assertEqual(dl.part, False) + + class TestDownloaderBase(unittest.TestCase): @classmethod |
