# coding: utf-8 from __future__ import unicode_literals, division, absolute_import, print_function import unittest import sys import os from asn1crypto import crl from ._unittest_compat import patch patch() if sys.version_info < (3,): byte_cls = str num_cls = long # noqa else: byte_cls = bytes num_cls = int tests_root = os.path.dirname(__file__) fixtures_dir = os.path.join(tests_root, 'fixtures') class CRLTests(unittest.TestCase): def test_parse_crl(self): with open(os.path.join(fixtures_dir, 'eid2011.crl'), 'rb') as f: cert_list = crl.CertificateList.load(f.read()) serial_numbers = [] for revoked_cert in cert_list['tbs_cert_list']['revoked_certificates']: serial_numbers.append(revoked_cert['user_certificate'].native) self.assertEqual( 15752, len(serial_numbers) ) for serial_number in serial_numbers: self.assertIsInstance( serial_number, num_cls )