IQ.Pilot Release Commit @ 0798119
This commit is contained in:
41
iqpilot/konn3kt/tests/test_registration.py
Normal file
41
iqpilot/konn3kt/tests/test_registration.py
Normal file
@@ -0,0 +1,41 @@
|
||||
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 == ""
|
||||
Reference in New Issue
Block a user