Redis¶
Integration with Redis using the Redis Docker Image, Snap’s Key DB<https://docs.keydb.dev/> or Dragonfly.
Installation¶
pip install pytest-databases[redis]
Usage Example¶
import redis
from pytest_databases.docker.redis import RedisService
pytest_plugins = ["pytest_databases.docker.redis"]
def test(redis_service: RedisService) -> None:
client = redis.Redis(
host=redis_service.host,
port=redis_service.port,
db=redis_service.db
)
client.set("test_key", "test_value")
assert client.get("test_key") == b"test_value"
def test(redis_connection: redis.Redis) -> None:
redis_connection.set("test_key", "test_value")
assert redis_connection.get("test_key") == b"test_value"
Available Fixtures¶
redis_port: The port number for the Redis service.redis_host: The host name for the Redis service.redis_image: The Docker image to use for Redis.redis_service: A fixture that provides a Redis service.redis_connection: A fixture that provides a Redis connection.
The following version-specific fixtures are also available:
dragonflydb_port,dragonflydb_host,dragonflydb_image,dragonflydb_service,dragonflydb_connection: Latest Available DragonflyDB Docker image.keydb_port,keydb_host,keydb_image,keydb_service,keydb_connection: Latest Available KeyDB Docker image.
Service API¶
- class pytest_databases.docker.redis.RedisService(host, port, db)[source]¶
Bases:
ServiceContainer- __init__(host, port, db)¶
- pytest_databases.docker.redis.xdist_redis_isolation_level()[source]¶
- Return type:
Literal['database','server']
- pytest_databases.docker.redis.redis_service(docker_service, redis_image, xdist_redis_isolation_level)[source]¶
- Return type:
- pytest_databases.docker.redis.dragonfly_service(docker_service, dragonfly_image, xdist_redis_isolation_level)[source]¶
- Return type: