tessl install tessl/pypi-pytest-redis@3.1.0Redis fixtures and fixture factories for Pytest.
Agent Success
Agent success rate when using this tile
95%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.12x
Baseline
Agent success rate without this tile
85%
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.