import string from redis.commands.helpers import ( delist, list_or_args, nativestr, parse_to_list, quote_string, random_string, parse_to_dict ) def test_list_or_args(): k = ["hello, world"] a = ["some", "argument", "list"] assert list_or_args(k, a) == k+a for i in ["banana", b"banana"]: assert list_or_args(i, a) == [i] + a def test_parse_to_list(): assert parse_to_list(None) == [] r = ["hello", b"my name", "45", "555.55", "is simon!", None] assert parse_to_list(r) == \ ["hello", "my name", 45, 555.55, "is simon!", None] def test_parse_to_dict(): assert parse_to_dict(None) == {} r = [['Some number', '1.0345'], ['Some string', 'hello'], ['Child iterators', ['Time', '0.2089', 'Counter', 3, 'Child iterators', ['Type', 'bar', 'Time', '0.0729', 'Counter', 3], ['Type', 'barbar', 'Time', '0.058', 'Counter', 3]]]] assert parse_to_dict(r) == { 'Child iterators': { 'Child iterators': [ {'Counter': 3.0, 'Time': 0.0729, 'Type': 'bar'}, {'Counter': 3.0, 'Time': 0.058, 'Type': 'barbar'} ], 'Counter': 3.0, 'Time': 0.2089 }, 'Some number': 1.0345, 'Some string': 'hello' } def test_nativestr(): assert nativestr('teststr') == 'teststr' assert nativestr(b'teststr') == 'teststr' assert nativestr('null') is None def test_delist(): assert delist(None) is None assert delist([b'hello', 'world', b'banana']) == \ ['hello', 'world', 'banana'] def test_random_string(): assert len(random_string()) == 10 assert len(random_string(15)) == 15 for a in random_string(): assert a in string.ascii_lowercase def test_quote_string(): assert quote_string("hello world!") == '"hello world!"' assert quote_string('') == '""' assert quote_string('hello world!') == '"hello world!"'