def test_command_sscan(): completer = IRedisCompleter() completer.member_completer.words = [] rendered = renders.OutputRender.command_sscan( [b"44", [b"a", b"member:__rand_int__", b"dest", b" a"]]) completer.update_completer_for_response( "SSCAN", (0), [b"44", [b"a", b"member:__rand_int__", b"dest", b" a"]]) assert rendered == FormattedText([ ("class:type", "(cursor) "), ("class:integer", "44"), ("", "\n"), ("", "1)"), ("", " "), ("class:member", '"a"'), ("", "\n"), ("", "2)"), ("", " "), ("class:member", '"member:__rand_int__"'), ("", "\n"), ("", "3)"), ("", " "), ("class:member", '"dest"'), ("", "\n"), ("", "4)"), ("", " "), ("class:member", '" a"'), ]) assert completer.member_completer.words == [ " a", "dest", "member:__rand_int__", "a", ]
def test_command_scan(): completer = IRedisCompleter() completer.key_completer.words = [] config.raw = False rendered = renders.OutputRender.command_scan( [b"44", [b"a", b"key:__rand_int__", b"dest", b" a"]]) completer.update_completer_for_response( "SCAN", ("0", ), [b"44", [b"a", b"key:__rand_int__", b"dest", b" a"]]) assert rendered == FormattedText([ ("class:type", "(cursor) "), ("class:integer", "44"), ("", "\n"), ("", "1)"), ("", " "), ("class:key", '"a"'), ("", "\n"), ("", "2)"), ("", " "), ("class:key", '"key:__rand_int__"'), ("", "\n"), ("", "3)"), ("", " "), ("class:key", '"dest"'), ("", "\n"), ("", "4)"), ("", " "), ("class:key", '" a"'), ]) assert completer.key_completer.words == [ " a", "dest", "key:__rand_int__", "a" ]
def test_render_members_config_raw(): completer = IRedisCompleter() completer.member_completer.words = [] config.withscores = True resp = [b"duck", b"667", b"camel", b"708"] rendered = renders.OutputRender.render_raw(resp) completer.update_completer_for_response("ZRANGE", (), resp) assert rendered == b"duck\n667\ncamel\n708" assert completer.member_completer.words == ["camel", "duck"]
def test_username_touch_for_response(): c = IRedisCompleter() c.update_completer_for_response( "acl users", (), [b"hello", b"world"], ) assert sorted(c.username_completer.words) == [ "hello", "world", ]
def test_categoryname_completer_update_for_response(): c = IRedisCompleter() c.update_completer_for_response( "ACL CAT", (), [b"scripting", b"watch"], ) assert sorted(c.catetoryname_completer.words) == ["scripting", "watch"] c.update_completer_for_response( "ACL CAT", ("scripting"), [b"foo", b"bar"], ) assert sorted(c.catetoryname_completer.words) == ["scripting", "watch"]
def test_command_sscan_config_raw(): completer = IRedisCompleter() completer.member_completer.words = [] rendered = renders.OutputRender.render_raw( [b"44", [b"a", b"member:__rand_int__", b"dest", b" a"]]) completer.update_completer_for_response( "SSCAN", (0), [b"44", [b"a", b"member:__rand_int__", b"dest", b" a"]]) assert rendered == b"44\na\nmember:__rand_int__\ndest\n a" assert completer.member_completer.words == [ " a", "dest", "member:__rand_int__", "a", ]
def test_iredis_completer_update_for_response(): c = IRedisCompleter() c.update_completer_for_response( "HGETALL", [ b"Behave", b"misbehave", b"Interpret", b"misinterpret", b"Lead", b"mislead", b"Trust", b"mistrust", ], ) assert c.field_completer.words == ["Trust", "Lead", "Interpret", "Behave"]
def test_completer_when_there_are_spaces_in_command(): c = IRedisCompleter() c.update_completer_for_response( "ACL cat", (), [b"scripting", b"watch"], ) assert sorted(c.catetoryname_completer.words) == ["scripting", "watch"] c.update_completer_for_response( "acl \t cat", (), [b"hello", b"world"], ) assert sorted(c.catetoryname_completer.words) == [ "hello", "scripting", "watch", "world", ]
def test_render_members(): completer = IRedisCompleter() completer.member_completer.words = [] config.withscores = True resp = [b"duck", b"667", b"camel", b"708"] rendered = renders.OutputRender.render_members(resp) completer.update_completer_for_response("ZRANGE", ("foo", "0", "-1"), resp) assert rendered == FormattedText([ ("", "1)"), ("", " "), ("class:integer", "667 "), ("class:member", '"duck"'), ("", "\n"), ("", "2)"), ("", " "), ("class:integer", "708 "), ("class:member", '"camel"'), ]) assert completer.member_completer.words == ["camel", "duck"]
def test_command_keys(): completer = IRedisCompleter() completer.key_completer.words = [] config.raw = False rendered = renders.OutputRender.command_keys([b"cat", b"dog", b"banana"]) completer.update_completer_for_response("KEYS", None, [b"cat", b"dog", b"banana"]) assert rendered == FormattedText([ ("", "1)"), ("", " "), ("class:key", '"cat"'), ("", "\n"), ("", "2)"), ("", " "), ("class:key", '"dog"'), ("", "\n"), ("", "3)"), ("", " "), ("class:key", '"banana"'), ]) assert completer.key_completer.words == ["banana", "dog", "cat"]
def test_iredis_completer_no_exception_for_none_response(): c = IRedisCompleter() c.update_completer_for_response("XPENDING", None) c.update_completer_for_response("KEYS", None)