A Python port of the Invisible Internet Project (I2P)
1"""Tests for ClientMessage and SendFlags."""
2
3import hashlib
4
5from i2p_data.client_message import ClientMessage, SendFlags
6
7
8def test_client_message_creation():
9 msg = ClientMessage(
10 from_dest=b"\x01" * 387,
11 to_dest=b"\x02" * 387,
12 payload=b"hello",
13 message_id=42,
14 message_nonce=7,
15 )
16 assert msg.payload == b"hello"
17 assert msg.message_id == 42
18 assert msg.payload_size == 5
19
20
21def test_client_message_hashes():
22 from_dest = b"\x01" * 387
23 to_dest = b"\x02" * 387
24 msg = ClientMessage(
25 from_dest=from_dest, to_dest=to_dest,
26 payload=b"x", message_id=1, message_nonce=1,
27 )
28 assert msg.from_hash == hashlib.sha256(from_dest).digest()
29 assert msg.to_hash == hashlib.sha256(to_dest).digest()
30
31
32def test_send_flags():
33 assert SendFlags.NONE == 0
34 assert SendFlags.TAG_THRESHOLD_LOW == 1
35 assert SendFlags.TAG_THRESHOLD_HIGH == 2