mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-07-07 12:29:06 +08:00
test: fix download save path fixtures
This commit is contained in:
@@ -4,13 +4,31 @@ from unittest.mock import MagicMock, patch
|
||||
|
||||
from app.agent.tools.factory import MoviePilotToolFactory
|
||||
from app.agent.tools.impl.update_download_tasks import UpdateDownloadTasksTool
|
||||
from app.schemas import DownloaderTorrent
|
||||
from app.schemas import DownloaderTorrent, TransferDirectoryConf
|
||||
|
||||
|
||||
def test_update_download_tasks_resolves_downloader_and_updates_all_supported_fields():
|
||||
def _download_dirs():
|
||||
"""
|
||||
构造允许下载任务修改保存目录的测试下载目录配置。
|
||||
"""
|
||||
return [
|
||||
TransferDirectoryConf(
|
||||
name="本地下载",
|
||||
priority=1,
|
||||
storage="local",
|
||||
download_path="/downloads",
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
def test_update_download_tasks_resolves_downloader_and_updates_all_supported_fields(monkeypatch):
|
||||
"""
|
||||
未显式传下载器时,应先按 Hash 解析任务所属下载器,再一次性执行多项修改。
|
||||
"""
|
||||
monkeypatch.setattr(
|
||||
"app.helper.directory.DirectoryHelper.get_download_dirs",
|
||||
lambda _self: _download_dirs(),
|
||||
)
|
||||
hash_value = "a" * 40
|
||||
download_chain = MagicMock()
|
||||
download_chain.list_torrents.return_value = [
|
||||
|
||||
@@ -7,7 +7,7 @@ from app.chain.download import DownloadChain
|
||||
from app.core.config import settings
|
||||
from app.core.context import Context, MediaInfo, SubtitleInfo, TorrentInfo
|
||||
from app.core.metainfo import MetaInfo
|
||||
from app.schemas import FileItem, NotExistMediaInfo
|
||||
from app.schemas import FileItem, NotExistMediaInfo, TransferDirectoryConf
|
||||
from app.schemas.types import MediaType
|
||||
|
||||
|
||||
@@ -43,6 +43,20 @@ class _FakeThreadHelper:
|
||||
self.submitted.append((func, args, kwargs))
|
||||
|
||||
|
||||
def _download_dirs():
|
||||
"""
|
||||
构造下载成功路径测试使用的允许下载目录配置。
|
||||
"""
|
||||
return [
|
||||
TransferDirectoryConf(
|
||||
name="本地下载",
|
||||
priority=1,
|
||||
storage="local",
|
||||
download_path="/downloads",
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
class _FakeSubtitleStorageChain:
|
||||
"""
|
||||
模拟字幕 API 保存文件时使用的存储链。
|
||||
@@ -106,6 +120,10 @@ def test_download_single_submits_download_added_to_background(monkeypatch):
|
||||
添加下载成功后,站点字幕等后处理应提交到后台,不能阻塞下载接口返回。
|
||||
"""
|
||||
_FakeThreadHelper.submitted = []
|
||||
monkeypatch.setattr(
|
||||
"app.helper.directory.DirectoryHelper.get_download_dirs",
|
||||
lambda _self: _download_dirs(),
|
||||
)
|
||||
monkeypatch.setattr(download_module, "ThreadHelper", _FakeThreadHelper)
|
||||
monkeypatch.setattr(download_module, "DownloadHistoryOper", _FakeDownloadHistoryOper)
|
||||
monkeypatch.setattr(download_module, "TorrentHelper", _FakeTorrentHelper)
|
||||
@@ -172,6 +190,10 @@ def test_download_single_persists_custom_words_snapshot(monkeypatch):
|
||||
pass
|
||||
|
||||
_FakeThreadHelper.submitted = []
|
||||
monkeypatch.setattr(
|
||||
"app.helper.directory.DirectoryHelper.get_download_dirs",
|
||||
lambda _self: _download_dirs(),
|
||||
)
|
||||
monkeypatch.setattr(download_module, "ThreadHelper", _FakeThreadHelper)
|
||||
monkeypatch.setattr(download_module, "DownloadHistoryOper", _CapturingDownloadHistoryOper)
|
||||
monkeypatch.setattr(download_module, "TorrentHelper", _FakeTorrentHelper)
|
||||
|
||||
Reference in New Issue
Block a user