[tests] enable test results for external extractors (#5262)

https://github.com/mikf/gallery-dl/issues/5262#issuecomment-2231649983
pull/5870/head
Mike Fährmann 2 months ago
parent 6940ad0e72
commit 3fa74ca4d7
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -87,37 +87,32 @@ class TestExtractorResults(unittest.TestCase):
def _run_test(self, result): def _run_test(self, result):
result.pop("#comment", None) result.pop("#comment", None)
auth = result.pop("#auth", None) auth = result.pop("#auth", None)
only_matching = (len(result) <= 3)
extr = result["#class"].from_url(result["#url"])
if not extr:
raise exception.NoExtractorError()
if len(result) <= 3:
return # only matching
if auth is None: if auth is None:
auth = (result["#category"][1] in AUTH) auth = (result["#category"][1] in AUTH)
elif not auth: elif not auth:
# auth explicitly disabled
for key in AUTH_CONFIG: for key in AUTH_CONFIG:
config.set((), key, None) config.set((), key, None)
if auth: if auth and not any(extr.config(key) for key in AUTH_CONFIG):
extr = result["#class"].from_url(result["#url"]) return self._skipped.append((result["#url"], "no auth"))
if not any(extr.config(key) for key in AUTH_CONFIG):
self._skipped.append((result["#url"], "no auth"))
only_matching = True
if only_matching: if "#options" in result:
content = False for key, value in result["#options"].items():
else: key = key.split(".")
if "#options" in result: config.set(key[:-1], key[-1], value)
for key, value in result["#options"].items(): if "#range" in result:
key = key.split(".") config.set((), "image-range" , result["#range"])
config.set(key[:-1], key[-1], value) config.set((), "chapter-range", result["#range"])
if "#range" in result:
config.set((), "image-range" , result["#range"]) tjob = ResultJob(extr, content=("#sha1_content" in result))
config.set((), "chapter-range", result["#range"])
content = ("#sha1_content" in result)
tjob = ResultJob(result["#url"], content=content)
self.assertEqual(result["#class"], tjob.extractor.__class__, "#class")
if only_matching:
return
if "#exception" in result: if "#exception" in result:
with self.assertRaises(result["#exception"], msg="#exception"): with self.assertRaises(result["#exception"], msg="#exception"):

Loading…
Cancel
Save