simple-message-channels/test/test_smc.py

47 lines
1.2 KiB
Python
Raw Permalink Normal View History

2020-08-05 05:15:47 +00:00
def test_smc_send(smc1):
assert smc1.send(0, 1, b"foo") == b"\x04\x01foo"
def test_smc_recv(smc1, smc2):
payload = smc1.send(0, 1, b"foo")
smc2.recv(payload)
assert len(smc2.messages) == 1
2020-08-05 05:58:19 +00:00
assert smc2.messages == [(0, 1, b"foo")]
2020-08-05 05:15:47 +00:00
def test_smc_recv_multiple(smc1, smc2):
payload = smc1.send_batch([(0, 1, b"foo"), (0, 1, b"bar"), (0, 1, b"baz")])
smc2.recv(payload)
assert len(smc2.messages) == 3
2020-08-05 05:58:19 +00:00
assert smc2.messages == [(0, 1, b"foo"), (0, 1, b"bar"), (0, 1, b"baz")]
2020-08-05 05:15:47 +00:00
def test_smc_recv_empty(smc1, smc2):
payload = smc1.send(0, 1, b"")
smc2.recv(payload)
assert len(smc2.messages) == 1
2020-08-05 05:58:19 +00:00
assert smc2.messages == [(0, 1, b"")]
2020-08-05 05:15:47 +00:00
def test_smc_recv_chunked(smc1, smc2):
payload = smc1.send(0, 1, b"foo")
for idx in range(0, len(payload)):
2020-08-05 05:58:19 +00:00
smc2.recv(payload[idx : idx + 1])
2020-08-05 05:15:47 +00:00
assert len(smc2.messages) == 1
2020-08-05 05:58:19 +00:00
assert smc2.messages == [(0, 1, b"foo")]
2020-08-05 05:15:47 +00:00
def test_smc_recv_chunked_multiple(smc1, smc2):
payload = smc1.send_batch([(0, 1, b"foo"), (0, 1, b"bar"), (0, 1, b"baz")])
for idx in range(0, len(payload)):
2020-08-05 05:58:19 +00:00
smc2.recv(payload[idx : idx + 1])
2020-08-05 05:15:47 +00:00
assert len(smc2.messages) == 3
2020-08-05 05:58:19 +00:00
assert smc2.messages == [(0, 1, b"foo"), (0, 1, b"bar"), (0, 1, b"baz")]