1
0
forked from IQ.Lvbs/IQ.Pilot
Files
IQ.Pilot/iqpilot/konn3kt/tests/test_registration.py
2026-08-22 23:42:42 -05:00

42 lines
1.6 KiB
Python

from unittest.mock import patch
from openpilot.iqpilot.konn3kt import registration
def test_get_registration_identifiers_uses_serial_without_imei():
imei_calls = {"count": 0}
def fake_get_imei(slot: int) -> str | None:
imei_calls["count"] += 1
return None
monotonic_values = iter([0.0, 0.0, 1.0, 2.0])
with patch.object(registration.HARDWARE, "get_serial", return_value="lite123"), \
patch.object(registration.HARDWARE, "get_imei", side_effect=fake_get_imei), \
patch.object(registration.time, "monotonic", side_effect=lambda: next(monotonic_values)), \
patch.object(registration.time, "sleep", return_value=None):
serial, imei1, imei2 = registration.get_registration_identifiers(wait_timeout=1.5, show_spinner=False)
assert serial == "lite123"
assert imei1 == ""
assert imei2 == ""
assert imei_calls["count"] >= 2
def test_get_registration_identifiers_returns_first_available_imei():
imeis = [None, "123456789012345"]
monotonic_values = iter([0.0, 0.0, 0.5, 0.5])
def fake_get_imei(slot: int) -> str | None:
return imeis.pop(0) if slot == 0 else None
with patch.object(registration.HARDWARE, "get_serial", return_value="lite123"), \
patch.object(registration.HARDWARE, "get_imei", side_effect=fake_get_imei), \
patch.object(registration.time, "monotonic", side_effect=lambda: next(monotonic_values)), \
patch.object(registration.time, "sleep", return_value=None):
serial, imei1, imei2 = registration.get_registration_identifiers(wait_timeout=2.0, show_spinner=False)
assert serial == "lite123"
assert imei1 == "123456789012345"
assert imei2 == ""