aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_downloader.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2025-03-01 19:51:39 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2025-03-01 19:51:39 -0500
commit889c7b8caec8fc0b9c7a583ed1d9cfa43518fc42 (patch)
treecff4a7de7032843e4efe521d92dfce485ae944f1 /test/test_downloader.py
parenta26df18796ff4e506b16bf32fcec9336233b9e2e (diff)
New upstream version 1.29.0.upstream/1.29.0
Diffstat (limited to 'test/test_downloader.py')
-rw-r--r--test/test_downloader.py62
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