test: align downloader file contract stub

This commit is contained in:
jxxghp
2026-08-24 02:36:02 +08:00
parent 3904a8396b
commit 563e727187
+14
View File
@@ -210,6 +210,19 @@ def _load_transmission_module():
def __init__(self, **kwargs):
self.__dict__.update(kwargs)
class _DownloaderFile:
"""隔离加载 Transmission 时提供下载器文件 DTO 的最小契约。"""
@classmethod
def model_validate(cls, value):
"""按生产 DTO 入口把 SDK 对象投影为测试快照。"""
if isinstance(value, cls):
return value
payload = value if isinstance(value, dict) else vars(value)
instance = cls()
instance.__dict__.update(payload)
return instance
class TorrentStatus(Enum):
TRANSFER = "transfer"
DOWNLOADING = "downloading"
@@ -271,6 +284,7 @@ def _load_transmission_module():
schema_transfer_module.TransferTorrent = _TransferTorrent
schema_transfer_module.DownloadingTorrent = _DownloadingTorrent
schema_transfer_module.DownloaderTorrent = _DownloaderTorrent
schema_transfer_module.DownloaderFile = _DownloaderFile
schema_dashboard_module.DownloaderInfo = object
schema_types_module.TorrentStatus = TorrentStatus
schema_types_module.TorrentQueryStatus = TorrentQueryStatus