diff options
Diffstat (limited to 'tests/test_connection_pool.py')
-rw-r--r-- | tests/test_connection_pool.py | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/tests/test_connection_pool.py b/tests/test_connection_pool.py index 406b5db..e0f0822 100644 --- a/tests/test_connection_pool.py +++ b/tests/test_connection_pool.py @@ -199,6 +199,7 @@ class TestConnectionPoolURLParsing(object): 'host': 'localhost', 'port': 6379, 'db': 0, + 'username': None, 'password': None, } @@ -209,6 +210,7 @@ class TestConnectionPoolURLParsing(object): 'host': 'myhost', 'port': 6379, 'db': 0, + 'username': None, 'password': None, } @@ -220,6 +222,7 @@ class TestConnectionPoolURLParsing(object): 'host': 'my / host +=+', 'port': 6379, 'db': 0, + 'username': None, 'password': None, } @@ -230,6 +233,33 @@ class TestConnectionPoolURLParsing(object): 'host': 'localhost', 'port': 6380, 'db': 0, + 'username': None, + 'password': None, + } + + @skip_if_server_version_lt('5.9.101') + def test_username(self): + pool = redis.ConnectionPool.from_url('redis://myuser:@localhost') + assert pool.connection_class == redis.Connection + assert pool.connection_kwargs == { + 'host': 'localhost', + 'port': 6379, + 'db': 0, + 'username': 'myuser', + 'password': None, + } + + @skip_if_server_version_lt('5.9.101') + def test_quoted_username(self): + pool = redis.ConnectionPool.from_url( + 'redis://%2Fmyuser%2F%2B name%3D%24+:@localhost', + decode_components=True) + assert pool.connection_class == redis.Connection + assert pool.connection_kwargs == { + 'host': 'localhost', + 'port': 6379, + 'db': 0, + 'username': '/myuser/+ name=$+', 'password': None, } @@ -240,6 +270,7 @@ class TestConnectionPoolURLParsing(object): 'host': 'localhost', 'port': 6379, 'db': 0, + 'username': None, 'password': 'mypassword', } @@ -252,9 +283,22 @@ class TestConnectionPoolURLParsing(object): 'host': 'localhost', 'port': 6379, 'db': 0, + 'username': None, 'password': '/mypass/+ word=$+', } + @skip_if_server_version_lt('5.9.101') + def test_username_and_password(self): + pool = redis.ConnectionPool.from_url('redis://myuser:mypass@localhost') + assert pool.connection_class == redis.Connection + assert pool.connection_kwargs == { + 'host': 'localhost', + 'port': 6379, + 'db': 0, + 'username': 'myuser', + 'password': 'mypass', + } + def test_db_as_argument(self): pool = redis.ConnectionPool.from_url('redis://localhost', db='1') assert pool.connection_class == redis.Connection @@ -262,6 +306,7 @@ class TestConnectionPoolURLParsing(object): 'host': 'localhost', 'port': 6379, 'db': 1, + 'username': None, 'password': None, } @@ -272,6 +317,7 @@ class TestConnectionPoolURLParsing(object): 'host': 'localhost', 'port': 6379, 'db': 2, + 'username': None, 'password': None, } @@ -283,6 +329,7 @@ class TestConnectionPoolURLParsing(object): 'host': 'localhost', 'port': 6379, 'db': 3, + 'username': None, 'password': None, } @@ -300,6 +347,7 @@ class TestConnectionPoolURLParsing(object): 'socket_timeout': 20.0, 'socket_connect_timeout': 10.0, 'retry_on_timeout': True, + 'username': None, 'password': None, } assert pool.max_connections == 10 @@ -339,6 +387,7 @@ class TestConnectionPoolURLParsing(object): 'host': 'localhost', 'port': 6379, 'db': 0, + 'username': None, 'password': None, 'a': '1', 'b': '2' @@ -355,6 +404,7 @@ class TestConnectionPoolURLParsing(object): 'host': 'myhost', 'port': 6379, 'db': 0, + 'username': None, 'password': None, } @@ -370,6 +420,31 @@ class TestConnectionPoolUnixSocketURLParsing(object): assert pool.connection_kwargs == { 'path': '/socket', 'db': 0, + 'username': None, + 'password': None, + } + + @skip_if_server_version_lt('5.9.101') + def test_username(self): + pool = redis.ConnectionPool.from_url('unix://myuser:@/socket') + assert pool.connection_class == redis.UnixDomainSocketConnection + assert pool.connection_kwargs == { + 'path': '/socket', + 'db': 0, + 'username': 'myuser', + 'password': None, + } + + @skip_if_server_version_lt('5.9.101') + def test_quoted_username(self): + pool = redis.ConnectionPool.from_url( + 'unix://%2Fmyuser%2F%2B name%3D%24+:@/socket', + decode_components=True) + assert pool.connection_class == redis.UnixDomainSocketConnection + assert pool.connection_kwargs == { + 'path': '/socket', + 'db': 0, + 'username': '/myuser/+ name=$+', 'password': None, } @@ -379,6 +454,7 @@ class TestConnectionPoolUnixSocketURLParsing(object): assert pool.connection_kwargs == { 'path': '/socket', 'db': 0, + 'username': None, 'password': 'mypassword', } @@ -390,6 +466,7 @@ class TestConnectionPoolUnixSocketURLParsing(object): assert pool.connection_kwargs == { 'path': '/socket', 'db': 0, + 'username': None, 'password': '/mypass/+ word=$+', } @@ -401,6 +478,7 @@ class TestConnectionPoolUnixSocketURLParsing(object): assert pool.connection_kwargs == { 'path': '/my/path/to/../+_+=$ocket', 'db': 0, + 'username': None, 'password': 'mypassword', } @@ -410,6 +488,7 @@ class TestConnectionPoolUnixSocketURLParsing(object): assert pool.connection_kwargs == { 'path': '/socket', 'db': 1, + 'username': None, 'password': None, } @@ -419,6 +498,7 @@ class TestConnectionPoolUnixSocketURLParsing(object): assert pool.connection_kwargs == { 'path': '/socket', 'db': 2, + 'username': None, 'password': None, } @@ -428,6 +508,7 @@ class TestConnectionPoolUnixSocketURLParsing(object): assert pool.connection_kwargs == { 'path': '/socket', 'db': 0, + 'username': None, 'password': None, 'a': '1', 'b': '2' @@ -443,6 +524,7 @@ class TestSSLConnectionURLParsing(object): 'host': 'localhost', 'port': 6379, 'db': 0, + 'username': None, 'password': None, } |