Harald Welte | 4f3d11b | 2024-01-15 15:21:47 +0100 | [diff] [blame] | 1 | #!/usr/bin/env python3 |
| 2 | |
| 3 | import unittest |
| 4 | |
| 5 | from pySim.euicc import * |
| 6 | |
| 7 | class TestEid(unittest.TestCase): |
| 8 | |
| 9 | def test_eid_verify(self): |
| 10 | for eid in ['89049032123451234512345678901235', '89086030202200000022000023022943', |
| 11 | '89044045116727494800000004479366', 89044045116727494800000004479366]: |
| 12 | self.assertTrue(verify_eid_checksum(eid)) |
| 13 | |
| 14 | def test_eid_verify_wrong(self): |
| 15 | self.assertFalse(verify_eid_checksum('89049032123451234512345678901234')) |
| 16 | self.assertFalse(verify_eid_checksum(89049032123451234512345678901234)) |
| 17 | |
| 18 | def test_eid_encode_with_32_digits(self): |
| 19 | self.assertEquals(compute_eid_checksum('89049032123451234512345678901200'), '89049032123451234512345678901235') |
| 20 | self.assertEquals(compute_eid_checksum('89086030202200000022000023022900'), '89086030202200000022000023022943') |
| 21 | |
| 22 | def test_eid_encode_with_30digits(self): |
| 23 | self.assertEquals(compute_eid_checksum('890490321234512345123456789012'), '89049032123451234512345678901235') |
| 24 | |
| 25 | def test_eid_encode_with_wrong_csum(self): |
| 26 | # input: EID with wrong checksum |
| 27 | self.assertEquals(compute_eid_checksum('89049032123451234512345678901299'), '89049032123451234512345678901235') |
| 28 | self.assertEquals(compute_eid_checksum(89049032123451234512345678901299), '89049032123451234512345678901235') |
| 29 | |
| 30 | if __name__ == "__main__": |
| 31 | unittest.main() |