build 059.10: add runtime transport message models

This commit is contained in:
2026-07-17 19:29:49 +03:00
parent 8109ed6210
commit 4977c7678a
3 changed files with 488 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
# app/tests/unit/market_data/acquisition/runtime/test_transport_messages.py
from dataclasses import FrozenInstanceError
import pytest
from src.market_data.acquisition.runtime.transport_messages import (
TransportBinaryMessage,
TransportTextMessage,
)
def test_transport_text_message() -> None:
message = TransportTextMessage(payload='{"ping":1}')
assert message.payload == '{"ping":1}'
def test_transport_binary_message() -> None:
message = TransportBinaryMessage(payload=b"\x01\x02")
assert message.payload == b"\x01\x02"
def test_text_message_is_immutable() -> None:
message = TransportTextMessage(payload="abc")
with pytest.raises(FrozenInstanceError):
setattr(message, "payload", "def")
def test_binary_message_is_immutable() -> None:
message = TransportBinaryMessage(payload=b"\x00")
with pytest.raises(FrozenInstanceError):
setattr(message, "payload", b"\x01")