Redis fixtures and fixture factories for Pytest.
Overall
score
95%
Build a test suite for a distributed caching system that requires multiple isolated Redis instances running simultaneously on different ports. The system needs to test scenarios where multiple Redis servers are running in parallel without port conflicts.
Your test suite should demonstrate the ability to:
Create test fixtures that utilize different port allocation strategies for different test scenarios:
@generates
import pytest
from pytest_redis import factories
# Custom Redis fixtures with different port allocation strategies
redis_random = factories.redis_proc(port=None)
redis_range = factories.redis_proc(port=(3000, 3100))
redis_set = factories.redis_proc(port={6380, 6381, 6382})
# Corresponding client fixtures
redisdb_random = factories.redisdb('redis_random')
redisdb_range = factories.redisdb('redis_range')
redisdb_set = factories.redisdb('redis_set')
def test_random_port(redisdb_random):
"""Test Redis instance with random port allocation"""
pass
def test_port_range(redisdb_range):
"""Test Redis instance with port range allocation"""
pass
def test_port_set(redisdb_set):
"""Test Redis instance with port set allocation"""
pass
def test_multiple_instances(redisdb_random, redisdb_range, redisdb_set):
"""Test multiple Redis instances running simultaneously"""
passProvides Redis fixtures and fixture factories for testing with flexible port allocation strategies.
Install with Tessl CLI
npx tessl i tessl/pypi-pytest-redisdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10