mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-08-29 03:56:43 +08:00
31 lines
994 B
Python
31 lines
994 B
Python
import asyncio
|
|
from pathlib import Path
|
|
from unittest.mock import AsyncMock
|
|
|
|
from app.modules.discord.discord import Discord
|
|
|
|
|
|
def test_send_file_checks_local_file_in_threadpool(monkeypatch):
|
|
"""Discord 文件发送应把本地文件检查移出 Discord 事件循环。"""
|
|
discord_client = Discord.__new__(Discord)
|
|
channel = AsyncMock()
|
|
discord_client._resolve_channel = AsyncMock(return_value=channel)
|
|
check_file = AsyncMock(return_value=False)
|
|
monkeypatch.setattr("app.modules.discord.discord.run_in_threadpool", check_file)
|
|
|
|
result = asyncio.run(
|
|
discord_client._send_file(
|
|
file_path="/tmp/missing.txt",
|
|
title="标题",
|
|
text=None,
|
|
userid="user-1",
|
|
file_name=None,
|
|
original_chat_id=None,
|
|
)
|
|
)
|
|
|
|
assert result == (False, None)
|
|
check_file.assert_awaited_once()
|
|
assert check_file.await_args.args[1] == Path("/tmp/missing.txt")
|
|
channel.send.assert_not_awaited()
|