summaryrefslogtreecommitdiffstats
path: root/tests/cli_tests/test_completer.py
blob: 4ffd05837a8dfda2f60576aafdecfae130b216a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import pytest


def test_integer_type_completer(cli):
    cli.expect("127.0.0.1")
    cli.send("BITFIELD meykey GET ")
    cli.expect(["i64", "u63", "u62"])
    cli.sendline("u4 #0")
    cli.expect("127.0.0.1")

    cli.send("BITFIELD meykey GET ")
    cli.expect(["u4", "i64", "u63", "u62"])


def test_command_completion_when_a_command_is_another_command_substring(
    cli, clean_redis
):
    cli.expect("127.0.0.1")
    cli.send("set")
    cli.expect(["set", "setnx", "setex", "setbit", "setrange"])

    cli.send("n")
    cli.expect("setnx")
    cli.send("x")
    cli.expect("setnx")
    cli.sendline("foo bar")
    cli.expect(["1", "127.0.0.1"])

    cli.send("setnx")
    cli.expect("foo")


def test_command_completion_when_space_command(cli, clean_redis):
    cli.expect("127.0.0.1")

    cli.send("command in")
    cli.expect("command info")


@pytest.mark.skipif("int(os.environ['REDIS_VERSION']) < 6")
def test_username_completer(cli, iredis_client):
    iredis_client.execute("acl setuser", "foo1")
    iredis_client.execute("acl setuser", "bar2")

    cli.expect("127.0.0.1")
    cli.sendline("acl users")
    cli.expect("foo1")

    cli.send("acl deluser ")
    cli.expect("foo1")
    cli.expect("bar2")