8000 Fix mock patch.dict stub and add mock stub · python/typeshed@a0ab2e4 · GitHub
[go: up one dir, main page]

Skip to content

Commit a0ab2e4

Browse files
author
Robert Collins
committed
Fix mock patch.dict stub and add mock stub
The dict stub was referring to an instance, not the type, leading to __call__ being considered when using as a decorator, rather than __init__. mock is a backport of the stdlib module and should be defined the same.
1 parent 351d019 commit a0ab2e4

File tree

3 files changed

+184
-2
lines changed

3 files changed

+184
-2
lines changed

stdlib/3/unittest/mock.pyi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Stubs for unittest.mock
22

33
import sys
4-
from typing import Any, Optional
4+
from typing import Any, Optional, Type
55

66
if sys.version_info >= (3, 3):
77
FILTER_DIR = ... # type: Any
@@ -111,7 +111,7 @@ if sys.version_info >= (3, 3):
111111

112112
class _patcher:
113113
TEST_PREFIX = ... # type: str
114-
dict = ... # type: _patch_dict
114+
dict = ... # type: Type[_patch_dict]
115115
def __call__(self, target: Any, new: Optional[Any] = ..., spec: Optional[Any] = ..., create: bool = ..., spec_set: Optional[Any] = ..., autospec: Optional[Any] = ..., new_callable: Optional[Any] = ..., **kwargs: Any) -> Any: ...
116116
def object(self, target: Any, attribute: str, new: Optional[Any] = ..., spec: Optional[Any] = ..., create: bool = ..., spec_set: Optional[Any] = ..., autospec: Optional[Any] = ..., new_callable: Optional[Any] = ..., **kwargs: Any) -> _patch: ...
117117
def multiple(self, target: Any, spec: Optional[Any] = ..., create: bool = ..., spec_set: Optional[Any] = ..., autospec: Optional[Any] = ..., new_callable: Optional[Any] = ..., **kwargs: Any) -> Any: ...

tests/check_consistent.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
{'stdlib/3/ntpath.pyi', 'stdlib/3/posixpath.pyi', 'stdlib/3/macpath.pyi', 'stdlib/3/posixpath.pyi'},
1414
{'stdlib/3.4/enum.pyi', 'third_party/3/enum.pyi'},
1515
{'stdlib/2/os/path.pyi', 'stdlib/3/os/path.pyi'},
16+
{'stdlib/3/unittest/mock.pyi', 'third_party/2and3/mock.pyi'},
1617
]
1718

1819
def main():

third_party/2and3/mock.pyi

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
# Stubs for unittest.mock
2+
3+
import sys
4+
from typing import Any, Optional, Type
5+
6+
if sys.version_info >= (3, 3):
7+
FILTER_DIR = ... # type: Any
8+
9+
class _slotted: ...
10+
11+
class _SentinelObject:
12+
name = ... # type: Any
13+
def __init__(self, name: Any) -> None: ...
14+
15+
class _Sentinel:
16+
def __init__(self) -> None: ...
17+
def __getattr__(self, name: str) -> Any: ...
18+
19+
sentinel = ... # type: Any
20+
DEFAULT = ... # type: Any
21+
22+
class _CallList(list):
23+
def __contains__(self, value: Any) -> bool: ...
24+
25+
class _MockIter:
26+
obj = ... # type: Any
27+
def __init__(self, obj: Any) -> None: ...
28+
def __iter__(self) -> Any: ...
29+
def __next__(self) -> Any: ...
30+
31+
class Base:
32+
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
33+
34+
# TODO: Get rid of the # type: ignore below.
35+
# It is currently required to shut up mypy when run with `--strict`
36+
# or `--disallow-subclassing-any`. The `Any` base class is currently
37+
# the only way to allow passing an instance of `Mock` to functions
38+
# expecting other classes (as is Mock's purpose)
39+
class NonCallableMock(Any): # type: ignore
40+
def __new__(cls, *args: Any, **kw: Any) -> Any: ...
41+
def __init__(self, spec: Optional[Any] = ..., wraps: Optional[Any] = ..., name: A3E2 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: ...
42+
def attach_mock(self, mock: Any, attribute: Any) -> Any: ...
43+
def mock_add_spec(self, spec: Any, spec_set: Any = ...) -> Any: ...
44+
return_value = ... # type: Any
45+
__class__ = ... # type: type
46+
called = ... # type: Any
47+
call_count = ... # type: Any
48+
call_args = ... # type: Any
49+
call_args_list = ... # type: Any
50+
mock_calls = ... # type: Any
51+
side_effect = ... # type: Any
52+
method_calls = ... # type: Any
53+
def reset_mock(self, visited: Optional[bool] = ...) -> None: ...
54+
def configure_mock(self, **kwargs: Any) -> None: ...
55+
def __getattr__(self, name: Any) -> Any: ...
56+
def __dir__(self) -> Any: ...
57+
def __setattr__(self, name: Any, value: Any) -> None: ...
58+
def __delattr__(self, name: Any) -> None: ...
59+
def assert_not_called(_mock_self) -> None: ...
60+
def assert_called_with(_mock_self, *args: Any, **kwargs: Any) -> None: ...
61+
def assert_called_once_with(_mock_self, *args: Any, **kwargs: Any) -> None: ...
62+
def assert_has_calls(self, calls: Any, any_order: bool = ...) -> None: ...
63+
def assert_any_call(self, *args: Any, **kwargs: Any) -> None: ...
64+
65+
class CallableMixin(Base):
66+
side_effect = ... # type: Any
67+
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: ...
68+
def __call__(_mock_self, *args: Any, **kwargs: Any) -> Any: ...
69+
70+
class Mock(CallableMixin, NonCallableMock):
71+
def __init__(self, spec: Any = ..., spec_set: Any = ..., side_effect: Any = ..., return_value: Any = ..., wraps: Any = ..., name: Any = ..., **kwargs: Any) -> None: ...
72+
73+
class _patch:
74+
attribute_name = ... # type: Any
75+
getter = ... # type: Any
76+
attribute = ... # type: Any
77+
new = ... # type: Any
78+
new_callable = ... # type: Any
79+
spec = ... # type: Any
80+
create = ... # type: bool
81+
has_local = ... # type: Any
82+
spec_set = ... # type: Any
83+
autospec = ... # type: Any
84+
kwargs = ... # type: Any
85+
additional_patchers = ... # type: Any
86+
def __init__(self, getter: Any, attribute: Any, new: Any, spec: Any, create: Any, spec_set: Any, autospec: Any, new_callable: Any, kwargs: Any) -> None: ...
87+
def copy(self) -> Any: ...
88+
def __call__(self, func: Any) -> Any: ...
89+
def decorate_class(self, klass: Any) -> Any: ...
90+
def decorate_callable(self, func: Any) -> Any: ...
91+
def get_original(self) -> Any: ...
92+
target = ... # type: Any
93+
temp_original = ... # type: Any
94+
is_local = ... # type: Any
95+
def __enter__(self) -> Any: ...
96+
def __exit__(self, *exc_info: Any) -> Any: ...
97+
def start(self) -> Any: ...
98+
def stop(self) -> Any: ...
99+
100+
class _patch_dict:
101+
in_dict = ... # type: Any
102+
values = ... # type: Any
103+
clear = ... # type: Any
104+
def __init__(self, in_dict: Any, values: Any = ..., clear: Any = ..., **kwargs: Any) -> None: ...
105+
def __call__(self, f: Any) -> Any: ...
106+
def decorate_class(self, klass: Any) -> Any: ...
107+
def __enter__(self) -> Any: ...
108+
def __exit__(self, *args: Any) -> Any: ...
109+
start = ... # type: Any
110+
stop = ... # type: Any
111+
112+
class _patcher:
113+
TEST_PREFIX = ... # type: str
114+
dict = ... # type: Type[_patch_dict]
115+
def __call__(self, target: Any, new: Optional[Any] = ..., spec: Optional[Any] = ..., create: bool = ..., spec_set: Optional[Any] = ..., autospec: Optional[Any] = ..., new_callable: Optional[Any] = ..., **kwargs: Any) -> Any: ...
116+
def object(self, target: Any, attribute: str, new: Optional[Any] = ..., spec: Optional[Any] = ..., create: bool = ..., spec_set: Optional[Any] = ..., autospec: Optional[Any] = ..., new_callable: Optional[Any] = ..., **kwargs: Any) -> _patch: ...
117+
def multiple(self, target: Any, spec: Optional[Any] = ..., create: bool = ..., spec_set: Optional[Any] = ..., autospec: Optional[Any] = ..., new_callable: Optional[Any] = ..., **kwargs: Any) -> Any: ...
118+
def stopall(self) -> None: ...
119+
120+
patch = ... # type: _patcher
121+
122+
class MagicMixin:
123+
def __init__(self, *args: Any, **kw: Any) -> None: ...
124+
125+
class NonCallableMagicMock(MagicMixin, NonCallableMock):
126+
def __init__(self) -> None: ...
127+
def mock_add_spec(self, spec: Any, spec_set: Any = ...) -> Any: ...
128+
129+
class MagicMock(MagicMixin, Mock):
130+
def __init__(self, spec: Any = ..., spec_set: Any = ..., side_effect: Any = ..., return_value: Any = ..., wraps: Any = ..., name: Any = ..., **kwargs: Any) -> None: ...
131+
def mock_add_spec(self, spec: Any, spec_set: Any = ...) -> Any: ...
132+
133+
class MagicProxy:
134+
name = ... # type: Any
135+
parent = ... # type: Any
136+
def __init__(self, name: Any, parent: Any) -> None: ...
137+
def __call__(self, *args: Any, **kwargs: Any) -> Any: ...
138+
def create_mock(self) -> Any: ...
139+
def __get__(self, obj: Any, _type: Optional[Any] = ...) -> Any: ...
140+
141+
class _ANY:
142+
def __eq__(self, other: Any) -> bool: ...
143+
def __ne__(self, other: Any) -> bool: ...
144+
145+
ANY = ... # type: Any
146+
147+
class _Call(tuple):
148+
def __new__(cls, value: Any = ..., name: Optional[Any] = ..., parent: Optional[Any] = ..., two: bool = ..., from_kall: bool = ...) -> Any: ...
149+
name = ... # type: Any
150+
parent = ... # type: Any
151+
from_kall = ... # type: Any
152+
def __init__(self, value: Any = ..., name: Optional[Any] = ..., parent: Optional[Any] = ..., two: bool = ..., from_kall: bool = ...) -> None: ...
153+
def __eq__(self, other: Any) -> bool: ...
154+
__ne__ = ... # type: Any
155+
def __call__(self, *args: Any, **kwargs: Any) -> Any: ...
156+
def __getattr__(self, attr: Any) -> Any: ...
157+
def count(self, *args: Any, **kwargs: Any) -> Any: ...
158+
def index(self, *args: Any, **kwargs: Any) -> Any: ...
159+
def call_list(self) -> Any: ...
160+
161+
call = ... # type: Any
162+
163+
def create_autospec(spec: Any, spec_set: Any = ..., instance: Any = ..., _parent: Optional[Any] = ..., _name: Optional[Any] = ..., **kwargs: Any) -> Any: ...
164+
165+
class _SpecState:
166+
spec = ... # type: Any
167+
ids = ... # type: Any
168+
spec_set = ... # type: Any
169+
parent = ... # type: Any
170+
instance = ... # type: Any
171+
name = ... # type: Any
172+
def __init__(self, spec: Any, spec_set: Any = ..., parent: Optional[Any] = ..., name: Optional[Any] = ..., ids: Optional[Any] = ..., instance: Any = ...) -> None: ...
173+
174+
def mock_open(mock: Optional[Any] = ..., read_data: Any = ...) -> Any: ...
175+
176+
class PropertyMock(Mock):
177+
def __get__(self, obj: Any, obj_type: Any) -> Any: ...
178+
def __set__(self, obj: Any, val: Any) -> Any: ...
179+
180+
if sys.version_info >= (3, 7):
181+
def seal(mock: Any) -> None: ...

0 commit comments

Comments
 (0)
0