Пример #1
0
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",
    ]
Пример #2
0
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"
    ]
Пример #3
0
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"]
Пример #4
0
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",
    ]
Пример #5
0
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"]
Пример #6
0
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",
    ]
Пример #7
0
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"]
Пример #8
0
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",
    ]
Пример #9
0
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"]
Пример #10
0
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"]
Пример #11
0
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)