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))
|