summaryrefslogtreecommitdiff
path: root/tests/test_connection_pool.py
diff options
context:
space:
mode:
authorAndy McCurdy <andy@andymccurdy.com>2014-04-10 16:20:03 -0700
committerAndy McCurdy <andy@andymccurdy.com>2014-04-10 16:20:03 -0700
commitf96e46b971a5bb66ab5f94ba87ab3e092e5f01ac (patch)
tree5f14946d117efb561859edccf43bdeedfc8eda14 /tests/test_connection_pool.py
parent8a49069d0259ac79e9122e4cf7c1579deac23905 (diff)
downloadredis-py-f96e46b971a5bb66ab5f94ba87ab3e092e5f01ac.tar.gz
mostly fixes #456. there's still an issue w/ hiredis and multi-bulk replies
Diffstat (limited to 'tests/test_connection_pool.py')
-rw-r--r--tests/test_connection_pool.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/test_connection_pool.py b/tests/test_connection_pool.py
index 10e11ab..b4b6268 100644
--- a/tests/test_connection_pool.py
+++ b/tests/test_connection_pool.py
@@ -187,3 +187,34 @@ class TestConnection(object):
pool = r.connection_pool
assert len(pool._available_connections) == 1
assert not pool._available_connections[0]._sock
+
+ @skip_if_server_version_lt('2.8.8')
+ def test_busy_loading_from_pipeline_immediate_command(self, r):
+ """
+ BusyLoadingErrors should raise from Pipelines that execute a
+ command immediately, like WATCH does.
+ """
+ pipe = r.pipeline()
+ with pytest.raises(redis.BusyLoadingError):
+ pipe.immediate_execute_command('DEBUG', 'ERROR',
+ 'LOADING fake message')
+ pool = r.connection_pool
+ assert not pipe.connection
+ assert len(pool._available_connections) == 1
+ assert not pool._available_connections[0]._sock
+
+ # TODO: This fails on hiredis. need to think about this
+ # @skip_if_server_version_lt('2.8.8')
+ # def test_busy_loading_from_pipeline(self, r):
+ # """
+ # BusyLoadingErrors should be raised from a pipeline execution
+ # regardless of the raise_on_error flag.
+ # """
+ # pipe = r.pipeline()
+ # pipe.execute_command('DEBUG', 'ERROR', 'LOADING fake message')
+ # with pytest.raises(redis.BusyLoadingError):
+ # pipe.execute()
+ # pool = r.connection_pool
+ # assert not pipe.connection
+ # assert len(pool._available_connections) == 1
+ # assert not pool._available_connections[0]._sock