200702d066
Co-authored-by: Cursor <cursoragent@cursor.com>
48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
"""资金门 fail-closed 测试。"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from app.strategy.open_capacity import funds_gate_blocks
|
|
|
|
|
|
def test_funds_gate_blocks_none() -> None:
|
|
blocked, msg = funds_gate_blocks(
|
|
{
|
|
"perp_can_open": True,
|
|
"option_can_open": None,
|
|
"perp_label": "a",
|
|
"option_label": "b",
|
|
}
|
|
)
|
|
assert blocked is True
|
|
assert "未知" in msg or "拒绝" in msg
|
|
|
|
|
|
def test_funds_gate_blocks_false() -> None:
|
|
blocked, msg = funds_gate_blocks(
|
|
{
|
|
"perp_can_open": True,
|
|
"option_can_open": False,
|
|
"perp_label": "永续可开",
|
|
"option_label": "期权不可开",
|
|
"perp_need_usdt": 1,
|
|
"perp_have_usdt": 10,
|
|
"option_need_usdc": 100,
|
|
"option_have_usdc": 1,
|
|
}
|
|
)
|
|
assert blocked is True
|
|
assert "不可开" in msg or "不足" in msg
|
|
|
|
|
|
def test_funds_gate_ok_only_when_both_true() -> None:
|
|
blocked, _ = funds_gate_blocks(
|
|
{
|
|
"perp_can_open": True,
|
|
"option_can_open": True,
|
|
"perp_label": "永续可开",
|
|
"option_label": "期权可开",
|
|
}
|
|
)
|
|
assert blocked is False
|