https://t.me/AnonymousX5
Server : Apache
System : Linux cvar2.toservers.com 3.10.0-962.3.2.lve1.5.73.el7.x86_64 #1 SMP Wed Aug 24 21:31:23 UTC 2022 x86_64
User : njnconst ( 1116)
PHP Version : 8.4.18
Disable Function : NONE
Directory :  /opt/alt/python310/lib64/python3.10/unittest/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/alt/python310/lib64/python3.10/unittest/__pycache__/mock.cpython-310.opt-2.pyc
o

;bȎ�@s�dZddlZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
mZmZddl
mZddlmZmZGdd�de�Zd	d
�ee�D�ZdZeZdd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zd�dd�Zdd�Z dd�Z!dd �Z"d!d"�Z#d�d#d$�Z$d%d&�Z%d'd(�Z&d)d*�Z'Gd+d,�d,e(�Z)Gd-d.�d.e(�Z*e*�Z+e+j,Z,e+j-Z.e+j/Z0hd/�Z1d0d1�Z2Gd2d3�d3e3�Z4d4d5�Z5Gd6d7�d7e(�Z6Gd8d9�d9e(�Z7Gd:d;�d;e7�Z8e�9e8j:�Z;Gd<d=�d=e3�Z<d>d?�Z=Gd@dA�dAe7�Z>GdBdC�dCe>e8�Z?dDdE�Z@dFdG�ZAdHdI�ZBGdJdK�dKe(�ZCdLdM�ZDe,dddddfddN�dOdP�ZE		d�dQdR�ZFe,dddddfddN�dSdT�ZGGdUdV�dVe(�ZHdWdX�ZIdYdZ�ZJeEeG_(eHeG_KeFeG_LeJeG_Md[eG_Nd\ZOd]ZPd^�Qd_d`�eP�R�D��ZSd^�Qdad`�eP�R�D��ZThdb�ZUdcdd�ZVded
�d^�QeOePeSeTg��R�D�ZWhdf�ZXdghZYeXeYBZZeWeUBZ[e[eZBZ\hdh�Z]didj�dkdj�dldj�dmdj�dn�Z^e_e_e_e_doddddpdqddoddr�
Z`dsdt�Zadudv�Zbdwdx�Zcdydz�Zdeaebecedd{�Zed|d}�ZfGd~d�de7�ZgGd�d��d�ege8�ZhGd�d��d�eg�ZiGd�d��d�ege?�ZjGd�d��d�e7�ZkGd�d��d�e7�ZlGd�d��d�eleie?�ZmGd�d��d�e(�Znen�Zod�d��ZpGd�d��d�eq�Zrerdd��Zs		d�ddN�d�d��Ztd�d��ZuGd�d��d�e(�Zvewet�eweojx�fZydazd�d��Z{d�d�d��Z|Gd�d��d�e?�Z}d�d��Z~Gd�d��d��ZdS)�)�Mock�	MagicMock�patch�sentinel�DEFAULT�ANY�call�create_autospec�	AsyncMock�
FILTER_DIR�NonCallableMock�NonCallableMagicMock�	mock_open�PropertyMock�seal�N)�iscoroutinefunction)�CodeType�
ModuleType�
MethodType)�	safe_repr)�wraps�partialc@�eZdZdS)�InvalidSpecErrorN��__name__�
__module__�__qualname__�rr�4/opt/alt/python310/lib64/python3.10/unittest/mock.pyr'�rcCsh|]	}|�d�s|�qS��_��
startswith)�.0�namerrr�	<setcomp>+�r'TcCs<t|�rt|t�sdSt|d�rt|d�}t|�pt�|�S)NF�__func__)�_is_instance_mock�
isinstancer	�hasattr�getattrr�inspectZisawaitable��objrrr�
_is_async_obj3s


r1cCst|dd�r
t|�SdS)N�__code__F)r-r��funcrrr�_is_async_func;sr5cCstt|�t�S�N)�
issubclass�typerr/rrrr*Bsr*cCst|t�pt|t�ot|t�Sr6)r+�
BaseExceptionr8r7r/rrr�
_is_exceptionHs
�r:cCst|t�r
t|d�r
|jS|S�N�mock)r+�
FunctionTypesr,r<r/rrr�
_extract_mockOsr>cCs�	t|t�r|s|j}d}nt|t�s#z|j}Wn
ty"YdSw|r+t|d�}n|}z|t�|�fWSt	y?YdSw�NT)
r+r8�__init__r=�__call__�AttributeErrorrr.�	signature�
ValueError)r4Zas_instanceZeat_selfZsig_funcrrr�_get_signature_objectXs$

��rEFcsNt|||���durdS�\}��fdd�}t||�|t|�_�t|�_dS)Ncs�j|i|��dSr6��bind��self�args�kwargs��sigrr�checksigz�z"_check_signature.<locals>.checksig)rE�_copy_func_detailsr8�_mock_check_sig�
__signature__)r4r<�	skipfirst�instancerNrrLr�_check_signatureus

rUc	Cs6dD]}zt||t||��WqtyYqwdS)N)r�__doc__�__text_signature__r�__defaults__�__kwdefaults__)�setattrr-rB)r4�funcopy�	attributerrrrP�s��rPcCs@t|t�rdSt|tttf�rt|j�St|dd�durdSdS)NTrAF)r+r8�staticmethod�classmethodr�	_callabler)r-r/rrrr_�s

r_cCst|�ttfvSr6)r8�list�tupler/rrr�_is_list�srbcCsH	t|t�st|dd�duS|f|jD]
}|j�d�dur!dSqdS)NrATF)r+r8r-�__mro__�__dict__�get)r0�baserrr�_instance_callable�s
�rgcs�t|t�}t|||�}|dur|S|\}��fdd�}t||�|j}|��s)d}||d�}d|}	t|	|�||}
t|
|��|
S)Ncs�j|i|��dSr6rF�rJrKrLrrrN�rOz _set_signature.<locals>.checksigr[)Z
_checksig_r<zYdef %s(*args, **kwargs):
    _checksig_(*args, **kwargs)
    return mock(*args, **kwargs))r+r8rErPr�isidentifier�exec�_setup_func)r<�originalrTrS�resultr4rNr&�context�srcr[rrLr�_set_signature�s$


�
rpcs���_�fdd�}�fdd�}�fdd�}�fdd�}�fd	d
�}�fdd�}�fd
d�}	��fdd�}
d�_d�_d�_t��_t��_t��_�j�_�j	�_	�j
�_
|�_|�_|�_
|	�_|
�_|�_|�_|�_|�_��_dS)Nc��j|i|��Sr6)�assert_called_withrh�r<rrrr��z'_setup_func.<locals>.assert_called_withcrqr6)�
assert_calledrhrsrrru�rtz"_setup_func.<locals>.assert_calledcrqr6)�assert_not_calledrhrsrrrv�rtz&_setup_func.<locals>.assert_not_calledcrqr6)�assert_called_oncerhrsrrrw�rtz'_setup_func.<locals>.assert_called_oncecrqr6)�assert_called_once_withrhrsrrrx�rtz,_setup_func.<locals>.assert_called_once_withcrqr6)�assert_has_callsrhrsrrry�rtz%_setup_func.<locals>.assert_has_callscrqr6)�assert_any_callrhrsrrrz�rtz$_setup_func.<locals>.assert_any_callcsBt��_t��_����j}t|�r|�ur|��dSdSdSr6)�	_CallList�method_calls�
mock_calls�
reset_mock�return_valuer*)�ret�r[r<rrr~�s�z_setup_func.<locals>.reset_mockFr)r<�called�
call_count�	call_argsr{�call_args_listr|r}r�side_effect�_mock_childrenrrrxryrzr~rurvrwrR�_mock_delegate)r[r<rMrrrurvrwrxryrzr~rr�rrk�s8
rkcsJtjj�_d�_d�_t��_�fdd�}dD]}t�|t||��qdS)Nrcst�j|�|i|��Sr6)r-r<)�attrrJrKrsrr�wrapper�z"_setup_async_mock.<locals>.wrapper)�assert_awaited�assert_awaited_once�assert_awaited_with�assert_awaited_once_with�assert_any_await�assert_has_awaits�assert_not_awaited)	�asyncio�
coroutines�
_is_coroutine�await_count�
await_argsr{�await_args_listrZr)r<r�r\rrsr�_setup_async_mock�s
�r�cCsd|dd�|kS)N�__%s__����r�r&rrr�	_is_magicrOr�c@�&eZdZ	dd�Zdd�Zdd�ZdS)�_SentinelObjectcCs
||_dSr6r��rIr&rrrr@�
z_SentinelObject.__init__cC�
d|jS�Nzsentinel.%sr��rIrrr�__repr__r�z_SentinelObject.__repr__cCr�r�r�r�rrr�
__reduce__ r�z_SentinelObject.__reduce__N)rrrr@r�r�rrrrr�s
r�c@r�)�	_SentinelcCs
i|_dSr6)�
_sentinelsr�rrrr@&r�z_Sentinel.__init__cCs|dkrt�|j�|t|��S)N�	__bases__)rBr��
setdefaultr�r�rrr�__getattr__)sz_Sentinel.__getattr__cC�dS)Nrrr�rrrr�/�z_Sentinel.__reduce__N)rrrr@r�r�rrrrr�$s
r�>r�_mock_new_parent�
_mock_name�_mock_return_value�_mock_side_effect�_mock_new_name�_mock_parentr�cCs8t�|�d|}||fdd�}||fdd�}t||�S)NZ_mock_cSs"|j}|durt||�St||�Sr6)r�r-)rIr&�	_the_namerMrrr�_getDs

z"_delegating_property.<locals>._getcSs,|j}|dur||j|<dSt|||�dSr6)r�rdrZ)rI�valuer&r�rMrrr�_setIsz"_delegating_property.<locals>._set)�_allowed_names�add�property)r&r�r�r�rrr�_delegating_propertyAs


r�c@�eZdZdd�Zdd�ZdS)r{cCslt|t�st�||�St|�}t|�}||krdStd||d�D]}||||�}||kr3dSq"dS)NFr�T)r+r`�__contains__�len�range)rIr�Z	len_valueZlen_self�iZsub_listrrrr�Vs
�z_CallList.__contains__cCst�t|��Sr6)�pprintZpformatr`r�rrrr�d�z_CallList.__repr__N)rrrr�r�rrrrr{Tsr{cCs�t|�}t|�s
dS|js|js|jdus|jdurdS|}|dur/||ur(dS|j}|dus"|r7||_||_|r?||_||_dS)NFT)r>r*r�r�r�r�)�parentr�r&�new_name�_parentrrr�_check_and_set_parenths,���r�c@r�)�	_MockItercCst|�|_dSr6)�iterr0)rIr0rrrr@�r�z_MockIter.__init__cCs
t|j�Sr6)�nextr0r�rrr�__next__�r�z_MockIter.__next__N)rrrr@r�rrrrr��sr�c@seZdZeZdZdd�ZdS)�BaseNcO�dSr6rrHrrrr@�r�z
Base.__init__)rrrrr�r�r@rrrrr��sr�c@sleZdZ	dd�Z			dKdd�Zdd	�ZdLd
d�Z		dMdd
�Zdd�Zdd�Z	dZ
eee	e
�Zedd��Z
ed�Zed�Zed�Zed�Zed�Zdd�Zdd�Zeee�ZdNddd�dd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�ZdOd2d3�Z d4d5�Z!d6d7�Z"d8d9�Z#d:d;�Z$d<d=�Z%d>d?�Z&d@dA�Z'dLdBdC�Z(dDdE�Z)dFdG�Z*dPdIdJ�Z+dS)QrcOs||f}t|t�s*tj|g|�Ri|��j}|�d|�d��}|dur*t|�r*t|f}t|j|d|j	i�}t
t|��|�}|S)N�spec_set�specrV)
r7�AsyncMockMixin�	_MOCK_SIGZbind_partialZ	argumentsrer1r8rrV�_safe_superr�__new__)�clsrJ�kw�basesZ
bound_argsZspec_arg�newrTrrrr��s
zNonCallableMock.__new__N�FcKs�|dur|}|j}
||
d<||
d<||
d<||
d<d|
d<|dur%|}d}|
dur-|du}
|�|||	|
�i|
d<||
d	<d|
d
<d|
d<d|
d<d
|
d<t�|
d<t�|
d<t�|
d<||
d<|rj|jdi|��tt|��||||||�dS)Nr�r�r�r�F�_mock_sealedTr��_mock_wrapsr�Z_mock_calledZ_mock_call_argsrZ_mock_call_countZ_mock_call_args_listZ_mock_mock_callsr|�_mock_unsafer)rd�_mock_add_specr{�configure_mockr�rr@)rIr�rr&r�r��_spec_state�	_new_name�_new_parent�_spec_as_instance�	_eat_self�unsaferKrdrrrr@�s<




�zNonCallableMock.__init__cCs2	t|�}d|_d|_d|_d|_t|||�dS�Nr�)r>r�r�r�r�rZ)rIr<r\Z
inner_mockrrr�attach_mock�szNonCallableMock.attach_mockcCs	|�||�dSr6)r��rIr�r�rrr�
mock_add_spec�szNonCallableMock.mock_add_speccCs�d}d}g}t|�D]}tt||d��r|�|�q
|dur>t|�s>t|t�r*|}nt|�}t|||�}	|	o9|	d}t|�}|j}
||
d<||
d<||
d<||
d<||
d<dS)Nr��_spec_class�	_spec_set�_spec_signature�
_mock_methods�_spec_asyncs)	�dirrr-�appendrbr+r8rErd)rIr�r�r�r�r�r�r�r��resrdrrrr��s,
�
�zNonCallableMock._mock_add_speccCs8|j}|jdur|jj}|tur|j|dd�}||_|S)N�()�r�r�)r�r�rr�_get_child_mock)rIr�rrrZ__get_return_values
�z"NonCallableMock.__get_return_valuecCs.|jdur||j_dS||_t||dd�dS)Nr�)r�rr�r�)rIr�rrrZ__set_return_values
z"NonCallableMock.__set_return_valuez1The value to be returned when the mock is called.cCs|jdur	t|�S|jSr6)r�r8r�rrr�	__class__s
zNonCallableMock.__class__r�r�r�r�r}cCsN|j}|dur
|jS|j}|dur%t|�s%t|t�s%t|�s%t|�}||_|Sr6)r�r�r��callabler+r�r:)rI�	delegatedZsfrrrZ__get_side_effect+s��z!NonCallableMock.__get_side_effectcCs*t|�}|j}|dur||_dS||_dSr6)�	_try_iterr�r�r�)rIr�r�rrrZ__set_side_effect6s


z!NonCallableMock.__set_side_effect�rr�cCs�	|durg}t|�|vrdS|�t|��d|_d|_d|_t�|_t�|_t�|_|r0t	|_
|r5d|_|j�
�D]}t|t�sE|turFq:|j|||d�q:|j
}t|�ra||urc|�|�dSdSdS)NFrr�)�idr�r�r�r�r{r}r�r|rr�r�r��valuesr+�
_SpecState�_deletedr~r*)rIZvisitedrr��childr�rrrr~As0�zNonCallableMock.reset_mockcKsZ	t|��dd�d�D]\}}|�d�}|��}|}|D]}t||�}qt|||�qdS)NcSs|d�d�S)Nr�.)�count)�entryrrr�<lambda>lsz0NonCallableMock.configure_mock.<locals>.<lambda>)�keyr�)�sorted�items�split�popr-rZ)rIrK�arg�valrJ�finalr0rrrrr�_s�
�zNonCallableMock.configure_mockc
CsF|dvrt|��|jdur||jvs|tvrtd|��nt|�r%t|��|js7|�d�r7t|�d|�d���|j�|�}|turEt|��|durgd}|j	durVt
|j	|�}|j|||||d�}||j|<|St|t
�r�zt|j|j|j|j|j�}Wn ty�|jdp�|}td|�d	|�d
|�d|j�d�	��w||j|<|S)
N>r�r�zMock object has no attribute %r)�assertZassretZasertZaseertZassrtz6 is not a valid assertion. Use a spec for the mock if z is meant to be an attribute.)r�r&rr�r�r��Cannot autospec attr �
 from target �, as it has already been mocked out. [target=�, attr=�])rBr��_all_magicsr�r�r$r�rer�r�r-r�r+r�rr�r�rTr�r&rrd)rIr&rmr�target_namerrrr�us`
�
��
�

�������
zNonCallableMock.__getattr__cCs�|jg}|j}|}d}|dgkrd}|dur0|}|�|j|�d}|jdkr)d}|j}|dustt|��}|jp:d}t|�dkrK|ddvrK|d7}||d<d�|�S)Nr�r�r�r<r�)r�z().r)r�r�r�r`�reversedr�r��join)rIZ
_name_listr�Zlast�dotZ_firstrrr�_extract_mock_name�s*

�


z"NonCallableMock._extract_mock_namecCs^|��}d}|dvrd|}d}|jdur"d}|jrd}||jj}dt|�j||t|�fS)Nr�)r<zmock.z name=%rz spec=%rz spec_set=%rz<%s%s%s id='%s'>)rr�r�rr8r�)rIr&Zname_stringZspec_stringrrrr��s 
�zNonCallableMock.__repr__cCsx	tst�|�S|jpg}tt|��}t|j�}dd�|j�	�D�}dd�|D�}dd�|D�}t
t||||��S)NcSsg|]
\}}|tur|�qSr)r�)r%Zm_nameZm_valuerrr�
<listcomp>�s��z+NonCallableMock.__dir__.<locals>.<listcomp>cSsg|]	}|�d�s|�qSr!r#�r%�errrr�r(cSs"g|]
}|�d�r
t|�r|�qSr!)r$r�rrrrr�s
�)r
�object�__dir__r�r�r8r`rdr�rr�set)rIZextrasZ	from_typeZ	from_dictZfrom_child_mocksrrrr�s


�zNonCallableMock.__dir__csJ|tvrt��||�S�jr#�jdur#|�jvr#|�jvr#td|��|tvr/d|}t|��|tvrq�jdurC|�jvrCtd|��t	|�s\t
t��|t||��|���fdd�}n*t
�|d|�t
t��||�|�j|<n|dkrz|�_dSt
�|||�r�|�j|<�jr�t�|�s�����d|��}td|����t��||�S)Nz!Mock object has no attribute '%s'z.Attempting to set unsupported magic method %r.cs��g|�Ri|��Sr6r�rJr��rlrIrrr��z-NonCallableMock.__setattr__.<locals>.<lambda>r�r�zCannot set )r�r�__setattr__r�r�rdrB�_unsupported_magicsrr*rZr8�_get_methodr�r�r�r�r,r)rIr&r��msg�	mock_namerrrr�s<��
zNonCallableMock.__setattr__cCs�|tvr|t|�jvrtt|�|�||jvrdS|j�|t�}||jvr.tt|��	|�n|t
ur6t|��|tur>|j|=t
|j|<dSr6)rr8rd�delattrr�re�_missingr�r�__delattr__r�rB)rIr&r0rrrr&
s

zNonCallableMock.__delattr__cCs|jpd}t|||�Sr;)r��_format_call_signature�rIrJrKr&rrr�_format_mock_call_signatures
z+NonCallableMock._format_mock_call_signaturercCs.d}|�||�}|j}|j|�}||||fS)Nz.expected %s not found.
Expected: %s
Actual: %s)r)r�)rIrJrK�action�message�expected_stringr�Z
actual_stringrrr�_format_mock_failure_message$s

z,NonCallableMock._format_mock_failure_messagecCsl	|s|jSd}|�dd��d�}|j}|D]}|�|�}|dus&t|t�r)|St|�}|j}|j}q|S)Nr�r�r�)r��replacerr�rer+r�r>)rIr&rM�names�childrenr�rrr�_get_call_signature_from_name,s

	�z-NonCallableMock._get_call_signature_from_namec
Cs�	t|t�rt|�dkr|�|d�}n|j}|durVt|�dkr(d}|\}}n|\}}}z|j|i|��}t||j|j�WSt	yU}z|�
d�WYd}~Sd}~ww|S)Nr�rr�)r+rar�r1r�rGrrJrK�	TypeError�with_traceback)rI�_callrMr&rJrKZ
bound_callrrrr�
_call_matcherMs"

��zNonCallableMock._call_matchercCs2	|jdkrd|jpd|j|��f}t|��dS)Nrz9Expected '%s' to not have been called. Called %s times.%sr<�r�r��_calls_repr�AssertionError�rIr"rrrrvh�
���z!NonCallableMock.assert_not_calledcCs&	|jdkrd|jpd}t|��dS)Nrz"Expected '%s' to have been called.r<)r�r�r8r9rrrrurs
��zNonCallableMock.assert_calledcCs2	|jdksd|jpd|j|��f}t|��dS)Nr�z:Expected '%s' to have been called once. Called %s times.%sr<r6r9rrrrwzr:z"NonCallableMock.assert_called_oncecs�	�jdur�����}d}d||f}t|�����fdd�}��t��fdd��}���j�}||krDt|t�r<|nd}t|��|�dS)Nznot called.z0expected call not found.
Expected: %s
Actual: %scs�����}|Sr6�r-�r"�rJrKrIrr�_error_message�sz:NonCallableMock.assert_called_with.<locals>._error_messageT��two)r�r)r8r5�_Callr+�	Exception)rIrJrK�expected�actualZ
error_messager>�causerr=rrr�s
��z"NonCallableMock.assert_called_withcOs>	|jdksd|jpd|j|��f}t|��|j|i|��S)Nr�z3Expected '%s' to be called once. Called %s times.%sr<)r�r�r7r8rr�rIrJrKr"rrrrx�s
��z'NonCallableMock.assert_called_once_withc		s	�fdd�|D�}tdd�|D�d�}t�fdd��jD��}|sN||vrL|dur-d}n
d�dd�|D��}t|�d	t|���jd
d��d����|�dSt|�}g}|D]}z|�|�WqVt	ym|�
|�YqVw|rtd
�jpvdt|�|f�|�dS)Nc�g|]}��|��qSr�r5�r%�cr�rrr�rz4NonCallableMock.assert_has_calls.<locals>.<listcomp>cs��|]
}t|t�r|VqdSr6�r+rBrrrr�	<genexpr>���z3NonCallableMock.assert_has_calls.<locals>.<genexpr>c3��|]}��|�VqdSr6rHrIr�rrrM���zCalls not found.z+Error processing expected calls.
Errors: {}cS�g|]}t|t�r|nd�qSr6rLrrrrr����
Expected: ZActual)�prefixr�z@%r does not contain all of %r in its call list, found %r insteadr<)
r�r{r}�formatr8r7�rstripr`�removerDr�r�ra)	rI�calls�	any_orderrCrEZ	all_calls�problem�	not_found�kallrr�rry�sX	�������������z NonCallableMock.assert_has_callsc�l	��t||fdd��}t|t�r|nd}�fdd��jD�}|s'|t|�vr4��||�}td|�|�dS)NTr?crGrrHrIr�rrr�rz3NonCallableMock.assert_any_call.<locals>.<listcomp>z%s call not found)r5rAr+rBr��_AnyComparerr)r8�rIrJrKrCrErDr,rr�rrz�s���zNonCallableMock.assert_any_callcKs�	|�d�}||jdvrtdi|��S|jr.d|vr"d|d��nd}|��|}t|��t|�}t|t�r>|t	vr>t}n1t|t
�rU|tvsO|jrR||jvrRt}nt}nt|t
�sjt|t�rbt}n
t|t�rit}n|jd}|di|��S)Nr�r�r&r�r�r�r)rerdr	r�rrBr8r7r�_async_method_magicsr��_all_sync_magicsr��
CallableMixinrrrrc)rIr�r�r\r#�_type�klassrrrr��s6

��


�
zNonCallableMock._get_child_mock�CallscCs$	|jsdSd|�dt|j��d�S)Nr��
z: r�)r}r)rIrTrrrr7	szNonCallableMock._calls_repr)NNNNNNr�NFNF�F)FFr6)r)re),rrrr�r@r�r�r�Z"_NonCallableMock__get_return_valueZ"_NonCallableMock__set_return_valueZ"_NonCallableMock__return_value_docr�rr�r�r�r�r�r�r}Z!_NonCallableMock__get_side_effectZ!_NonCallableMock__set_side_effectr�r~r�r�rr�rrr&r)r-r1r5rvrurwrrrxryrzr�r7rrrrr�sb
�-
	
�
�

/'
!


-&rc@seZdZ	dd�ZdS)r^cCs,|D]}tdd�t||�D��rdSqdS)NcSsg|]\}}||k�qSrr)r%rCrDrrrr!s��z-_AnyComparer.__contains__.<locals>.<listcomp>TF)�all�zip)rI�itemr4rrrr�s��z_AnyComparer.__contains__N)rrrr�rrrrr^sr^cCsF|dur|St|�r|St|�r|Szt|�WSty"|YSwr6)r:r_r�r2r/rrrr�)s
�r�c
@sReZdZddedddddddf
dd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)rbNr�c	Ks:||jd<tt|�j|||||||	|
fi|��||_dS)Nr�)rdr�rbr@r�)rIr�r�rrr&r�r�r�r�r�rKrrrr@:s


��
zCallableMixin.__init__cOr�r6rrHrrrrQFszCallableMixin._mock_check_sigcOs0|j|i|��|j|i|��|j|i|��Sr6)rQ�_increment_mock_call�
_mock_callrHrrrrAKszCallableMixin.__call__cOs|j|i|��Sr6)�_execute_mock_callrHrrrrlSrtzCallableMixin._mock_callcOs
d|_|jd7_t||fdd�}||_|j�|�|jdu}|j}|j}|dk}|j	�td||f��|j
}|dur�|rW|j�t|||f��|jdu}|rW|jd|}t|||f�}	|j	�|	�|jrz|rld}
nd}
|jdk}|j|
|}|j
}|dus<dSdS)NTr�r?r�r�r�)r�r�rAr�r�r�r�r�r�r}r�r|)rIrJrKr4Zdo_method_callsZmethod_call_nameZmock_call_nameZ	is_a_callr�Zthis_mock_callrrrrrkVs6


�z"CallableMixin._increment_mock_callcOs�|j}|dur)t|�r
|�t|�st|�}t|�r|�n||i|��}|tur)|S|jtur1|jS|jdur>|j|i|��S|jSr6)r�r:r_r�rr�rr�)rIrJrK�effectrmrrrrm�s"�

z CallableMixin._execute_mock_call)
rrrrr@rQrArlrkrmrrrrrb8s
�.rbc@r)rNrrrrrr�r rcCs2zt||�WStyt|�t||�YSwr6)r-rB�
__import__)�thing�comp�import_pathrrr�_dot_lookup�s�rscCsB|�d�}|�d�}t|�}|D]}|d|7}t|||�}q|S)Nr�rz.%s)rrrors)�targetZ
componentsrrrprqrrr�	_importer�s

rucCs(d}|D]
}||vrt|�d���qdS)N)Z	autospectZ	auto_specZset_specz5 might be a typo; use unsafe=True if this is intended)�RuntimeError)Zkwargs_to_checkZtyposZtyporrr�_check_spec_arg_typos�s���rwc@s�eZdZdZgZdd�dd�Zdd�Zdd	�Zd
d�Ze	j
dd
��Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�ZdS)�_patchNF�r�c
Cs�|dur|turtd��|durtd��|
st|	�t|�r)td|�d|�d���t|�r8td|�d|�d���||_||_||_||_||_	||_
d|_||_||_
|	|_g|_dS)Nz,Cannot use 'new' and 'new_callable' togetherz1Cannot use 'autospec' and 'new_callable' togetherzCannot spec attr z0 as the spec has already been mocked out. [spec=rz? as the spec_set target has already been mocked out. [spec_set=F)rrDrwr*r�getterr\r��new_callabler��createZ	has_localr��autospecrK�additional_patchers)rIrzr\r�r�r|r�r}r{rKr�rrrr@�sD������
z_patch.__init__c
CsHt|j|j|j|j|j|j|j|j|j	�	}|j
|_
dd�|jD�|_|S)NcSsg|]}|���qSr)�copy)r%�prrrr#��z_patch.copy.<locals>.<listcomp>)rxrzr\r�r�r|r�r}r{rK�attribute_namer~)rI�patcherrrrrs��z_patch.copycCs2t|t�r
|�|�St�|�r|�|�S|�|�Sr6)r+r8�decorate_classr.r�decorate_async_callable�decorate_callable�rIr4rrrrA)s





z_patch.__call__cCsNt|�D] }|�tj�s
qt||�}t|d�sq|��}t||||��q|S�NrA)r�r$r�TEST_PREFIXr-r,rrZ)rIrdr��
attr_valuer�rrrr�1s

z_patch.decorate_classccs��g}t���4}|jD]}|�|�}|jdur|�|�q|jtur'|�|�q|t	|�7}||fVWd�dS1s>wYdSr6)
�
contextlib�	ExitStack�	patchings�
enter_contextr��updater�rr�ra)rI�patchedrJ�keywargs�
extra_args�
exit_stack�patchingrrrr�decoration_helper?s�





�"�z_patch.decoration_helperc�>t�d�r
�j����St�����fdd����g�_�S)Nr�csD���||��\}}�|i|��Wd�S1swYdSr6�r��rJr�ZnewargsZnewkeywargs�r4r�rIrrr�Ts�$�z)_patch.decorate_callable.<locals>.patched�r,r�r�rr�rr�rr�N�
z_patch.decorate_callablecr�)Nr�c�sL����||��\}}�|i|��IdHWd�S1swYdSr6r�r�r�rrr�es��$�z/_patch.decorate_async_callable.<locals>.patchedr�r�rr�rr�_r�z_patch.decorate_async_callablec	Cs�|��}|j}t}d}z|j|}Wnttfy#t||t�}Ynwd}|tvr2t|t	�r2d|_
|j
sA|turAtd||f��||fS)NFTz!%s does not have the attribute %r)rzr\rrdrB�KeyErrorr-�	_builtinsr+rr|)rIrtr&rl�localrrr�get_originalps"�
�z_patch.get_originalc
Cs�	|j|j|j}}}|j|j}}|j}|��|_|dur!d}|dur'd}|dur-d}|dur9|dur9td��|dusA|durI|dvrItd��|�	�\}}|t
u�r/|du�r/d}	|durj|}|duri|}d}n|durw|durv|}d}n|dur}|}|dus�|dur�|t
ur�td��t|t�r�d}	|dur�t
|�r�t}
nt}
i}|dur�|}
n)|dus�|dur�|}|dur�|}t|�r�d|v}
nt|�}
t
|�r�t}
n|
r�t}
|dur�||d<|dur�||d	<t|
t�r�t|
t�r�|jr�|j|d
<|�|�|
di|��}|	�r.t|��r.|}|du�r|}t|��st|��st}
|�d
�|
d|dd�|��|_nl|du�r�|t
u�r=td
��|t
u�rFtd��t|�}|du�rQ|}t|j��rgtd|j�d|j�d|�d���t|��r�t|jd|j�}td|j�d|�d|j�d|�d�	��t|f||jd�|��}n|�r�td��|}||_||_ t!�"�|_#z9t$|j|j|�|j%du�r�i}|jt
u�r�|||j%<|j&D]}|j#�'|�}|jt
u�r�|�|��q�|WS|WS|j(t)�*���s�YdS)NFzCan't specify spec and autospec)TNz6Can't provide explicit spec_set *and* spec or autospecTz!Can't use 'spec' with create=TruerAr�r�r&r�r�zBautospec creates the mock for you. Can't specify autospec and new.z%Can't use 'autospec' with create=Truerz: as the patch target has already been mocked out. [target=rrrrr
)r��_namez.Can't pass kwargs to a mock we aren't creatingr)+r�r�r�r}rKr{rzrtr2r�rr+r8r1r	rrbr�rr7rr\r�r*rgrr�boolrr-r�
temp_original�is_localr�r��_exit_stackrZr�r~r��__exit__�sys�exc_info)rIr�r�r�r}rKr{rlr�Zinherit�Klass�_kwargsZ	this_specZnot_callablerZnew_attrr�r�rrrr�	__enter__�s
���



��



�
��

�


���

������



��z_patch.__enter__cGs�	|jr|jturt|j|j|j�nt|j|j�|js2t|j|j�r)|jdvr2t|j|j|j�|`|`|`|j	}|`	|j
|�S)N)rVrrX�__annotations__rY)r�r�rrZrtr\r$r|r,r�r�)rIr�r�rrrr�s�
z_patch.__exit__cCs	|��}|j�|�|Sr6)r��_active_patchesr��rIrmrrr�start/�z_patch.startcCs6	z|j�|�Wn
tyYdSw|�ddd�Sr6)r�rWrDr�r�rrr�stop6��z_patch.stop)rrrr�r�r@rrAr�r��contextmanagerr�r�r�r�r�r�r�r�rrrrrx�s$�%

rxc
sLz
��dd�\�}Wntttfytd�����w�fdd�}||fS)Nr�r�z,Need a valid target to patch. You supplied: c�t��Sr6�rur�rtrrrH�z_get_target.<locals>.<lambda>)�rsplitr2rDrB)rtr\rzrr�r�_get_targetBs��r�rycsD	t��turt��d����fdd�}
t|
||||||||	|d�
S)Nz3 must be the actual object to be patched, not a strc��Sr6rrr�rrrb�z_patch_object.<locals>.<lambda>ry)r8�strr2rx)rtr\r�r�r|r�r}r{r�rKrzrr�r�
_patch_objectLs
�

�r�c
s�	t��tur�fdd�}n�fdd�}|std��t|���}|d\}	}
t||	|
|||||i�	}|	|_|dd�D]\}	}
t||	|
|||||i�	}|	|_|j�|�q;|S)Ncr�r6r�rr�rrr�r�z!_patch_multiple.<locals>.<lambda>cr�r6rrr�rrr�r�z=Must supply at least one keyword argument with patch.multiplerr�)	r8r�rDr`rrxr�r~r�)
rtr�r|r�r}r{rKrzrr\r�r�Zthis_patcherrr�r�_patch_multipleis.���r�cKs*	t|�\}	}
t|	|
||||||||d�
S)Nry)r�rx)rtr�r�r|r�r}r{r�rKrzr\rrrr�sG

�rc@sXeZdZ	ddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�ZdS)�_patch_dictrFcKs,||_t|�|_|j�|�||_d|_dSr6)�in_dict�dictr�r��clear�	_original)rIr�r�r�rKrrrr@	s


z_patch_dict.__init__cs.t�t�r
����St����fdd��}|S)Ncs,���z�|i|��W���S���wr6)r��
_unpatch_dictr��frIrr�_innersz$_patch_dict.__call__.<locals>._inner)r+r8r�r)rIr�r�rr�rrAs


z_patch_dict.__call__cCsXt|�D]%}t||�}|�tj�r)t|d�r)t|j|j|j	�}||�}t
|||�q|Sr�)r�r-r$rr�r,r�r�r�r�rZ)rIrdr�r�Z	decoratorZ	decoratedrrrr� s
��z_patch_dict.decorate_classcCs	|��|jSr6)r�r�r�rrrr�+sz_patch_dict.__enter__cCs�|j}t|jt�rt|j�|_|j}|j}z|��}Wnty1i}|D]}||||<q&Ynw||_|r;t	|�z|�
|�WdStyX|D]}||||<qLYdSwr6)r�r+r�r�rur�rrBr��_clear_dictr�)rIr�r�r�rlrrrrr�1s.����z_patch_dict._patch_dictcCsP|j}|j}t|�z|�|�WdSty'|D]}||||<qYdSwr6)r�r�r�r�rB)rIr�rlrrrrr�Ms��z_patch_dict._unpatch_dictcGs	|jdur
|��dS�NF)r�r�)rIrJrrrr�Zs
z_patch_dict.__exit__cCs	|��}tj�|�|Sr6)r�rxr�r�r�rrrr�ar�z_patch_dict.startcCs6	ztj�|�Wn
tyYdSw|�ddd�Sr6)rxr�rWrDr�r�rrrr�hr�z_patch_dict.stopN)rF)rrrr@rAr�r�r�r�r�r�r�rrrrr��s
	
r�cCs<z|��WdStyt|�}|D]}||=qYdSwr6)r�rBr`)r��keysrrrrr�ss��r�cCs	ttj�D]}|��qdSr6)rrxr�r�)rrrr�_patch_stopall|s
�r��testz�lt le gt ge eq ne getitem setitem delitem len contains iter hash str sizeof enter exit divmod rdivmod neg pos abs invert complex int float index round trunc floor ceil bool next fspath aiter zHadd sub mul matmul div floordiv mod lshift rshift and xor or pow truediv� cc��|]}d|VqdS)zi%sNr�r%�nrrrrM���rMccr�)zr%sNrr�rrrrM�r�>r��__subclasses__�
__format__�__getstate__�__get__�
__getformat__r�r�
__delete__�__getnewargs_ex__�
__reduce_ex__�__getnewargs__�__setstate__�
__setformat__Z__getinitargs__�__reversed__�__set__�__missing__cs	�fdd�}||_|S)Ncs�|g|�Ri|��Sr6r�rIrJr�r3rr�method�r�z_get_method.<locals>.method)r)r&r4r�rr3rr!�sr!cCsh|]}d|�qS)r�r)r%r�rrrr'�r�>�	__anext__�
__aenter__�	__aexit__�	__aiter__>�__prepare__�__instancecheck__r��__subclasscheck__r@r�__del__r�cC�
t�|�Sr6)r�__hash__r�rrrr��
rcCr�r6)r�__str__r�rrrr�r�cCr�r6)r�
__sizeof__r�rrrr�r�cCs"t|�j�d|���dt|���S)N�/)r8rrr�r�rrrr�s")r�r�r��
__fspath__r�y�?g�?)
�__lt__�__gt__�__le__�__ge__�__int__r��__len__r��__complex__�	__float__�__bool__�	__index__r�c��fdd�}|S)Ncs$�jj}|tur
|S�|urdStSr?)�__eq__r�r�NotImplemented)�other�ret_valr�rrr��sz_get_eq.<locals>.__eq__r)rIr�rr�r�_get_eq��r�cr�)Ncs �jjturtS�|urdStSr�)�__ne__r�rr�)r�r�rrr�s
z_get_ne.<locals>.__ne__r)rIrrr�r�_get_ne�srcr�)Ncs �jj}|turtg�St|�Sr6)�__iter__r�rr��r�r�rrr�sz_get_iter.<locals>.__iter__r)rIrrr�r�	_get_iter�rrcr�)Ncs(�jj}|turttg��Stt|��Sr6)r�r�r�_AsyncIteratorr�rr�rrr��sz"_get_async_iter.<locals>.__aiter__r)rIr�rr�r�_get_async_iter�sr)r�rrr�cCsft�|t�}|tur||_dSt�|�}|dur!||�}||_dSt�|�}|dur1||�|_dSdSr6)�_return_valuesrerr�_calculate_return_value�_side_effect_methodsr�)r<r�r&ZfixedZreturn_calculatorrZ
side_effectorrrr�_set_return_values

�rc@r�)�
MagicMixincO�*|��tt|�j|i|��|��dSr6)�_mock_set_magicsr�rr@r�rrrr@!�zMagicMixin.__init__cCs�ttB}|}t|dd�dur,|�|j�}t�}||}|D]}|t|�jvr+t||�q|tt|�j�}t|�}|D]}t	||t
||��q;dS)Nr�)�_magicsr`r-�intersectionr�rr8rdr$rZ�
MagicProxy)rIZorig_magicsZthese_magicsZ
remove_magicsrrcrrrr's
��zMagicMixin._mock_set_magicsN)rrrr@rrrrrr src@�eZdZ	ddd�ZdS)rFcC�	|�||�|��dSr6�r�rr�rrrr�A�z"NonCallableMagicMock.mock_add_specNrg�rrrr�rrrrr?src@seZdZdd�ZdS)�AsyncMagicMixincOr
r6)rr�rr@r�rrrr@LrzAsyncMagicMixin.__init__N�rrrr@rrrrrKsrc@r)rFcCrr6rr�rrrr�\rzMagicMock.mock_add_specNrgrrrrrrQs
rc@s&eZdZdd�Zdd�Zddd�ZdS)	rcCs||_||_dSr6�r&r�)rIr&r�rrrr@hs
zMagicProxy.__init__cCs8|j}|j}|j|||d�}t|||�t|||�|S)N)r&r�r�)r&r�r�rZr)rIrr��mrrr�create_mockls�zMagicProxy.create_mockNcCs|��Sr6)r)rIr0rcrrrr�uszMagicProxy.__get__r6)rrrr@rr�rrrrrgs	rcs�eZdZed�Zed�Zed�Z�fdd�Zdd�Zdd	�Z	d
d�Z
dd
�Zdd�Zdd�Z
ddd�Zdd�Z�fdd�Z�ZS)r�r�r�r�cs`t�j|i|��tjj|jd<d|jd<d|jd<t�|jd<ttd�}t	j
|_||jd<dS)Nr�rZ_mock_await_countZ_mock_await_argsZ_mock_await_args_list�r�r2)�superr@r�r�r�rdr{rrr.ZCO_COROUTINE�co_flags)rIrJrK�	code_mock�r�rrr@~s


zAsyncMockMixin.__init__c�s
�t||fdd�}|jd7_||_|j�|�|j}|dur]t|�r&|�t|�sAzt|�}Wn	t	y9t
�wt|�r@|�nt|�rP||i|��IdH}n||i|��}|tur]|S|j
ture|jS|jdur�t|j�rz|j|i|��IdHS|j|i|��S|jS)NTr?r�)rAr�r�r�r�r�r:r_r��
StopIteration�StopAsyncIterationrrr�rr�)rIrJrKr4rnrmrrrrm�s<���


z!AsyncMockMixin._execute_mock_callcCs*	|jdkrd|jpd�d�}t|��dS)Nr�	Expected r<z to have been awaited.�r�r�r8r9rrrr��s

�zAsyncMockMixin.assert_awaitedcCs2	|jdksd|jpd�d|j�d�}t|��dS�Nr�r$r<z$ to have been awaited once. Awaited � times.r%r9rrrr���
��z"AsyncMockMixin.assert_awaited_oncecs�	�jdur�����}td|�d������fdd�}��t��fdd��}���j�}||kr@t|t�r8|nd}t|��|�dS)NzExpected await: z
Not awaitedcs�j��dd�}|S)N�await)r*r;r<r=rrr>�sz:AsyncMockMixin.assert_awaited_with.<locals>._error_messageTr?)r�r)r8r5rAr+rB)rIrJrKrCr>rDrErr=rr��s
�z"AsyncMockMixin.assert_awaited_withcOs>	|jdksd|jpd�d|j�d�}t|��|j|i|��Sr&)r�r�r8r�rFrrrr��s
�z'AsyncMockMixin.assert_awaited_once_withcr])NTr?crGrrHrIr�rrr�rz3AsyncMockMixin.assert_any_await.<locals>.<listcomp>z%s await not found)r5rAr+rBr�r^r)r8r_rr�rr��s���zAsyncMockMixin.assert_any_awaitFc		s�	�fdd�|D�}tdd�|D�d�}t�fdd��jD��}|sI||vrG|dur-d}n
d�dd�|D��}t|�d	t|��d
�j���|�dSt|�}g}|D]}z|�|�WqQtyh|�|�YqQw|rutdt	|�f�|�dS)NcrGrrHrIr�rrr�rz4AsyncMockMixin.assert_has_awaits.<locals>.<listcomp>csrKr6rLrrrrrM�rNz3AsyncMockMixin.assert_has_awaits.<locals>.<genexpr>c3rOr6rHrIr�rrrM�rPzAwaits not found.z,Error processing expected awaits.
Errors: {}cSrQr6rLrrrrr	rRrSz	
Actual: z%r not all found in await list)
r�r{r�rUr8r`rWrDr�ra)	rIrXrYrCrEZ
all_awaitsrZr[r\rr�rr��sP�����������z AsyncMockMixin.assert_has_awaitscCs2	|jdkrd|jpd�d|j�d�}t|��dS)Nrr$r<z# to not have been awaited. Awaited r'r%r9rrrr�	r(z!AsyncMockMixin.assert_not_awaitedcs,	t�j|i|��d|_d|_t�|_dS�Nr)rr~r�r�r{r�rHr!rrr~&	s
zAsyncMockMixin.reset_mockrg)rrrr�r�r�r�r@rmr�r�r�r�r�r�r�r~�
__classcell__rrr!rr�ys(	

,	r�c@r)r	Nrrrrrr	0	r r	c@r�)�_ANYcCr�r?r�rIr�rrrr�^	r�z_ANY.__eq__cCr�r�rr-rrrra	r�z_ANY.__ne__cCr�)Nz<ANY>rr�rrrr�d	r�z
_ANY.__repr__N)rrrr�rr�rrrrr,[	s
r,cCs`d|}d}d�dd�|D��}d�dd�|��D��}|r |}|r,|r(|d7}||7}||S)Nz%s(%%s)r�z, cSsg|]}t|��qSr)�repr)r%rrrrrn	sz*_format_call_signature.<locals>.<listcomp>cSsg|]
\}}d||f�qS)z%s=%rr)r%rr�rrrro	s�)rr)r&rJrKr+Zformatted_argsZargs_stringZ
kwargs_stringrrrr'k	s
�r'c@s�eZdZ			ddd�Z		ddd	�Zd
d�ZejZdd
�Zdd�Z	dd�Z
dd�Zedd��Z
edd��Zdd�Zdd�ZdS)rArr�NFTcCs�d}i}t|�}|dkr|\}}}n9|dkr2|\}	}
t|	t�r,|	}t|
t�r)|
}n"|
}n|	|
}}n|dkrK|\}t|t�rA|}n
t|t�rI|}n|}|rUt�|||f�St�||||f�S)Nr�r�r�)r�r+r�rar�)r�r�r&r�r@�	from_kallrJrK�_len�first�secondrrrr��	s.



z
_Call.__new__cCs||_||_||_dSr6)r�r��_mock_from_kall)rIr�r&r�r@r0rrrr@�	s
z_Call.__init__cCsRzt|�}WntytYSwd}t|�dkr|\}}n|\}}}t|dd�r8t|dd�r8|j|jkr8dSd}|dkrDdi}}nU|dkrN|\}}}nK|dkrq|\}	t|	t�r_|	}i}n:t|	t�rl|	}di}}n-d}|	}n(|dkr�|\}
}t|
t�r�|
}t|t�r�|i}}nd|}}n|
|}}ndS|r�||kr�dS||f||fkS)	Nr�r�r�Frrr/r�)r�r2r�r-r�r+rar�)rIr�Z	len_otherZ	self_nameZ	self_argsZself_kwargsZ
other_nameZ
other_argsZother_kwargsr�r2r3rrrr��	sP�


�



z_Call.__eq__cOs<|jdurtd||fdd�S|jd}t|j||f||d�S)Nr�r�r�r�r�rAr(rrrrA�	s

z_Call.__call__cCs2|jdurt|dd�Sd|j|f}t||dd�S)NF)r&r0z%s.%s)r&r�r0r5)rIr�r&rrrr��	s
z_Call.__getattr__cCs|tjvrt�t�||�Sr6)rardrB�__getattribute__)rIr�rrrr6�	s
z_Call.__getattribute__cCs.t|�dkr|\}}||fS|\}}}||fS)Nr�)r�r(rrr�_get_call_arguments
s

�z_Call._get_call_argumentscC�|��dSr*�r7r�rrrrJ
�z
_Call.argscCr8)Nr�r9r�rrrrK
r:z_Call.kwargscCs||js|jpd}|�d�rd|}|St|�dkr d}|\}}n|\}}}|s*d}n|�d�s4d|}nd|}t|||�S)Nrr�zcall%sr�zcall.%s)r4r�r$r�r')rIr&rJrKrrrr�
s





z_Call.__repr__cCs<	g}|}|dur|jr|�|�|j}|dus	tt|��Sr6)r4r�r�r{r)rIZvalsrprrr�	call_list)
s
�z_Call.call_list)rr�NFT)rNNFT)rrrr�r@r�rrrAr�r6r7r�rJrKr�r;rrrrrA}	s(
� 
�5

rA)r0c	Ksj	t|�r	t|�}t|t�}t|�rtd|�d���t|�}d|i}	|r)d|i}	n|dur/i}	|	r7|r7d|	d<|s=t|�|	�|�t}
t	�
|�rLi}	n|rW|rTtd��t}
nt
|�s^t}
n
|rh|rht|�sht}
|	�d|�}|}|durvd	}|
d||||d
�|	��}t|t�r�t||�}|r�t|�nt||||�|dur�|s�||j|<|r�|s�d|vr�t||dd|d
�|_t|�D]w}
t|
�r�q�zt||
�}Wn	ty�Yq�wd|i}|r�d|i}t|t�s�t||||
|�}||j|
<n6|}t|t�r�|j}t||
|�}||d<t|��rt}nt}|d||
|
|d�|��}||j|
<t|||d�t|t��r2t ||
|�q�|S)Nz'Cannot autospec a Mock object. [object=rr�r�Tr�zJInstance can not be True when create_autospec is mocking an async functionr&r�)r�r�r�r&rr�)rTr�r�r�)r�r&r�r�)rSr)!rbr8r+r*rr5rwr�rr.Zisdatadescriptorrvr	r_rrgrr=rpr�rUr�rrr�r�r-rBr�r<�
_must_skiprrZ)r�r�rTr�r�r�rK�is_typeZ
is_async_funcr�r�r�r<rrlr�r�rSZchild_klassrrrr9
s�

�



��

�
��



��
�rcCsx	t|t�s|t|di�vrdS|j}|jD]#}|j�|t�}|tur$qt|tt	f�r.dSt|t
�r7|SdS|S)NrdF)r+r8r-r�rcrdrerr]r^r=)r�rr=rdrmrrrr<�
s


r<c@seZdZ		ddd�ZdS)r�FNcCs(||_||_||_||_||_||_dSr6)r��idsr�r�rTr&)rIr�r�r�r&r>rTrrrr@�
s
z_SpecState.__init__)FNNNFrrrrrr��
s�r�cCst|t�r
t�|�St�|�Sr6)r+�bytes�io�BytesIO�StringIO)�	read_datarrr�
_to_stream�
s


rDr�cs(	t��}|dg���fdd�}��fdd�}��fdd����fdd����fd	d
�}tdurEddl}ttt|j���tt|j����a|durOt	dt
d
�}t	td����j_d�j
_d�j_d�j_d�j_|�j_���d<�d�j_|�j_��j_|�j_����fdd�}||_�|_|S)Nc�(�jjdur
�jjS�dj|i|��Sr*)�	readlinesrrh��_state�handlerr�_readlines_side_effect�z)mock_open.<locals>._readlines_side_effectcrEr*)�readrrhrGrr�_read_side_effectrKz$mock_open.<locals>._read_side_effectc?s(���EdH	�dj|i|��Vq�NTr)�readlinerh)�_iter_side_effectrHrr�_readline_side_effects
��z(mock_open.<locals>._readline_side_effectc3s4��jjdur	�jjVq�dD]}|VqdSrN)rOr)�linerGrrrPs�
��z$mock_open.<locals>._iter_side_effectcs �jjdur
�jjSt�d�Sr*)rOrr�rrGrr�_next_side_effect$sz$mock_open.<locals>._next_side_effectr�open)r&r�)r�r�cs6t���d<�jj�dkr���d<�d�j_tS)Nrr�)rDrOr�rrh)rQrHrIrCrr�
reset_data@s

zmock_open.<locals>.reset_data)rD�	file_spec�_ior`rr��
TextIOWrapper�unionrArrTr�r�writerLrOrFr�rr�)r<rCZ
_read_datarJrMrSrWrUr)rPrQrHrIrCrr
�
s:"

r
c@s(eZdZ	dd�Zddd�Zdd�ZdS)	rcKstdi|��S)Nr)r)rIrKrrrr�Vr�zPropertyMock._get_child_mockNcCs|�Sr6r)rIr0Zobj_typerrrr�YszPropertyMock.__get__cCs||�dSr6r)rIr0rrrrr�[szPropertyMock.__set__r6)rrrr�r�r�rrrrrMs

rc	Csn	d|_t|�D],}zt||�}Wn	tyYqwt|t�s!qt|j�|�t�r+q|j	|ur4t
|�qdSr?)r�r�r-rBr+rr�rer�r�r)r<r�rrrrr_s 	�

��rc@seZdZ	dd�Zdd�ZdS)rcCs&||_ttd�}tj|_||jd<dS)Nrr2)�iteratorrrr.ZCO_ITERABLE_COROUTINErrd)rIr[r rrrr@{s
z_AsyncIterator.__init__c�s$�zt|j�WStyYt�wr6)r�r[r"r#r�rrrr��s��z_AsyncIterator.__anext__N)rrrr@r�rrrrrwsrrg)NFNNN)FFNNr�)��__all__r�r�r@r.r�r��builtinsr�typesrrrZ
unittest.utilr�	functoolsrrrBrr�r�r
rr�r1r5r*r:r>rErUrPr_rbrgrprkr�r�rr�r�rr�MISSINGr%ZDELETEDr�r�r�r`r{r�r�r�rrCr@r�r^r�rbrrsrurwrxr�r�r�rr�r�r�r�ZmultipleZstopallr�Z
magic_methodsZnumericsrrZinplace�rightZ
_non_defaultsr!rr`Z_sync_async_magicsZ
_async_magicsrarr r	r�rr�rrrr
rrrrrrr�r	r,rr'rarArrr<r�r8r�r=rVrDr
rrrrrrr�<module>sB	



1
h4
	R��
�2��R	��	���
	
	�	8+
:��
�
N

https://t.me/AnonymousX5 - 2025