diff --git a/stdlib/3/unittest/mock.pyi b/stdlib/3/unittest/mock.pyi index c52e50577..259e583e5 100644 --- a/stdlib/3/unittest/mock.pyi +++ b/stdlib/3/unittest/mock.pyi @@ -30,44 +30,17 @@ class _MockIter: class Base: def __init__(self, *args: Any, **kwargs: Any) -> None: ... -# TODO: Get rid of the # type: ignore below. -# It is currently required to shut up mypy when run with `--strict` -# or `--disallow-subclassing-any`. The `Any` base class is currently -# the only way to allow passing an instance of `Mock` to functions -# expecting other classes (as is Mock's purpose) -class NonCallableMock(Any): # type: ignore - def __new__(cls, *args: Any, **kw: Any) -> Any: ... - def __init__(self, spec: Optional[Any] = ..., wraps: Optional[Any] = ..., name: Optional[Any] = ..., spec_set: Optional[Any] = ..., parent: Optional[Any] = ..., _spec_state: Optional[Any] = ..., _new_name: Any = ..., _new_parent: Optional[Any] = ..., _spec_as_instance: Any = ..., _eat_self: Optional[Any] = ..., unsafe: Any = ..., **kwargs: Any) -> None: ... - def attach_mock(self, mock: Any, attribute: Any) -> Any: ... - def mock_add_spec(self, spec: Any, spec_set: Any = ...) -> Any: ... - return_value = ... # type: Any - __class__ = ... # type: type - called = ... # type: Any - call_count = ... # type: Any - call_args = ... # type: Any - call_args_list = ... # type: Any - mock_calls = ... # type: Any - side_effect = ... # type: Any - method_calls = ... # type: Any - def reset_mock(self, visited: Optional[bool] = ...) -> None: ... - def configure_mock(self, **kwargs: Any) -> None: ... - def __getattr__(self, name: Any) -> Any: ... - def __dir__(self) -> Any: ... - def __setattr__(self, name: Any, value: Any) -> None: ... - def __delattr__(self, name: Any) -> None: ... - def assert_not_called(_mock_self) -> None: ... - def assert_called_with(_mock_self, *args: Any, **kwargs: Any) -> None: ... - def assert_called_once_with(_mock_self, *args: Any, **kwargs: Any) -> None: ... - def assert_has_calls(self, calls: Any, any_order: bool = ...) -> None: ... - def assert_any_call(self, *args: Any, **kwargs: Any) -> None: ... +# TODO: Defining this and other mock classes as classes in this stub causes +# many false positives with mypy and production code. See if we can +# improve mypy somehow and use a class with an "Any" base class. +NonCallableMock: Any class CallableMixin(Base): side_effect = ... # type: Any def __init__(self, spec: Optional[Any] = ..., side_effect: Optional[Any] = ..., return_value: Any = ..., wraps: Optional[Any] = ..., name: Optional[Any] = ..., spec_set: Optional[Any] = ..., parent: Optional[Any] = ..., _spec_state: Optional[Any] = ..., _new_name: Any = ..., _new_parent: Optional[Any] = ..., **kwargs: Any) -> None: ... def __call__(_mock_self, *args: Any, **kwargs: Any) -> Any: ... -class Mock(CallableMixin, NonCallableMock): - def __init__(self, spec: Any = ..., spec_set: Any = ..., side_effect: Any = ..., return_value: Any = ..., wraps: Any = ..., name: Any = ..., **kwargs: Any) -> None: ... +Mock: Any class _patch: attribute_name = ... # type: Any @@ -121,13 +94,8 @@ patch = ... # type: _patcher class MagicMixin: def __init__(self, *args: Any, **kw: Any) -> None: ... -class NonCallableMagicMock(MagicMixin, NonCallableMock): - def __init__(self) -> None: ... - def mock_add_spec(self, spec: Any, spec_set: Any = ...) -> Any: ... - -class MagicMock(MagicMixin, Mock): - def __init__(self, spec: Any = ..., spec_set: Any = ..., side_effect: Any = ..., return_value: Any = ..., wraps: Any = ..., name: Any = ..., **kwargs: Any) -> None: ... - def mock_add_spec(self, spec: Any, spec_set: Any = ...) -> Any: ... +NonCallableMagicMock: Any +MagicMock: Any class MagicProxy: name = ... # type: Any @@ -172,9 +140,7 @@ class _SpecState: def mock_open(mock: Optional[Any] = ..., read_data: Any = ...) -> Any: ... -class PropertyMock(Mock): - def __get__(self, obj: Any, obj_type: Any) -> Any: ... - def __set__(self, obj: Any, val: Any) -> Any: ... +PropertyMock: Any if sys.version_info >= (3, 7): def seal(mock: Any) -> None: ... diff --git a/third_party/2and3/mock.pyi b/third_party/2and3/mock.pyi index c52e50577..259e583e5 100644 --- a/third_party/2and3/mock.pyi +++ b/third_party/2and3/mock.pyi @@ -30,44 +30,17 @@ class _MockIter: class Base: def __init__(self, *args: Any, **kwargs: Any) -> None: ... -# TODO: Get rid of the # type: ignore below. -# It is currently required to shut up mypy when run with `--strict` -# or `--disallow-subclassing-any`. The `Any` base class is currently -# the only way to allow passing an instance of `Mock` to functions -# expecting other classes (as is Mock's purpose) -class NonCallableMock(Any): # type: ignore - def __new__(cls, *args: Any, **kw: Any) -> Any: ... - def __init__(self, spec: Optional[Any] = ..., wraps: Optional[Any] = ..., name: Optional[Any] = ..., spec_set: Optional[Any] = ..., parent: Optional[Any] = ..., _spec_state: Optional[Any] = ..., _new_name: Any = ..., _new_parent: Optional[Any] = ..., _spec_as_instance: Any = ..., _eat_self: Optional[Any] = ..., unsafe: Any = ..., **kwargs: Any) -> None: ... - def attach_mock(self, mock: Any, attribute: Any) -> Any: ... - def mock_add_spec(self, spec: Any, spec_set: Any = ...) -> Any: ... - return_value = ... # type: Any - __class__ = ... # type: type - called = ... # type: Any - call_count = ... # type: Any - call_args = ... # type: Any - call_args_list = ... # type: Any - mock_calls = ... # type: Any - side_effect = ... # type: Any - method_calls = ... # type: Any - def reset_mock(self, visited: Optional[bool] = ...) -> None: ... - def configure_mock(self, **kwargs: Any) -> None: ... - def __getattr__(self, name: Any) -> Any: ... - def __dir__(self) -> Any: ... - def __setattr__(self, name: Any, value: Any) -> None: ... - def __delattr__(self, name: Any) -> None: ... - def assert_not_called(_mock_self) -> None: ... - def assert_called_with(_mock_self, *args: Any, **kwargs: Any) -> None: ... - def assert_called_once_with(_mock_self, *args: Any, **kwargs: Any) -> None: ... - def assert_has_calls(self, calls: Any, any_order: bool = ...) -> None: ... - def assert_any_call(self, *args: Any, **kwargs: Any) -> None: ... +# TODO: Defining this and other mock classes as classes in this stub causes +# many false positives with mypy and production code. See if we can +# improve mypy somehow and use a class with an "Any" base class. +NonCallableMock: Any class CallableMixin(Base): side_effect = ... # type: Any def __init__(self, spec: Optional[Any] = ..., side_effect: Optional[Any] = ..., return_value: Any = ..., wraps: Optional[Any] = ..., name: Optional[Any] = ..., spec_set: Optional[Any] = ..., parent: Optional[Any] = ..., _spec_state: Optional[Any] = ..., _new_name: Any = ..., _new_parent: Optional[Any] = ..., **kwargs: Any) -> None: ... def __call__(_mock_self, *args: Any, **kwargs: Any) -> Any: ... -class Mock(CallableMixin, NonCallableMock): - def __init__(self, spec: Any = ..., spec_set: Any = ..., side_effect: Any = ..., return_value: Any = ..., wraps: Any = ..., name: Any = ..., **kwargs: Any) -> None: ... +Mock: Any class _patch: attribute_name = ... # type: Any @@ -121,13 +94,8 @@ patch = ... # type: _patcher class MagicMixin: def __init__(self, *args: Any, **kw: Any) -> None: ... -class NonCallableMagicMock(MagicMixin, NonCallableMock): - def __init__(self) -> None: ... - def mock_add_spec(self, spec: Any, spec_set: Any = ...) -> Any: ... - -class MagicMock(MagicMixin, Mock): - def __init__(self, spec: Any = ..., spec_set: Any = ..., side_effect: Any = ..., return_value: Any = ..., wraps: Any = ..., name: Any = ..., **kwargs: Any) -> None: ... - def mock_add_spec(self, spec: Any, spec_set: Any = ...) -> Any: ... +NonCallableMagicMock: Any +MagicMock: Any class MagicProxy: name = ... # type: Any @@ -172,9 +140,7 @@ class _SpecState: def mock_open(mock: Optional[Any] = ..., read_data: Any = ...) -> Any: ... -class PropertyMock(Mock): - def __get__(self, obj: Any, obj_type: Any) -> Any: ... - def __set__(self, obj: Any, val: Any) -> Any: ... +PropertyMock: Any if sys.version_info >= (3, 7): def seal(mock: Any) -> None: ...