Initial import: Music_Server, MusicFree, catalog-sync
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import tempfile
|
||||
import unittest
|
||||
import warnings
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
class ExistingClientLoaderTests(unittest.TestCase):
|
||||
def test_build_music_client_can_instantiate_qq_client_lazily(self):
|
||||
from musicdl.modules import BuildMusicClient
|
||||
|
||||
with warnings.catch_warnings():
|
||||
warnings.simplefilter("ignore", ResourceWarning)
|
||||
with tempfile.TemporaryDirectory(ignore_cleanup_errors=True) as tmpdir:
|
||||
client = BuildMusicClient(
|
||||
{
|
||||
"type": "QQMusicClient",
|
||||
"logger_handle": None,
|
||||
"disable_print": True,
|
||||
"work_dir": str(Path(tmpdir) / "outputs"),
|
||||
"maintain_session": False,
|
||||
"search_size_per_source": 1,
|
||||
"search_size_per_page": 1,
|
||||
"strict_limit_search_size_per_page": True,
|
||||
}
|
||||
)
|
||||
|
||||
self.assertEqual("QQMusicClient", client.source)
|
||||
|
||||
def test_default_download_source_modules_enable_postponed_annotations_for_python38(self):
|
||||
source_dir = Path("musicdl/modules/sources")
|
||||
for module_name in ("qq.py", "kuwo.py", "migu.py", "qianqian.py", "kugou.py", "netease.py"):
|
||||
module_text = (source_dir / module_name).read_text(encoding="utf-8")
|
||||
self.assertIn(
|
||||
"from __future__ import annotations",
|
||||
module_text,
|
||||
msg=f"{module_name} should postpone annotation evaluation for Python 3.8 compatibility",
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user