diff options
-rw-r--r-- | tests/conftest.py | 7 | ||||
-rw-r--r-- | tests/test_commands.py | 2 | ||||
-rw-r--r-- | tests/test_connection_pool.py | 3 | ||||
-rw-r--r-- | tests/test_pubsub.py | 29 |
4 files changed, 24 insertions, 17 deletions
diff --git a/tests/conftest.py b/tests/conftest.py index 553838d..bd0116b 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,6 +1,8 @@ import pytest import redis +from distutils.version import StrictVersion + _REDIS_VERSIONS = {} @@ -30,9 +32,8 @@ def _get_client(cls, request=None, **kwargs): def skip_if_server_version_lt(min_version): - version = get_version() - c = "StrictVersion('%s') < StrictVersion('%s')" % (version, min_version) - return pytest.mark.skipif(c) + check = StrictVersion(get_version()) < StrictVersion(min_version) + return pytest.mark.skipif(check, reason="") @pytest.fixture() diff --git a/tests/test_commands.py b/tests/test_commands.py index 0878076..5c4ee4a 100644 --- a/tests/test_commands.py +++ b/tests/test_commands.py @@ -11,8 +11,6 @@ from redis.client import parse_info from redis import exceptions from .conftest import skip_if_server_version_lt -# won't need this after next version of pytest -from distutils.version import StrictVersion # RESPONSE CALLBACKS diff --git a/tests/test_connection_pool.py b/tests/test_connection_pool.py index d6c4728..69f4ce7 100644 --- a/tests/test_connection_pool.py +++ b/tests/test_connection_pool.py @@ -9,9 +9,6 @@ from threading import Thread from redis._compat import Queue from .conftest import skip_if_server_version_lt -# won't need this after next version of pytest -from distutils.version import StrictVersion - class DummyConnection(object): description_format = "DummyConnection<>" diff --git a/tests/test_pubsub.py b/tests/test_pubsub.py index 9d47b62..1a3f460 100644 --- a/tests/test_pubsub.py +++ b/tests/test_pubsub.py @@ -54,13 +54,15 @@ class TestPubSubSubscribeUnsubscribe(object): def _test_subscribe_unsubscribe(self, p, sub_type, unsub_type, sub_func, unsub_func, keys): - assert sub_func(*keys) is None + assert sub_func(keys[0]) is None + assert sub_func(keys[1]) is None # should be 2 messages indicating that we've subscribed assert wait_for_message(p) == make_message(sub_type, keys[0], 1) assert wait_for_message(p) == make_message(sub_type, keys[1], 2) - assert unsub_func(*keys) is None + assert unsub_func(keys[0]) is None + assert unsub_func(keys[1]) is None # should be 2 messages indicating that we've unsubscribed assert wait_for_message(p) == make_message(unsub_type, keys[0], 1) @@ -76,19 +78,28 @@ class TestPubSubSubscribeUnsubscribe(object): def _test_resubscribe_on_reconnection(self, p, sub_type, unsub_type, sub_func, unsub_func, keys): - assert sub_func(*keys) is None + assert sub_func(keys[0]) is None + assert sub_func(keys[1]) is None - for i, key in enumerate(keys): - i += 1 # enumerate is 0 index, but we want 1 based indexing - assert wait_for_message(p) == make_message(sub_type, key, i) + # should be 2 messages indicating that we've subscribed + assert wait_for_message(p) == make_message(sub_type, keys[0], 1) + assert wait_for_message(p) == make_message(sub_type, keys[1], 2) # manually disconnect p.connection.disconnect() # calling get_message again reconnects and resubscribes - for i, key in enumerate(keys): - i += 1 # enumerate is 0 index, but we want 1 based indexing - assert wait_for_message(p) == make_message(sub_type, key, i) + # note, we may not re-subscribe to channels in exactly the same order + message1 = wait_for_message(p) + message2 = wait_for_message(p) + + assert message1['type'] == sub_type + assert message1['channel'] in keys + assert message1['data'] == 1 + assert message2['type'] == sub_type + assert message2['channel'] in keys + assert message2['data'] == 2 + assert message1['channel'] != message2['channel'] def test_resubscribe_to_channels_on_reconnection(self, r): kwargs = make_subscribe_test_data(r.pubsub(), 'channel') |