@@ -56,6 +56,16 @@ def skip_test(*args, **kwargs):
56
56
redis3_only = pytest .mark .skipif (not REDIS3 , reason = "Test is only applicable to redis-py 3.x" )
57
57
58
58
59
+ def fake_only (reason ):
60
+ def wrap (func ):
61
+ def wrapper (self ):
62
+ if not isinstance (self .redis , (fakeredis .FakeRedis , fakeredis .FakeStrictRedis )):
63
+ pytest .skip ("Works only on fakeredis: %s" % reason )
64
+ func (self )
65
+ return wrapper
66
+ return wrap
67
+
68
+
59
69
def key_val_dict (size = 100 ):
60
70
return {b'key:' + bytes ([i ]): b'val:' + bytes ([i ])
61
71
for i in range (size )}
@@ -4160,9 +4170,8 @@ def test_script(self):
4160
4170
result = script (args = [42 ])
4161
4171
self .assertEqual (result , b'42' )
4162
4172
4173
+ @fake_only ("requires access to redis log file" )
4163
4174
def test_lua_log (self ):
4164
- if not isinstance (self .redis , (fakeredis .FakeRedis , fakeredis .FakeStrictRedis )):
4165
- pytest .skip ("Works only on fakeredis, as testing real redis will require access to its logs" )
4166
4175
logger = fakeredis ._server .LOGGER
4167
4176
script = """
4168
4177
redis.log(redis.LOG_DEBUG, "debug")
@@ -4179,16 +4188,13 @@ def test_lua_log(self):
4179
4188
'WARNING:%s:warning' % logger .name ])
4180
4189
4181
4190
def test_lua_log_no_message (self ):
4182
- if not isinstance (self .redis , (fakeredis .FakeRedis , fakeredis .FakeStrictRedis )):
4183
- pytest .skip ("Works only on fakeredis, as testing real redis will require access to its logs" )
4184
4191
script = "redis.log(redis.LOG_DEBUG)"
4185
4192
script = self .redis .register_script (script )
4186
4193
with self .assertRaises (redis .ResponseError ):
4187
4194
script ()
4188
4195
4196
+ @fake_only ("requires access to redis log file" )
4189
4197
def test_lua_log_different_types (self ):
4190
- if not isinstance (self .redis , (fakeredis .FakeRedis , fakeredis .FakeStrictRedis )):
4191
- pytest .skip ("Works only on fakeredis, as testing real redis will require access to its logs" )
4192
4198
logger = fakeredis ._server .LOGGER
4193
4199
script = "redis.log(redis.LOG_DEBUG, 'string', 1, true, 3.14, 'string')"
4194
4200
script = self .redis .register_script (script )
@@ -4197,16 +4203,13 @@ def test_lua_log_different_types(self):
4197
4203
self .assertEqual (cm .output , ['DEBUG:%s:string 1 3.14 string' % logger .name ])
4198
4204
4199
4205
def test_lua_log_wrong_level (self ):
4200
- if not isinstance (self .redis , (fakeredis .FakeRedis , fakeredis .FakeStrictRedis )):
4201
- pytest .skip ("Works only on fakeredis, as testing real redis will require access to its logs" )
4202
4206
script = "redis.log(10, 'string')"
4203
4207
script = self .redis .register_script (script )
4204
4208
with self .assertRaises (redis .ResponseError ):
4205
4209
script ()
4206
4210
4211
+ @fake_only ("requires access to redis log file" )
4207
4212
def test_lua_log_defined_vars (self ):
4208
- if not isinstance (self .redis , (fakeredis .FakeRedis , fakeredis .FakeStrictRedis )):
4209
- pytest .skip ("Works only on fakeredis, as testing real redis will require access to its logs" )
4210
4213
logger = fakeredis ._server .LOGGER
4211
4214
script = """
4212
4215
local var='string'
0 commit comments