From 4b14e245d488347fe1702f0d57532b773bcdca61 Mon Sep 17 00:00:00 2001 From: Rodrigo Castro Date: Tue, 24 Mar 2020 11:32:57 -0300 Subject: [PATCH] Mock and MagickMock subclassing NonCallableMock (#3871) --- stdlib/3/unittest/mock.pyi | 10 +++++++--- third_party/2and3/mock.pyi | 10 +++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/stdlib/3/unittest/mock.pyi b/stdlib/3/unittest/mock.pyi index d8ed01ea0..dca9986b1 100644 --- a/stdlib/3/unittest/mock.pyi +++ b/stdlib/3/unittest/mock.pyi @@ -104,7 +104,7 @@ class CallableMixin(Base): 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: ... -Mock = Any +class Mock(NonCallableMock, CallableMixin): ... class _patch: attribute_name: Any @@ -158,8 +158,12 @@ patch: _patcher class MagicMixin: def __init__(self, *args: Any, **kw: Any) -> None: ... -NonCallableMagicMock = Any -MagicMock = Any +class NonCallableMagicMock(MagicMixin, NonCallableMock): + def mock_add_spec(self, spec: Any, spec_set: bool = ...) -> None: ... + +class MagicMock(MagicMixin, Mock): + def mock_add_spec(self, spec: Any, spec_set: bool = ...) -> None: ... + if sys.version_info >= (3, 8): AsyncMock = Any diff --git a/third_party/2and3/mock.pyi b/third_party/2and3/mock.pyi index d8ed01ea0..dca9986b1 100644 --- a/third_party/2and3/mock.pyi +++ b/third_party/2and3/mock.pyi @@ -104,7 +104,7 @@ class CallableMixin(Base): 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: ... -Mock = Any +class Mock(NonCallableMock, CallableMixin): ... class _patch: attribute_name: Any @@ -158,8 +158,12 @@ patch: _patcher class MagicMixin: def __init__(self, *args: Any, **kw: Any) -> None: ... -NonCallableMagicMock = Any -MagicMock = Any +class NonCallableMagicMock(MagicMixin, NonCallableMock): + def mock_add_spec(self, spec: Any, spec_set: bool = ...) -> None: ... + +class MagicMock(MagicMixin, Mock): + def mock_add_spec(self, spec: Any, spec_set: bool = ...) -> None: ... + if sys.version_info >= (3, 8): AsyncMock = Any