from hbd.client.main import build_heartbeat_msg class _Conn: ackcount = 3 rtts = [0, 12.5] class _Conn2: def __init__(self, flags): self._flags = flags def flags(self): return self._flags def test_heartbeat_without_connectivity_is_unchanged(): assert build_heartbeat_msg(_Conn(), 60) == {"acks": 3, "rtt": 12.5, "interval": 60} def test_heartbeat_carries_presence_flags(): msg = build_heartbeat_msg(_Conn(), 60, _Conn2({"p4": True, "p6": False})) assert msg == {"acks": 3, "rtt": 12.5, "interval": 60, "p4": True, "p6": False} def test_heartbeat_omits_unknown_flags(): msg = build_heartbeat_msg(_Conn(), 60, _Conn2({})) assert "p4" not in msg and "p6" not in msg