28 lines
922 B
Python
28 lines
922 B
Python
|
import pytest
|
||
|
|
||
|
from libp2p.security.noise.io import MAX_NOISE_MESSAGE_LEN, NoisePacketReadWriter
|
||
|
from libp2p.tools.factories import raw_conn_factory
|
||
|
|
||
|
|
||
|
@pytest.mark.parametrize(
|
||
|
"noise_msg",
|
||
|
(b"", b"data", pytest.param(b"A" * MAX_NOISE_MESSAGE_LEN, id="maximum length")),
|
||
|
)
|
||
|
@pytest.mark.trio
|
||
|
async def test_noise_msg_read_write_round_trip(nursery, noise_msg):
|
||
|
async with raw_conn_factory(nursery) as conns:
|
||
|
reader, writer = (
|
||
|
NoisePacketReadWriter(conns[0]),
|
||
|
NoisePacketReadWriter(conns[1]),
|
||
|
)
|
||
|
await writer.write_msg(noise_msg)
|
||
|
assert (await reader.read_msg()) == noise_msg
|
||
|
|
||
|
|
||
|
@pytest.mark.trio
|
||
|
async def test_noise_msg_write_too_long(nursery):
|
||
|
async with raw_conn_factory(nursery) as conns:
|
||
|
writer = NoisePacketReadWriter(conns[0])
|
||
|
with pytest.raises(ValueError):
|
||
|
await writer.write_msg(b"1" * (MAX_NOISE_MESSAGE_LEN + 1))
|