ForcePilot/backend/test/unit/gateway/protocol/test_version.py

43 lines
1.2 KiB
Python
Raw Normal View History

from __future__ import annotations
from yuxi.gateway.protocol.version import PROTOCOL_VERSION, negotiate_version
class TestProtocolVersion:
def test_protocol_version_is_one(self):
assert PROTOCOL_VERSION == 1
def test_protocol_version_is_int(self):
assert isinstance(PROTOCOL_VERSION, int)
class TestNegotiateVersion:
def test_both_v1_returns_1(self):
assert negotiate_version(1, 1) == 1
def test_client_supports_1_to_3_returns_1(self):
assert negotiate_version(1, 3) == 1
def test_client_too_new_returns_none(self):
assert negotiate_version(3, 5) is None
def test_client_expects_future_fails(self):
assert negotiate_version(2, 2) is None
def test_client_range_covers_server(self):
assert negotiate_version(1, 1) == 1
def test_result_is_int(self):
result = negotiate_version(1, 1)
assert isinstance(result, int)
def test_failure_is_none(self):
result = negotiate_version(3, 5)
assert result is None
def test_client_max_exceeds_server(self):
assert negotiate_version(1, 10) == 1
def test_client_min_exceeds_server(self):
assert negotiate_version(2, 10) is None