What
Add a live integration test in tests/test_ws_live.py for the liquidation_feed firehose channel (/liquidation/feed, ws.liquidation_feed.stream()).
Why
liquidation_feed is the only SDK-exposed WS channel with no live-lane coverage after #181/PR #182 (which added ticker spot/futures, premium, forex, funding_rate, open_interest, plus the pre-existing liquidation/announcement quiet-window tests).
It couldn't get a deterministic data-assertion because the feed is event-driven: a freshly-connected client isn't guaranteed any data within a bounded window (busy in volatile markets, silent in calm ones).
Options
- Quiet-window-tolerant stopgap now — mirror the existing
test_ws_liquidation_subscribe_tolerates_quiet_window pattern: connect + stream(), assert no error; silence within the timeout = PASS; if a message arrives, assert it's a well-formed liquidation dict. Gives connect/auth/firehose-wiring coverage today, zero flake risk.
- Hard data-assertion once backend replays on connect — blocked on Bisonai/datamaxi-backend#7990 (feed replays last N liquidations on connect). Once that lands, a fresh connection deterministically yields data and this can become a real data-assert like ticker/premium.
Recommend doing (1) now and upgrading to (2) after #7990.
Done when
tests/test_ws_live.py has a test exercising ws.liquidation_feed.stream() under the integration marker (needs DATAMAXI_API_KEY), deselected from the keyless lane. Quiet window = PASS until backend#7990 enables a deterministic data assertion.
Refs
What
Add a live integration test in
tests/test_ws_live.pyfor theliquidation_feedfirehose channel (/liquidation/feed,ws.liquidation_feed.stream()).Why
liquidation_feedis the only SDK-exposed WS channel with no live-lane coverage after #181/PR #182 (which added ticker spot/futures, premium, forex, funding_rate, open_interest, plus the pre-existing liquidation/announcement quiet-window tests).It couldn't get a deterministic data-assertion because the feed is event-driven: a freshly-connected client isn't guaranteed any data within a bounded window (busy in volatile markets, silent in calm ones).
Options
test_ws_liquidation_subscribe_tolerates_quiet_windowpattern: connect +stream(), assert no error; silence within the timeout = PASS; if a message arrives, assert it's a well-formed liquidation dict. Gives connect/auth/firehose-wiring coverage today, zero flake risk.Recommend doing (1) now and upgrading to (2) after #7990.
Done when
tests/test_ws_live.pyhas a test exercisingws.liquidation_feed.stream()under the integration marker (needsDATAMAXI_API_KEY), deselected from the keyless lane. Quiet window = PASS until backend#7990 enables a deterministic data assertion.Refs