add direct NOTICE delivery extension with destination identity support

This commit is contained in:
kc1awv
2026-05-17 19:40:17 +00:00
parent 5ea91a011e
commit 1e109e8137
11 changed files with 306 additions and 10 deletions
+12
View File
@@ -3,6 +3,7 @@ import pytest
from rrcd.constants import (
B_HELLO_NICK_LEGACY,
K_BODY,
K_DST,
K_ID,
K_NICK,
K_SRC,
@@ -26,6 +27,12 @@ def test_validate_accepts_optional_nick_extension() -> None:
validate_envelope(env)
def test_validate_accepts_optional_destination_extension() -> None:
env = make_envelope(T_HELLO, src=b"peer", dst=b"target", body=None)
assert env[K_DST] == b"target"
validate_envelope(env)
def test_validate_allows_ridiculous_or_empty_nick() -> None:
env = make_envelope(T_HELLO, src=b"peer", body=None)
env[K_NICK] = ""
@@ -89,3 +96,8 @@ def test_validate_rejects_wrong_field_types() -> None:
env[K_NICK] = 123
with pytest.raises(TypeError):
validate_envelope(env)
env = make_envelope(T_HELLO, src=b"peer", body=None)
env[K_DST] = "not-bytes"
with pytest.raises(TypeError):
validate_envelope(env)