from __future__ import annotations

from src.tools import tiny_autonomous_live_runtime as rt


def test_tiny_autonomous_live_mode_requires_explicit_env_gate(monkeypatch, capsys):
    monkeypatch.delenv("CTB_TINY_AUTONOMOUS_LIVE_ALLOWED", raising=False)
    code = rt.main(["--mode", "live", "--iterations", "1", "--json"])
    out = capsys.readouterr().out
    assert code == 2
    assert "CTB_TINY_AUTONOMOUS_LIVE_ALLOWED" in out
    assert "mainnet_signed_action" in out


def test_tiny_runtime_state_roundtrip(tmp_path, monkeypatch):
    monkeypatch.setattr(rt, "RUNTIME_DIR", tmp_path)
    monkeypatch.setattr(rt, "STATE_PATH", tmp_path / "state.json")
    state = rt._load_state()
    state["daily_realized_pnl"] = "-1.0"
    rt._save_state(state)
    assert rt._load_state()["daily_realized_pnl"] == "-1.0"
