import pytest from socketio.redis_manager import parse_redis_sentinel_url class TestPubSubManager: def test_sentinel_url_parser(self): with pytest.raises(ValueError): parse_redis_sentinel_url('redis://localhost:6379/0') assert parse_redis_sentinel_url( 'redis+sentinel://localhost:6379' ) == ( [('localhost', 6379)], None, {} ) assert parse_redis_sentinel_url( 'redis+sentinel://192.168.0.1:6379,192.168.0.2:6379/' ) == ( [('192.168.0.1', 6379), ('192.168.0.2', 6379)], None, {} ) assert parse_redis_sentinel_url( 'redis+sentinel://h1:6379,h2:6379/0' ) == ( [('h1', 6379), ('h2', 6379)], None, {'db': 0} ) assert parse_redis_sentinel_url( 'redis+sentinel://user:password@h1:6379,h2:6379,h1:6380/0/myredis' ) == ( [('h1', 6379), ('h2', 6379), ('h1', 6380)], 'myredis', {'username': 'user', 'password': 'password', 'db': 0} )