build 059.10: add runtime transport message models
This commit is contained in:
@@ -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")
|
||||
Reference in New Issue
Block a user