Build 060.15 — Unified WebSocket Routing

This commit is contained in:
2026-07-19 23:51:46 +03:00
parent bf7645237e
commit 02868561d6
3 changed files with 996 additions and 4 deletions

View File

@@ -14,6 +14,7 @@ from src.market_data.acquisition.exceptions import (
)
from src.market_data.acquisition.models.candle_close import CandleCloseEvent
from src.market_data.acquisition.models.quote import Quote
from src.market_data.acquisition.models.trade import Trade
def test_adapter_routes_quote_message() -> None:
@@ -57,6 +58,30 @@ def test_adapter_routes_ohlc_message() -> None:
assert str(result.close_price) == "103"
def test_adapter_routes_trade_message() -> None:
result = DzengiUnifiedWebSocketAdapter().map_message(
{
"status": "OK",
"destination": "internal.trade",
"payload": {
"id": 123456,
"price": "105.50",
"size": "0.25",
"ts": 1752364800123,
"symbol": "BTC/USD",
"buyer": True,
"orderId": "order-123",
},
}
)
assert isinstance(result, Trade)
assert result.symbol == "BTC/USD"
assert result.trade_id == 123456
assert str(result.price) == "105.50"
assert str(result.quantity) == "0.25"
def test_adapter_passes_received_at_to_quote_adapter() -> None:
received_at = datetime(2026, 7, 17, tzinfo=timezone.utc)