1
0
Fork 0

Adding upstream version 1.12.1.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-09 17:09:42 +01:00
parent 3c10eca007
commit 77ff80fefe
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
17 changed files with 293 additions and 71 deletions

View file

@ -1,3 +1,4 @@
import os
import re
import pytest
import redis
@ -20,6 +21,11 @@ def completer():
return IRedisCompleter()
zset_type = "ziplist"
if os.environ["REDIS_VERSION"] == "7":
zset_type = "listpack"
@pytest.mark.parametrize(
"_input, command_name, expect_args",
[
@ -169,7 +175,16 @@ def test_not_retry_on_authentication_error(iredis_client, config):
iredis_client.execute("None", "GET", ["foo"])
@pytest.mark.skipif("int(os.environ['REDIS_VERSION']) < 6")
@pytest.mark.skipif(
"int(os.environ['REDIS_VERSION']) != 6",
reason="""
in redis7, it will not work if you:
1. connect redis without password
2. set a password
3. auth
the auth will fail""",
)
def test_auto_select_db_and_auth_for_reconnect_only_6(iredis_client, config):
config.retry_times = 2
config.raw = True
@ -256,6 +271,13 @@ def test_peek_key_not_exist(iredis_client, clean_redis, config):
assert peek_result == ["non-exist-key doesn't exist."]
def test_iredis_with_username():
with patch("redis.connection.Connection.connect"):
c = Client("127.0.0.1", "6379", username="abc", password="abc1")
assert c.connection.username == "abc"
assert c.connection.password == "abc1"
def test_peek_string(iredis_client, clean_redis):
clean_redis.set("foo", "bar")
peek_result = list(iredis_client.do_peek("foo"))
@ -337,12 +359,13 @@ def test_peek_zset_fetch_all(iredis_client, clean_redis):
"myzset", dict(zip([f"hello-{index}" for index in range(3)], range(3)))
)
peek_result = list(iredis_client.do_peek("myzset"))
formatted_text_rematch(
peek_result[0][0:9],
FormattedText(
[
("class:dockey", "key: "),
("", r"zset \(ziplist\) mem: \d+ bytes, ttl: -1"),
("", rf"zset \({zset_type}\) mem: \d+ bytes, ttl: -1"),
("", "\n"),
("class:dockey", "zcount: "),
("", "3"),
@ -365,7 +388,7 @@ def test_peek_zset_fetch_part(iredis_client, clean_redis):
FormattedText(
[
("class:dockey", "key: "),
("", r"zset \(ziplist\) mem: \d+ bytes, ttl: -1"),
("", rf"zset \({zset_type}\) mem: \d+ bytes, ttl: -1"),
("", "\n"),
("class:dockey", "zcount: "),
("", "40"),
@ -527,29 +550,23 @@ def test_version_parse_for_auth(iredis_client):
"info, version",
[
(
(
"# Server\r\nredis_version:df--128-NOTFOUND\r\n"
"redis_mode:standalone\r\narch_bits:64"
),
"# Server\r\nredis_version:df--128-NOTFOUND\r\n"
"redis_mode:standalone\r\narch_bits:64",
"df--128-NOTFOUND",
),
(
(
"# Server\r\nredis_version:6.2.5\r\n"
"redis_git_sha1:00000000\r\n"
"redis_git_dirty:0\r\n"
"redis_build_id:915e5480613bc9b6\r\n"
"redis_mode:standalone "
),
"# Server\r\nredis_version:6.2.5\r\n"
"redis_git_sha1:00000000\r\n"
"redis_git_dirty:0\r\n"
"redis_build_id:915e5480613bc9b6\r\n"
"redis_mode:standalone ",
"6.2.5",
),
(
(
"# Server\r\nredis_version:5.0.14.1\r\n"
"redis_git_sha1:00000000\r\nredis_git_dirty:0\r\n"
"redis_build_id:915e5480613bc9b6\r\n"
"redis_mode:standalone "
),
"# Server\r\nredis_version:5.0.14.1\r\n"
"redis_git_sha1:00000000\r\nredis_git_dirty:0\r\n"
"redis_build_id:915e5480613bc9b6\r\n"
"redis_mode:standalone ",
"5.0.14.1",
),
],
@ -564,3 +581,22 @@ def test_version_path(info, version):
client = Client("127.0.0.1", "6379", None)
client.get_server_info()
assert mock_config.version == version
def test_prompt():
c = Client()
assert str(c) == "127.0.0.1:6379> "
c = Client(prompt="{host} {port} {db}")
assert str(c) == "127.0.0.1 6379 0"
c = Client(prompt="{host} {port} {db} {username}")
assert str(c) == "127.0.0.1 6379 0 None"
c = Client(prompt="{host} {port} {db} {username}", username="foo1")
assert str(c) == "127.0.0.1 6379 0 foo1"
c = Client(prompt="{client_id} aabc")
assert re.match(r"^\d+ aabc$", str(c))
c = Client(prompt="{client_addr} >")
assert re.match(r"^127.0.0.1:\d+ >$", str(c))