Skip to content

Add live WS test for liquidation/feed (firehose) #185

Description

@martinkersner

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

  1. 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.
  2. 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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions