chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
import sys
|
||||
from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
|
||||
from ray._common.deprecation import (
|
||||
DEPRECATED_VALUE,
|
||||
Deprecated,
|
||||
deprecation_warning,
|
||||
)
|
||||
|
||||
|
||||
def test_deprecation_warning_warn():
|
||||
with patch("ray._common.deprecation.logger.warning") as mock_warning:
|
||||
deprecation_warning("old_feature", "new_feature")
|
||||
|
||||
mock_warning.assert_called_once()
|
||||
args, _ = mock_warning.call_args
|
||||
assert (
|
||||
"DeprecationWarning: `old_feature` has been deprecated. Use `new_feature` instead."
|
||||
in args[0]
|
||||
)
|
||||
|
||||
|
||||
def test_deprecation_warning_error():
|
||||
with pytest.raises(ValueError) as excinfo:
|
||||
deprecation_warning("old_feature", error=True)
|
||||
assert "`old_feature` has been deprecated." in str(excinfo.value)
|
||||
|
||||
|
||||
def test_deprecated_decorator_function():
|
||||
with patch("ray._common.deprecation.logger.warning") as mock_warning, patch(
|
||||
"ray._common.deprecation.log_once"
|
||||
) as mock_log_once:
|
||||
mock_log_once.return_value = True
|
||||
|
||||
@Deprecated(old="old_func", new="new_func", error=False)
|
||||
def old_func():
|
||||
return "result"
|
||||
|
||||
result = old_func()
|
||||
assert result == "result"
|
||||
mock_warning.assert_called_once()
|
||||
|
||||
|
||||
def test_deprecated_decorator_class():
|
||||
with patch("ray._common.deprecation.logger.warning") as mock_warning, patch(
|
||||
"ray._common.deprecation.log_once"
|
||||
) as mock_log_once:
|
||||
mock_log_once.return_value = True
|
||||
|
||||
@Deprecated(old="OldClass", new="NewClass", error=False)
|
||||
class OldClass:
|
||||
pass
|
||||
|
||||
instance = OldClass()
|
||||
assert isinstance(instance, OldClass)
|
||||
mock_warning.assert_called_once()
|
||||
|
||||
|
||||
def test_deprecated_decorator_method():
|
||||
with patch("ray._common.deprecation.logger.warning") as mock_warning, patch(
|
||||
"ray._common.deprecation.log_once"
|
||||
) as mock_log_once:
|
||||
mock_log_once.return_value = True
|
||||
|
||||
class MyClass:
|
||||
@Deprecated(old="old_method", new="new_method", error=False)
|
||||
def old_method(self):
|
||||
return "method_result"
|
||||
|
||||
instance = MyClass()
|
||||
result = instance.old_method()
|
||||
assert result == "method_result"
|
||||
mock_warning.assert_called_once()
|
||||
|
||||
|
||||
def test_deprecated_decorator_error():
|
||||
with patch("ray._common.deprecation.log_once") as mock_log_once:
|
||||
mock_log_once.return_value = True
|
||||
|
||||
@Deprecated(old="old_func", error=True)
|
||||
def old_func():
|
||||
pass
|
||||
|
||||
with pytest.raises(ValueError):
|
||||
old_func()
|
||||
|
||||
|
||||
def test_deprecated_value_constant():
|
||||
assert (
|
||||
DEPRECATED_VALUE == -1
|
||||
), f"DEPRECATED_VALUE should be -1, but got {DEPRECATED_VALUE}"
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(pytest.main(["-sv", __file__]))
|
||||
Reference in New Issue
Block a user