diff options
author | Harald Welte <laforge@osmocom.org> | 2024-01-15 15:21:47 +0100 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2024-01-16 19:04:19 +0100 |
commit | 4f3d11b378b6b37f7e39b523652b0eaea052c955 (patch) | |
tree | f4bccab1a89a33d33468c4cd5a4ff558002c1f37 /tests | |
parent | cd18ed0a82403bc8d4d36649d56bc5e5ee5676d4 (diff) |
euicc: Implement EID checksum verification + computation
Change-Id: I2cb342783137ee7e4b1be3b14e9c3747316f1995
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/test_euicc.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/test_euicc.py b/tests/test_euicc.py new file mode 100755 index 0000000..05d71ed --- /dev/null +++ b/tests/test_euicc.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import unittest + +from pySim.euicc import * + +class TestEid(unittest.TestCase): + + def test_eid_verify(self): + for eid in ['89049032123451234512345678901235', '89086030202200000022000023022943', + '89044045116727494800000004479366', 89044045116727494800000004479366]: + self.assertTrue(verify_eid_checksum(eid)) + + def test_eid_verify_wrong(self): + self.assertFalse(verify_eid_checksum('89049032123451234512345678901234')) + self.assertFalse(verify_eid_checksum(89049032123451234512345678901234)) + + def test_eid_encode_with_32_digits(self): + self.assertEquals(compute_eid_checksum('89049032123451234512345678901200'), '89049032123451234512345678901235') + self.assertEquals(compute_eid_checksum('89086030202200000022000023022900'), '89086030202200000022000023022943') + + def test_eid_encode_with_30digits(self): + self.assertEquals(compute_eid_checksum('890490321234512345123456789012'), '89049032123451234512345678901235') + + def test_eid_encode_with_wrong_csum(self): + # input: EID with wrong checksum + self.assertEquals(compute_eid_checksum('89049032123451234512345678901299'), '89049032123451234512345678901235') + self.assertEquals(compute_eid_checksum(89049032123451234512345678901299), '89049032123451234512345678901235') + +if __name__ == "__main__": + unittest.main() |