New paste Repaste Download
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x1203095e0>
    def test_reason_live_level_events_debounces_already_posted(monkeypatch):
        # a committing event already BROADCAST (discord_posted) is not re-reasoned/re-posted (idempotent)
        monkeypatch.setattr(TR.settings, "TIDE_REASONING_LIVE_LEVEL_EVENTS_ENABLED", True, raising=False)
        monkeypatch.setattr(TR, "_live_enabled", lambda: True)
        ev = {"kind": "liquidation_below_poc", "et": "10:40:36", "direction": "up", "level": "intraday_poc",
              "level_value": 0.062, "breadth": -0.276}
        monkeypatch.setattr("rtrader.services.tide_level_events.committing_level_events", lambda *a, **k: [ev])
        monkeypatch.setattr("rtrader.services.tide_wave_dashboard.tide_series", lambda *a, **k: {"points": []})
        monkeypatch.setattr("rtrader.services.tide_wave_dashboard.prev_day_tide_levels", lambda *a, **k: {})
        monkeypatch.setattr("rtrader.services.tide_wave_dashboard.premarket_tide_read", lambda *a, **k: None)
        monkeypatch.setattr(TR, "load_reasoning",
                            lambda *a, **k: [{"event_et": "10:40:36", "kind": "liquidation_below_poc",
                                              "discord_posted": True}])
        llm = {"n": 0}
        monkeypatch.setattr(TR, "call_llm", lambda *a, **k: llm.__setitem__("n", llm["n"] + 1) or "")
        posts = []
        monkeypatch.setattr(TR, "_send_discord", lambda m: posts.append(m))
        out = TR.reason_live_level_events("2026-07-10", now=datetime(2026, 7, 10, 14, 0, tzinfo=TR.ET))
>       assert out == {"asked": 0, "reasoned": 0} and llm["n"] == 0 and posts == []
E       AssertionError: assert ({'asked': 0, ...'reasoned': 0} == {'asked': 0, 'reasoned': 0}
E         
E         Omitting 2 identical items, use -vv to show
E         Left contains 1 more item:
E         {'labeled_skipped': 0}
E         
E         Full diff:
E           {...
E         
E         ...Full output truncated (4 lines hidden), use '-vv' to show)
tests/services/test_tide_etf_reasoning.py:1002: AssertionError
Filename: None. Size: 2kb. View raw, , hex, or download this file.

This paste expires on 2026-07-27 19:01:59.133550+00:00. Pasted through deprecated-web.