Skip to content

Commit c95beb0

Browse files
authored
added decorator, removed unnecessary skips in tests (#4)
1 parent 46cf2f1 commit c95beb0

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

fakeredis/_server.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2339,7 +2339,7 @@ def _lua_redis_log(self, lua_runtime, expected_globals, lvl, *args):
23392339
msg = ' '.join([x.decode('utf-8')
23402340
if isinstance(x, bytes) else str(x)
23412341
for x in args if not isinstance(x, bool)])
2342-
LOGGER.log(REDIS_LOG_LEVELS_TO_LOGGING.get(lvl, logging.WARNING), msg)
2342+
LOGGER.log(REDIS_LOG_LEVELS_TO_LOGGING[lvl], msg)
23432343

23442344
@command((bytes, Int), (bytes,), flags='s')
23452345
def eval(self, script, numkeys, *keys_and_args):

test_fakeredis.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,16 @@ def skip_test(*args, **kwargs):
5656
redis3_only = pytest.mark.skipif(not REDIS3, reason="Test is only applicable to redis-py 3.x")
5757

5858

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+
5969
def key_val_dict(size=100):
6070
return {b'key:' + bytes([i]): b'val:' + bytes([i])
6171
for i in range(size)}
@@ -4160,9 +4170,8 @@ def test_script(self):
41604170
result = script(args=[42])
41614171
self.assertEqual(result, b'42')
41624172

4173+
@fake_only("requires access to redis log file")
41634174
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")
41664175
logger = fakeredis._server.LOGGER
41674176
script = """
41684177
redis.log(redis.LOG_DEBUG, "debug")
@@ -4179,16 +4188,13 @@ def test_lua_log(self):
41794188
'WARNING:%s:warning' % logger.name])
41804189

41814190
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")
41844191
script = "redis.log(redis.LOG_DEBUG)"
41854192
script = self.redis.register_script(script)
41864193
with self.assertRaises(redis.ResponseError):
41874194
script()
41884195

4196+
@fake_only("requires access to redis log file")
41894197
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")
41924198
logger = fakeredis._server.LOGGER
41934199
script = "redis.log(redis.LOG_DEBUG, 'string', 1, true, 3.14, 'string')"
41944200
script = self.redis.register_script(script)
@@ -4197,16 +4203,13 @@ def test_lua_log_different_types(self):
41974203
self.assertEqual(cm.output, ['DEBUG:%s:string 1 3.14 string' % logger.name])
41984204

41994205
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")
42024206
script = "redis.log(10, 'string')"
42034207
script = self.redis.register_script(script)
42044208
with self.assertRaises(redis.ResponseError):
42054209
script()
42064210

4211+
@fake_only("requires access to redis log file")
42074212
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")
42104213
logger = fakeredis._server.LOGGER
42114214
script = """
42124215
local var='string'

0 commit comments

Comments
 (0)