Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

test_redis.py 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from redis import RedisError
  2. from extensions.ext_redis import redis_fallback
  3. def test_redis_fallback_success():
  4. @redis_fallback(default_return=None)
  5. def test_func():
  6. return "success"
  7. assert test_func() == "success"
  8. def test_redis_fallback_error():
  9. @redis_fallback(default_return="fallback")
  10. def test_func():
  11. raise RedisError("Redis error")
  12. assert test_func() == "fallback"
  13. def test_redis_fallback_none_default():
  14. @redis_fallback()
  15. def test_func():
  16. raise RedisError("Redis error")
  17. assert test_func() is None
  18. def test_redis_fallback_with_args():
  19. @redis_fallback(default_return=0)
  20. def test_func(x, y):
  21. raise RedisError("Redis error")
  22. assert test_func(1, 2) == 0
  23. def test_redis_fallback_with_kwargs():
  24. @redis_fallback(default_return={})
  25. def test_func(x=None, y=None):
  26. raise RedisError("Redis error")
  27. assert test_func(x=1, y=2) == {}
  28. def test_redis_fallback_preserves_function_metadata():
  29. @redis_fallback(default_return=None)
  30. def test_func():
  31. """Test function docstring"""
  32. pass
  33. assert test_func.__name__ == "test_func"
  34. assert test_func.__doc__ == "Test function docstring"