pull/35314/head
Trey Moen 4 months ago
parent b79e8cf506
commit 6904700fbf
  1. 50
      system/hardware/tici/tests/test_esim.py

@ -3,61 +3,59 @@ import pytest
from openpilot.system.hardware import TICI
from openpilot.system.hardware.tici.esim import LPA2, LPAProfileNotFoundError
TEST_ACTIVATION_CODE = 'LPA:1$rsp.truphone.com$QRF-BETTERROAMING-PMRDGIR2EARDEIT5'
TEST_ICCID = '8944476500001944011'
TEST_NICKNAME = 'test_profile'
def cleanup():
lpa = LPA2()
try:
lpa.delete_profile(TEST_ICCID)
except LPAProfileNotFoundError:
pass
assert lpa.get_active_profile() is None
lpa.process_notifications()
assert len(lpa.list_notifications()) == 0
class TestEsim:
"""
https://euicc-manual.osmocom.org/docs/rsp/known-test-profile
"""
TEST_ACTIVATION_CODE = 'LPA:1$rsp.truphone.com$QRF-BETTERROAMING-PMRDGIR2EARDEIT5'
TEST_ICCID = '8944476500001944011'
TEST_NICKNAME = 'test_profile'
@classmethod
def setup_class(cls):
if not TICI:
pytest.skip()
return
cleanup()
def setup_method(self):
self._cleanup()
def teardown_method(self):
self._cleanup()
def teardown_class(self):
cleanup()
def test_list_profiles(self):
lpa = LPA2()
profiles = lpa.list_profiles()
assert profiles is not None
def test_download_profile(self):
def test_download_enable_disable_profile(self):
lpa = LPA2()
lpa.download_profile(self.TEST_ACTIVATION_CODE, self.TEST_NICKNAME)
assert self._profile_exists(self.TEST_ICCID, self.TEST_NICKNAME)
assert self._profile_exists(lpa, self.TEST_ICCID, self.TEST_NICKNAME)
self.enable_profile(lpa)
self.disable_profile(lpa)
self._enable_profile(lpa)
self._disable_profile(lpa)
def enable_profile(self, lpa: LPA2):
def _enable_profile(self, lpa: LPA2):
lpa.enable_profile(self.TEST_ICCID)
current = lpa.get_active_profile()
assert current is not None
assert current['iccid'] == self.TEST_ICCID
def disable_profile(self, lpa: LPA2):
def _disable_profile(self, lpa: LPA2):
lpa.disable_profile(self.TEST_ICCID)
current = lpa.get_active_profile()
assert current is None
def _cleanup(self):
lpa = LPA2()
try:
lpa.delete_profile(self.TEST_ICCID)
except LPAProfileNotFoundError:
pass
assert not self._profile_exists(self.TEST_ICCID, self.TEST_NICKNAME)
lpa.process_notifications()
assert len(lpa.list_notifications()) == 0
def _profile_exists(self, iccid: str, nickname: str) -> bool:
lpa = LPA2()
def _profile_exists(self, lpa: LPA2, iccid: str, nickname: str) -> bool:
profiles = lpa.list_profiles()
return any(p['iccid'] == iccid and p['nickname'] == nickname for p in profiles)

Loading…
Cancel
Save