blob: 05d71ede9c682d3efb37069938875c657bc4c375 [file] [log] [blame]
Harald Welte4f3d11b2024-01-15 15:21:47 +01001#!/usr/bin/env python3
2
3import unittest
4
5from pySim.euicc import *
6
7class 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
30if __name__ == "__main__":
31 unittest.main()