Skip to content
Snippets Groups Projects
Select Git revision
  • 57c1cc8e5798cc2d57cd39aaa053ea6110bd701e
  • develop default protected
  • ical-export
  • feature/audit_log
  • fix/index
  • badge-redeem-404
  • 720-schedule_source
  • room-docu
  • chore/event-views
  • 511-schedule-foo-fixed
  • 607-schedule-versions
  • deploy/curl-verbose
  • fix/public-badge-access-rights
  • 445-schedule-redirects
  • 623-wiki-im-baustellenmodus-sollte-mal-als-wiki-admin-trotzdem-seiten-anlegen-bearbeiten-konnen
  • fix/registration_mail_subject
  • feature/conference-query-set
  • feature/568-habitatmanagement
  • feat/unit-integration-tests
  • camp23-prod
  • production
  • prod-2024-12-27_20-15
  • prod-2024-12-27_16-37
  • prod-2024-12-27_16-01
  • prod-2024-12-27_13-29
  • prod-2024-12-27_00-34
  • prod-2024-12-26_21-45
  • prod-2024-12-26_13-12
  • prod-2024-12-26_00-21
  • prod-2024-12-25_21-04
  • prod-2024-12-25_15-54
  • prod-2024-12-25_01-29
  • prod-2024-12-24_14-48
  • prod-2024-12-23_23-39
  • prod-2024-12-22_21-12
  • prod-2024-12-22_17-25
  • prod-2024-12-22_01-34
  • prod-2024-12-22_00-55
  • prod-2024-12-21_13-42
  • prod-2024-12-21_10-44
  • prod-2024-12-20_12-25
41 results

serializers.py

Blame
  • Forked from hub / hub
    Source project has a limited visibility.
    test_asn1.py 2.46 KiB
    import unittest
    import enum
    
    from ldapserver import asn1
    
    class TestOctetString(unittest.TestCase):
    	def test_from_ber(self):
    		self.assertEqual(asn1.OctetString.from_ber(b'\x04\x00'), (b'', b''))
    		self.assertEqual(asn1.OctetString.from_ber(b'\x04\x03foo'), (b'foo', b''))
    
    	def test_to_ber(self):
    		self.assertEqual(asn1.OctetString.to_ber(b''), b'\x04\x00')
    		self.assertEqual(asn1.OctetString.to_ber(b'foo'), b'\x04\x03foo')
    
    class TestInteger(unittest.TestCase):
    	def test_from_ber(self):
    		self.assertEqual(asn1.Integer.from_ber(b'\x02\x01\x00'), (0, b''))
    		self.assertEqual(asn1.Integer.from_ber(b'\x02\x01\x01'), (1, b''))
    		self.assertEqual(asn1.Integer.from_ber(b'\x02\x01\x7f'), (127, b''))
    		self.assertEqual(asn1.Integer.from_ber(b'\x02\x02\x00\x80'), (128, b''))
    		self.assertEqual(asn1.Integer.from_ber(b'\x02\x02\x01\x00'), (256, b''))
    		self.assertEqual(asn1.Integer.from_ber(b'\x02\x01\xff'), (-1, b''))
    		self.assertEqual(asn1.Integer.from_ber(b'\x02\x01\x80'), (-128, b''))
    		self.assertEqual(asn1.Integer.from_ber(b'\x02\x02\xff\x7f'), (-129, b''))
    
    	def test_to_ber(self):
    		self.assertEqual(asn1.Integer.to_ber(0), b'\x02\x01\x00')
    		self.assertEqual(asn1.Integer.to_ber(1), b'\x02\x01\x01')
    		self.assertEqual(asn1.Integer.to_ber(127), b'\x02\x01\x7f')
    		self.assertEqual(asn1.Integer.to_ber(128), b'\x02\x02\x00\x80')
    		self.assertEqual(asn1.Integer.to_ber(256), b'\x02\x02\x01\x00')
    		self.assertEqual(asn1.Integer.to_ber(-1), b'\x02\x01\xff')
    		self.assertEqual(asn1.Integer.to_ber(-128), b'\x02\x01\x80')
    		self.assertEqual(asn1.Integer.to_ber(-129), b'\x02\x02\xff\x7f')
    
    class TestBoolean(unittest.TestCase):
    	def test_from_ber(self):
    		self.assertEqual(asn1.Boolean.from_ber(b'\x01\x01\xff'), (True, b''))
    		self.assertEqual(asn1.Boolean.from_ber(b'\x01\x01\x00'), (False, b''))
    
    	def test_to_ber(self):
    		self.assertEqual(asn1.Boolean.to_ber(True), b'\x01\x01\xff')
    		self.assertEqual(asn1.Boolean.to_ber(False), b'\x01\x01\x00')
    
    class TestEnum(unittest.TestCase):
    	def test_from_ber(self):
    		class CustomEnum(enum.Enum):
    			NULL = 0
    			ONE = 1
    		self.assertEqual(asn1.wrapenum(CustomEnum).from_ber(b'\x0a\x01\x00'), (CustomEnum.NULL, b''))
    		self.assertEqual(asn1.wrapenum(CustomEnum).from_ber(b'\x0a\x01\x01'), (CustomEnum.ONE, b''))
    
    	def test_to_ber(self):
    		class CustomEnum(enum.Enum):
    			NULL = 0
    			ONE = 1
    		self.assertEqual(asn1.wrapenum(CustomEnum).to_ber(CustomEnum.NULL), b'\x0a\x01\x00')
    		self.assertEqual(asn1.wrapenum(CustomEnum).to_ber(CustomEnum.ONE), b'\x0a\x01\x01')