diff --git a/system/hardware/tici/tests/test_esim.py b/system/hardware/tici/tests/test_esim.py index d597db0696..f4d18f45f3 100644 --- a/system/hardware/tici/tests/test_esim.py +++ b/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)