1
0
Fork 0
iredis/tests/cli_tests/test_dsn.py
Daniel Baumann 031879240c
Adding upstream version 1.9.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-02-09 16:57:44 +01:00

53 lines
1.5 KiB
Python

import os
import pexpect
from textwrap import dedent
import pytest
def test_using_dsn():
config_content = dedent(
"""
[alias_dsn]
local = redis://localhost:6379/15
"""
)
with open("/tmp/iredisrc", "w+") as etc_config:
etc_config.write(config_content)
cli = pexpect.spawn("iredis --iredisrc /tmp/iredisrc --dsn local", timeout=1)
cli.logfile_read = open("cli_test.log", "ab")
cli.expect(["iredis", "localhost:6379[15]>"])
cli.close()
# overwrite with -n
cli = pexpect.spawn("iredis --iredisrc /tmp/iredisrc --dsn local -n 3", timeout=1)
cli.logfile_read = open("cli_test.log", "ab")
cli.expect(["iredis", "localhost:6379[3]>"])
cli.close()
# dsn not exists
cli = pexpect.spawn("iredis --iredisrc /tmp/iredisrc --dsn ghost-dsn", timeout=1)
cli.expect(["Could not find the specified DSN in the config file."])
cli.close()
assert cli.status == 1
@pytest.mark.skipif(
not os.path.exists("/tmp/redis/redis.sock"), reason="unix socket is not found"
)
def test_using_dsn_unix():
config_content = dedent(
"""
[alias_dsn]
unix = unix:///tmp/redis/redis.sock?db=3
"""
)
with open("/tmp/iredisrc", "w+") as etc_config:
etc_config.write(config_content)
cli = pexpect.spawn("iredis --iredisrc /tmp/iredisrc --dsn unix", timeout=2)
cli.logfile_read = open("cli_test.log", "ab")
cli.expect(["iredis", "redis /tmp/redis/redis.sock[3]>"])
cli.close()