# # This file is part of pyasn1 software. # # Copyright (c) 2005-2020, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # import sys import unittest from tests.base import BaseTestCase from pyasn1.compat import octets class OctetsTestCase(BaseTestCase): if sys.version_info[0] > 2: def test_ints2octs(self): assert [1, 2, 3] == list(octets.ints2octs([1, 2, 3])) def test_ints2octs_empty(self): assert not octets.ints2octs([]) def test_int2oct(self): assert [12] == list(octets.int2oct(12)) def test_octs2ints(self): assert [1, 2, 3] == list(octets.octs2ints(bytes([1, 2, 3]))) def test_octs2ints_empty(self): assert not octets.octs2ints(bytes([])) def test_oct2int(self): assert 12 == octets.oct2int(bytes([12]))[0] def test_str2octs(self): assert bytes([1, 2, 3]) == octets.str2octs('\x01\x02\x03') def test_str2octs_empty(self): assert not octets.str2octs('') def test_octs2str(self): assert '\x01\x02\x03' == octets.octs2str(bytes([1, 2, 3])) def test_octs2str_empty(self): assert not octets.octs2str(bytes([])) def test_isOctetsType(self): assert octets.isOctetsType('abc') == False assert octets.isOctetsType(123) == False assert octets.isOctetsType(bytes()) == True def test_isStringType(self): assert octets.isStringType('abc') == True assert octets.isStringType(123) == False assert octets.isStringType(bytes()) == False def test_ensureString(self): assert 'abc'.encode() == octets.ensureString('abc'.encode()) assert bytes([1, 2, 3]) == octets.ensureString([1, 2, 3]) else: def test_ints2octs(self): assert '\x01\x02\x03' == octets.ints2octs([1, 2, 3]) def test_ints2octs_empty(self): assert not octets.ints2octs([]) def test_int2oct(self): assert '\x0c' == octets.int2oct(12) def test_octs2ints(self): assert [1, 2, 3] == octets.octs2ints('\x01\x02\x03') def test_octs2ints_empty(self): assert not octets.octs2ints('') def test_oct2int(self): assert 12 == octets.oct2int('\x0c') def test_str2octs(self): assert '\x01\x02\x03' == octets.str2octs('\x01\x02\x03') def test_str2octs_empty(self): assert not octets.str2octs('') def test_octs2str(self): assert '\x01\x02\x03' == octets.octs2str('\x01\x02\x03') def test_octs2str_empty(self): assert not octets.octs2str('') def test_isOctetsType(self): assert octets.isOctetsType('abc') == True assert octets.isOctetsType(123) == False assert octets.isOctetsType(unicode('abc')) == False def test_isStringType(self): assert octets.isStringType('abc') == True assert octets.isStringType(123) == False assert octets.isStringType(unicode('abc')) == True def test_ensureString(self): assert 'abc' == octets.ensureString('abc') assert '123' == octets.ensureString(123) suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__]) if __name__ == '__main__': unittest.TextTestRunner(verbosity=2).run(suite)