stock-ai-agent/backend/tests/conftest.py
2026-03-30 11:56:28 +08:00

36 lines
1.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
conftest.py - pytest 全局 mock 配置
在任何 app.* 模块加载前,把 app.config 和 app.utils.logger 替换为 mock
避免 pydantic_settings / 数据库 / 真实网络依赖。
"""
import sys
from unittest.mock import MagicMock
def _mock_settings():
s = MagicMock()
s.bitget_max_total_leverage = 10.0
s.bitget_max_single_position = 1000.0
s.account_max_drawdown = 0.25
s.hyperliquid_circuit_breaker_drawdown = 0.10 # 保留兼容性
s.bitget_trading_enabled = False
return s
# ---- mock app.config ----
mock_config_module = MagicMock()
mock_config_module.get_settings = _mock_settings
sys.modules['app.config'] = mock_config_module
# ---- mock app.utils.logger ----
mock_logger_module = MagicMock()
mock_logger_module.logger = MagicMock()
sys.modules['app.utils'] = MagicMock()
sys.modules['app.utils.logger'] = mock_logger_module
# ---- mock app.services.bitget_trading_api_sdk (避免 ccxt import) ----
mock_sdk_module = MagicMock()
mock_sdk_module.get_bitget_trading_api = MagicMock(return_value=MagicMock())
sys.modules['app.services.bitget_trading_api_sdk'] = mock_sdk_module