summaryrefslogtreecommitdiff
path: root/tests/test_connection_pool.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_connection_pool.py')
-rw-r--r--tests/test_connection_pool.py82
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,
}