summaryrefslogtreecommitdiffstats
path: root/tests/cli_tests/test_completer.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cli_tests/test_completer.py')
-rw-r--r--tests/cli_tests/test_completer.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/cli_tests/test_completer.py b/tests/cli_tests/test_completer.py
new file mode 100644
index 0000000..adf8040
--- /dev/null
+++ b/tests/cli_tests/test_completer.py
@@ -0,0 +1,52 @@
+from packaging.version import parse as version_parse # noqa: F401
+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("version_parse(os.environ['REDIS_VERSION']) < version_parse('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")