mirror of
https://github.com/kc1awv/rrcd.git
synced 2026-05-04 16:39:07 -07:00
Add nickname support to envelope protocol and update version to 0.1.1
This commit is contained in:
@@ -4,6 +4,7 @@ from rrcd.constants import (
|
||||
B_HELLO_NICK,
|
||||
K_BODY,
|
||||
K_ID,
|
||||
K_NICK,
|
||||
K_SRC,
|
||||
K_T,
|
||||
K_TS,
|
||||
@@ -19,6 +20,26 @@ def test_validate_accepts_make_envelope() -> None:
|
||||
validate_envelope(env)
|
||||
|
||||
|
||||
def test_validate_accepts_optional_nick_extension() -> None:
|
||||
env = make_envelope(T_HELLO, src=b"peer", body=None, nick="alice")
|
||||
assert env[K_NICK] == "alice"
|
||||
validate_envelope(env)
|
||||
|
||||
|
||||
def test_validate_rejects_nick_too_long() -> None:
|
||||
env = make_envelope(T_HELLO, src=b"peer", body=None)
|
||||
env[K_NICK] = "a" * 33
|
||||
with pytest.raises(ValueError):
|
||||
validate_envelope(env)
|
||||
|
||||
|
||||
def test_validate_rejects_nick_with_whitespace() -> None:
|
||||
env = make_envelope(T_HELLO, src=b"peer", body=None)
|
||||
env[K_NICK] = " alice "
|
||||
with pytest.raises(ValueError):
|
||||
validate_envelope(env)
|
||||
|
||||
|
||||
def test_validate_rejects_missing_required_key() -> None:
|
||||
env = make_envelope(T_HELLO, src=b"peer", body=None)
|
||||
env.pop(K_TS)
|
||||
@@ -67,3 +88,8 @@ def test_validate_rejects_wrong_field_types() -> None:
|
||||
env[K_TS] = "not-int"
|
||||
with pytest.raises(TypeError):
|
||||
validate_envelope(env)
|
||||
|
||||
env = make_envelope(T_HELLO, src=b"peer", body=None)
|
||||
env[K_NICK] = 123
|
||||
with pytest.raises(TypeError):
|
||||
validate_envelope(env)
|
||||
|
||||
Reference in New Issue
Block a user