| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- from redis import RedisError
-
- from extensions.ext_redis import redis_fallback
-
-
- def test_redis_fallback_success():
- @redis_fallback(default_return=None)
- def test_func():
- return "success"
-
- assert test_func() == "success"
-
-
- def test_redis_fallback_error():
- @redis_fallback(default_return="fallback")
- def test_func():
- raise RedisError("Redis error")
-
- assert test_func() == "fallback"
-
-
- def test_redis_fallback_none_default():
- @redis_fallback()
- def test_func():
- raise RedisError("Redis error")
-
- assert test_func() is None
-
-
- def test_redis_fallback_with_args():
- @redis_fallback(default_return=0)
- def test_func(x, y):
- raise RedisError("Redis error")
-
- assert test_func(1, 2) == 0
-
-
- def test_redis_fallback_with_kwargs():
- @redis_fallback(default_return={})
- def test_func(x=None, y=None):
- raise RedisError("Redis error")
-
- assert test_func(x=1, y=2) == {}
-
-
- def test_redis_fallback_preserves_function_metadata():
- @redis_fallback(default_return=None)
- def test_func():
- """Test function docstring"""
- pass
-
- assert test_func.__name__ == "test_func"
- assert test_func.__doc__ == "Test function docstring"
|