Support old Redis.
Fix test suite with Redis versions pre-5.0.0
from __future__ import unicode_literals
from redis._compat import unicode
+from .conftest import (skip_if_server_version_lt, skip_if_server_version_gte,
+ skip_unless_arch_bits)
def wait_for_command(client, monitor, command):
@@ -17,12 +19,14 @@ def wait_for_command(client, monitor, command):
class TestPipeline(object):
+ @skip_if_server_version_lt('5.0.0')
def test_wait_command_not_found(self, r):
"Make sure the wait_for_command func works when command is not found"
with r.monitor() as m:
response = wait_for_command(r, m, 'nothing')
assert response is None
+ @skip_if_server_version_lt('5.0.0')
def test_response_values(self, r):
with r.monitor() as m:
r.ping()
@@ -34,12 +38,14 @@ class TestPipeline(object):
assert isinstance(response['client_port'], unicode)
assert response['command'] == 'PING'
+ @skip_if_server_version_lt('5.0.0')
def test_command_with_quoted_key(self, r):
with r.monitor() as m:
r.get('foo"bar')
response = wait_for_command(r, m, 'GET foo"bar')
assert response['command'] == 'GET foo"bar'
+ @skip_if_server_version_lt('5.0.0')
def test_command_with_binary_data(self, r):
with r.monitor() as m:
byte_string = b'foo\x92'
@@ -47,6 +53,7 @@ class TestPipeline(object):
response = wait_for_command(r, m, 'GET foo\\x92')
assert response['command'] == 'GET foo\\x92'
+ @skip_if_server_version_lt('5.0.0')
def test_lua_script(self, r):
with r.monitor() as m:
script = 'return redis.call("GET", "foo")'
