You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
3.5 KiB
118 lines
3.5 KiB
#
|
|
# This file is part of pyasn1 software.
|
|
#
|
|
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
|
|
# License: http://snmplabs.com/pyasn1/license.html
|
|
#
|
|
import sys
|
|
|
|
try:
|
|
import unittest2 as unittest
|
|
except ImportError:
|
|
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)
|