File "mock.cpython-38.opt-2.pyc"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/opt/alt/python38/lib64/python3.8/unittest/__pycache__/mock.cpython-38.opt-2.pyc
File size: 56.88 KB
MIME-type: text/x-bytecode.python
Charset: 8 bit

U

if@sdZdZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
mZmZddl
mZddlmZmZddeeDZd	ZeZd
dZdd
ZddZddZddZddZdddZddZddZddZ dd Z!dd!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-Z.d-d.d/d0d1d2d3d4hZ/d5d6Z0Gd7d8d8e1Z2d9d:Z3Gd;d<d<e&Z4Gd=d>d>e&Z5Gd?d@d@e5Z6dAdBZ7GdCdDdDe5Z8GdEdFdFe8e6Z9dGdHZ:dIdJZ;GdKdLdLe&Z<dMdNZ=e*dddddfdOdPZ>ddQdRZ?e*dddddfdSdTZ@GdUdVdVe&ZAdWdXZBdYdZZCe>e@_&eAe@_De?e@_EeCe@_Fd[e@_Gd\ZHd]ZId^Jd_d`eIKDZLd^Jdad`eIKDZMdbdcdddedfdgdhdidjdkdldmdndodpdqdrdshZNdtduZOdvdd^JeHeIeLeMgKDZPdwdxdyhZQdzhZReQeRBZSePeNBZTeTeSBZUd{d|d}d~ddddhZVdddddddddZWeXeXeXeXddddddd	ddd
ZYddZZddZ[ddZ\ddZ]eZe[e\e]dZ^ddZ_Gddde5Z`Gddde`e6ZaGddde`ZbGddde`e9ZcGddde5ZdGddde5ZeGdddeeebe9ZfGddde&ZgegZhddZiGdddejZkekddZldddZmddZnGddde&ZoepemepehjqfZrdasddZtdddZuGddde9ZvddZwGdddZxdS))Mock	MagicMockpatchsentinelDEFAULTANYcallcreate_autospec	AsyncMock
FILTER_DIRNonCallableMockNonCallableMagicMock	mock_openPropertyMocksealz1.0N)CodeType
ModuleType
MethodType)	safe_repr)wrapspartialcCsh|]}|ds|qS_
startswith).0namer2/opt/alt/python38/lib64/python3.8/unittest/mock.py	<setcomp>(s
rTcCs>t|rt|tsdSt|dr*t|d}t|p<t|S)NF__func__)	_is_instance_mock
isinstancer	hasattrgetattrasyncioiscoroutinefunctioninspectZisawaitableobjrrr
_is_async_obj0s


r*cCst|ddrt|SdSdS)N__code__F)r$r%r&funcrrr_is_async_func8s
r.cCstt|tSN)
issubclasstyperr(rrrr!?sr!cCst|tpt|tot|tSr/)r"
BaseExceptionr1r0r(rrr
_is_exceptionEs
r3cCs"t|trt|dr|jS|SdSNmock)r"
FunctionTypesr#r5r(rrr
_extract_mockLsr7cCst|tr|s|j}d}n,t|tsFz
|j}Wntk
rDYdSX|rVt|d}n|}z|t|fWSt	k
rYdSXdSNT)
r"r1__init__r6__call__AttributeErrorrr'	signature
ValueError)r-Zas_instanceZeat_selfZsig_funcrrr_get_signature_objectUs

r>FcsNt|||dkrdS\}fdd}t|||t|_t|_dS)Ncsj||dSr/bindselfargskwargssigrrchecksigwsz"_check_signature.<locals>.checksig)r>_copy_func_detailsr1_mock_check_sig
__signature__)r-r5	skipfirstinstancerGrrEr_check_signaturers

rMc	Cs:dD]0}zt||t||Wqtk
r2YqXqdS)N)__name____doc____text_signature__
__module____defaults____kwdefaults__)setattrr$r;)r-funcopy	attributerrrrH~s
rHcCs@t|trdSt|tttfr(t|jSt|dddk	r<dSdS)NTr:F)r"r1staticmethodclassmethodr	_callabler r$r(rrrrYs

rYcCst|ttfkSr/)r1listtupler(rrr_is_listsr\cCsFt|tst|dddk	S|f|jD]}|jddk	r&dSq&dS)Nr:TF)r"r1r$__mro____dict__get)r)baserrr_instance_callables
racst|t}t|||}|dkr"|S|\}fdd}t|||j}|sRd}||d}d|}	t|	|||}
t|
||
S)Ncsj||dSr/r?rCrDrErrrGsz _set_signature.<locals>.checksigrU)Z
_checksig_r5zYdef %s(*args, **kwargs):
    _checksig_(*args, **kwargs)
    return mock(*args, **kwargs))r"r1r>rHrNisidentifierexec_setup_func)r5originalrLrKresultr-rGrcontextsrcrUrrEr_set_signatures$



rjcs_fdd}fdd}fdd}fdd}fd	d
}fdd}fd
d}	fdd}
d_d_d_t_t_t_j_j	_	j
_
|_|_|_
|	_|
_|_|_|_|__dS)Ncsj||Sr/)assert_called_withrbr5rrrksz'_setup_func.<locals>.assert_called_withcsj||Sr/)
assert_calledrbrlrrrmsz"_setup_func.<locals>.assert_calledcsj||Sr/)assert_not_calledrbrlrrrnsz&_setup_func.<locals>.assert_not_calledcsj||Sr/)assert_called_oncerbrlrrrosz'_setup_func.<locals>.assert_called_oncecsj||Sr/)assert_called_once_withrbrlrrrpsz,_setup_func.<locals>.assert_called_once_withcsj||Sr/)assert_has_callsrbrlrrrqsz%_setup_func.<locals>.assert_has_callscsj||Sr/)assert_any_callrbrlrrrrsz$_setup_func.<locals>.assert_any_callcs:t_t_j}t|r6|k	r6|dSr/)	_CallListmethod_calls
mock_calls
reset_mockreturn_valuer!)retrUr5rrrvsz_setup_func.<locals>.reset_mockFr)r5called
call_count	call_argsrscall_args_listrtrurwside_effect_mock_childrenrkrprqrrrvrmrnrorJ_mock_delegate)rUr5rFrkrmrnrorprqrrrvrryrres8recsJtjj_d_d_t_fdd}dD]}t|t||q.dS)Nrcstj|||Sr/)r$r5)attrrCrDrlrrwrappersz"_setup_async_mock.<locals>.wrapper)assert_awaitedassert_awaited_onceassert_awaited_withassert_awaited_once_withassert_any_awaitassert_has_awaitsassert_not_awaited)	r%
coroutines
_is_coroutineawait_count
await_argsrsawait_args_listrTr)r5rrVrrlr_setup_async_mocks
rcCsd|dd|kS)N__%s__rrrrr	_is_magicsrc@s$eZdZddZddZddZdS)_SentinelObjectcCs
||_dSr/rrBrrrrr9sz_SentinelObject.__init__cCs
d|jSNzsentinel.%srrBrrr__repr__sz_SentinelObject.__repr__cCs
d|jSrrrrrr
__reduce__sz_SentinelObject.__reduce__N)rNrQ__qualname__r9rrrrrrrsrc@s$eZdZddZddZddZdS)	_SentinelcCs
i|_dSr/)
_sentinelsrrrrr9#sz_Sentinel.__init__cCs|dkrt|j|t|S)N	__bases__)r;r
setdefaultrrrrr__getattr__&sz_Sentinel.__getattr__cCsdS)Nrrrrrrr,sz_Sentinel.__reduce__N)rNrQrr9rrrrrrr!srrw_mock_return_valuer~_mock_side_effect_mock_parent_mock_new_parent
_mock_name_mock_new_namecCs8t|d|}||fdd}||fdd}t||S)NZ_mock_cSs"|j}|dkrt||St||Sr/)rr$)rBr	_the_namerFrrr_getAs
z"_delegating_property.<locals>._getcSs*|j}|dkr||j|<nt|||dSr/)rr^rT)rBvaluerrrFrrr_setFsz"_delegating_property.<locals>._set)_allowed_namesaddproperty)rrrrrrr_delegating_property>s

rc@seZdZddZddZdS)rscCslt|tst||St|}t|}||kr2dStd||dD]"}||||}||krDdSqDdS)NFrT)r"rZ__contains__lenrange)rBrZ	len_valueZlen_selfiZsub_listrrrrSs
z_CallList.__contains__cCstt|Sr/)pprintZpformatrZrrrrrasz_CallList.__repr__N)rNrQrrrrrrrrsQsrscCs|t|}t|sdS|js4|js4|jdk	s4|jdk	r8dS|}|dk	rX||krPdS|j}q<|rh||_||_|rx||_||_dS)NFT)r7r!rrrr)parentrrnew_name_parentrrr_check_and_set_parentes*rc@seZdZddZddZdS)	_MockItercCst||_dSr/)iterr))rBr)rrrr9sz_MockIter.__init__cCs
t|jSr/)nextr)rrrr__next__sz_MockIter.__next__N)rNrQrr9rrrrrrsrc@seZdZeZdZddZdS)BaseNcOsdSr/rrArrrr9sz
Base.__init__)rNrQrrrrr9rrrrrsrc@s`eZdZddZdKddZdd	ZdLd
dZdMdd
ZddZddZ	dZ
eee	e
ZeddZ
edZedZedZedZedZddZddZeeeZdNddddd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0ZdOd2d3Z d4d5Z!d6d7Z"d8d9Z#d:d;Z$d<d=Z%d>d?Z&d@dAZ'dPdBdCZ(dDdEZ)dFdGZ*dQdIdJZ+dS)Rrc	Os|f}t|ts^ttj}|j|f||j}dd|D}|r^t	||dr^t
|f}t|j|d|j
i}tt||}|S)NcSsg|]}|dr|qSspecrrargrrr
<listcomp>s
z+NonCallableMock.__new__.<locals>.<listcomp>rrO)r0r	r'r<rr9Zbind_partialZ	argumentskeysr*AsyncMockMixinr1rNrO_safe_super__new__)	clsrCkwbasesrFZ
bound_argsZspec_argnewrLrrrrs
zNonCallableMock.__new__NFcKs|dkr|}|j}
||
d<||
d<||
d<||
d<d|
d<|dk	rJ|}d}|
dkrZ|dk	}
||||	|
i|
d<||
d	<d|
d
<d|
d<d|
d<d
|
d<t|
d<t|
d<t|
d<||
d<|r|jf|tt|||||||dS)NrrrrF_mock_sealedTr_mock_wrapsrZ_mock_calledZ_mock_call_argsrZ_mock_call_countZ_mock_call_args_listZ_mock_mock_callsrt_mock_unsafe)r^_mock_add_specrsconfigure_mockrrr9)rBrrrspec_setr_spec_state	_new_name_new_parent_spec_as_instance	_eat_selfZunsaferDr^rrrr9sD



zNonCallableMock.__init__cCs0t|}d|_d|_d|_d|_t|||dS)Nr)r7rrrrrT)rBr5rVZ
inner_mockrrrattach_mockszNonCallableMock.attach_mockcCs|||dSr/)rrBrrrrr
mock_add_specszNonCallableMock.mock_add_speccCsd}d}g}t|D] }tt||dr||q|dk	r~t|s~t|trV|}nt|}t|||}	|	ot|	d}t|}|j	}
||
d<||
d<||
d<||
d<||
d<dS)Nr_spec_class	_spec_set_spec_signature
_mock_methods_spec_asyncs)
dirr%r&r$appendr\r"r1r>r^)rBrrrrrrrrresr^rrrrs,
zNonCallableMock._mock_add_speccCs8|j}|jdk	r|jj}|tkr4|j|dd}||_|S)N()rr)rrrwr_get_child_mock)rBrxrrrZ__get_return_values
z"NonCallableMock.__get_return_valuecCs,|jdk	r||j_n||_t||dddS)Nr)rrwrr)rBrrrrZ__set_return_values

z"NonCallableMock.__set_return_valuez1The value to be returned when the mock is called.cCs|jdkrt|S|jSr/)rr1rrrr	__class__!s
zNonCallableMock.__class__rzr{r|r}rucCsN|j}|dkr|jS|j}|dk	rJt|sJt|tsJt|sJt|}||_|Sr/)rrr~callabler"rr3)rB	delegatedZsfrrrZ__get_side_effect.sz!NonCallableMock.__get_side_effectcCs(t|}|j}|dkr||_n||_dSr/)	_try_iterrrr~)rBrrrrrZ__set_side_effect9s
z!NonCallableMock.__set_side_effect)rwr~cCs|dkrg}t||krdS|t|d|_d|_d|_t|_t|_t|_|r^t	|_
|rhd|_|j
D]"}t|tsr|tkrqr||qr|j
}t|r||k	r||dS)NFr)idrrzr|r{rsrur}rtrrrrvaluesr"
_SpecState_deletedrvr!)rBZvisitedrwr~childrxrrrrvDs,zNonCallableMock.reset_mockcKsXt|dddD]>\}}|d}|}|}|D]}t||}q6t|||qdS)NcSs|ddS)Nr.)count)entryrrr<lambda>oz0NonCallableMock.configure_mock.<locals>.<lambda>)keyr)sorteditemssplitpopr$rT)rBrDrvalrCfinalr)rrrrrbs	
zNonCallableMock.configure_mockcCs|dkrt|n:|jdk	r<||jks.|tkrLtd|nt|rLt||jsd|drdtd|j|}|tkrt|np|dkrd}|j	dk	rt
|j	|}|j|||||d}||j|<n.t|t
rt|j|j|j|j|j}||j|<|S)N>rrzMock object has no attribute %r)assertZassretz1Attributes cannot start with 'assert' or 'assret')rrrrr)r;r_all_magicsrrrrr_rrr$rr"rrrrrLrr)rBrrgrrrrrxsF






zNonCallableMock.__getattr__cCs|jg}|j}|}d}|dgkr$d}|dk	rZ|}||j|d}|jdkrRd}|j}q$tt|}|jpnd}t|dkr|ddkr|d7}||d<d|S)Nrrrr5r)rz().r)rrrrZreversedrrjoin)rBZ
_name_listrZlastdotZ_firstrrr_extract_mock_names(


z"NonCallableMock._extract_mock_namecCs^|}d}|dkrd|}d}|jdk	rDd}|jr8d}||jj}dt|j||t|fS)Nr)r5zmock.z name=%rz spec=%rz spec_set=%rz<%s%s%s id='%s'>)rrrrNr1r)rBrZname_stringZspec_stringrrrrs 
zNonCallableMock.__repr__cCsvtst|S|jpg}tt|}t|j}dd|j	D}dd|D}dd|D}t
t||||S)NcSsg|]\}}|tk	r|qSr)r)rZm_nameZm_valuerrrrsz+NonCallableMock.__dir__.<locals>.<listcomp>cSsg|]}|ds|qSrrrerrrrs
cSs"g|]}|drt|r|qSr)rrrrrrrs
)r
object__dir__rrr1rZr^rrrset)rBZextrasZ	from_typeZ	from_dictZfrom_child_mocksrrrrs


zNonCallableMock.__dir__csT|tkrt||SjrHjdk	rH|jkrH|jkrHtd|n|tkrbd|}t|n|tkrjdk	r|jkrtd|t	|st
t|t|||fdd}n(t
|d|t
t|||j|<n,|dkr|_dSt
|||r|j|<jrFt|sFd|}td|t||S)Nz!Mock object has no attribute '%s'z.Attempting to set unsupported magic method %r.csf||Sr/rrCrrfrBrrrrz-NonCallableMock.__setattr__.<locals>.<lambda>rrzCannot set )rr__setattr__rrr^r;_unsupported_magicsrr!rTr1_get_methodrrrrr#r)rBrrmsg	mock_namerrrrs<

zNonCallableMock.__setattr__cCs|tkr2|t|jkr2tt||||jkr2dS|j|t}||jkr\tt|	|n|t
krlt||tk	r||j|=t
|j|<dSr/)rr1r^delattrrr__missingrr__delattr__rr;)rBrr)rrrrs

zNonCallableMock.__delattr__cCs|jpd}t|||Sr4)r_format_call_signaturerBrCrDrrrr_format_mock_call_signatures
z+NonCallableMock._format_mock_call_signaturercCs.d}|||}|j}|j|}||||fS)Nz.expected %s not found.
Expected: %s
Actual: %s)rr|)rBrCrDactionmessageexpected_stringr|Z
actual_stringrrr_format_mock_failure_messages

z,NonCallableMock._format_mock_failure_messagecCsj|s
|jSd}|ddd}|j}|D]:}||}|dksJt|trPqfq*t|}|j}|j}q*|S)Nrrr)rreplacerrr_r"rr7)rBrrFnamesZchildrenrrrr_get_call_signature_from_name's
z-NonCallableMock._get_call_signature_from_namec
Cst|tr&t|dkr&||d}n|j}|dk	rt|dkrNd}|\}}n
|\}}}z||j||fWStk
r}z|dWYSd}~XYqXn|SdS)Nrrr)r"r[rrrr@	TypeErrorwith_traceback)rB_callrFrrCrDrrrr
_call_matcherHs

"zNonCallableMock._call_matchercCs0|jdkr,d|jpd|j|f}t|dS)Nrz9Expected '%s' to not have been called. Called %s times.%sr5r{r_calls_reprAssertionErrorrBr
rrrrnbs
z!NonCallableMock.assert_not_calledcCs$|jdkr d|jpd}t|dS)Nrz"Expected '%s' to have been called.r5)r{rrr rrrrmls

zNonCallableMock.assert_calledcCs0|jdks,d|jpd|j|f}t|dS)Nrz:Expected '%s' to have been called once. Called %s times.%sr5rr rrrrots
z"NonCallableMock.assert_called_oncecsjdkr.}d}d||f}t|fdd}f}j}||kr~t|trn|nd}t||dS)Nznot called.z0expected call not found.
Expected: %s
Actual: %scs}|Sr/rr
rCrDrBrr_error_messagesz:NonCallableMock.assert_called_with.<locals>._error_message)r|rrrr"	Exception)rBrCrDexpectedactualZ
error_messager$causerr#rrk~s
z"NonCallableMock.assert_called_withcOs8|jdks,d|jpd|j|f}t||j||S)Nrz3Expected '%s' to be called once. Called %s times.%sr5)r{rrrrkrBrCrDr
rrrrps
z'NonCallableMock.assert_called_once_withc		sfdd|D}tdd|Dd}tfddjD}|s||kr|dkrXd}nddd|D}t|d	t|jd
dd|dSt|}g}|D]2}z||Wqt	k
r|
|YqXq|rtd
jpdt||f|dS)Ncsg|]}|qSrrrcrrrrsz4NonCallableMock.assert_has_calls.<locals>.<listcomp>css|]}t|tr|VqdSr/r"r%rrrr	<genexpr>s
z3NonCallableMock.assert_has_calls.<locals>.<genexpr>c3s|]}|VqdSr/r*r+rrrr.szCalls not found.z+Error processing expected calls.
Errors: {}cSsg|]}t|tr|ndqSr/r-rrrrrs
Expected: ZActual)prefixrz@%r does not contain all of %r in its call list, found %r insteadr5)
rrsruformatrrrstriprZremover=rrr[)	rBcalls	any_orderr&r(Z	all_callsproblem	not_foundkallrrrrqsH
"z NonCallableMock.assert_has_callscsZ||f}fddjD}||krVt|tr8|nd}||}td||dS)Ncsg|]}|qSrr*r+rrrrsz3NonCallableMock.assert_any_call.<locals>.<listcomp>z%s call not found)rr}r"r%rrrBrCrDr&r'r(rrrrrrszNonCallableMock.assert_any_callcKs|d}||jdkr"tf|St|}t|trB|tkrBt}nbt|trp|tksd|j	rj||j	krjt}qt}n4t|t
st|trt}qt|trt
}n
|jd}|jrd|krd|dnd}||}t||f|S)Nrrrrrr)r_r^r	r1r0r_async_method_magicsr_all_sync_magicsr
CallableMixinrrrr]rrr;)rBrr_typeklassrVrrrrrs2






zNonCallableMock._get_child_mockCallscCs"|js
dSd|dt|jdS)Nr
z: r)rur)rBr0rrrrszNonCallableMock._calls_repr)NNNNNNrNFNF)F)FF)N)r)F)r?),rNrQrrr9rrrZ"_NonCallableMock__get_return_valueZ"_NonCallableMock__set_return_valueZ"_NonCallableMock__return_value_docrrwrrrzr{r|r}ruZ!_NonCallableMock__get_side_effectZ!_NonCallableMock__set_side_effectr~rvrrrrrrrrrrrrnrmrorkrprqrrrrrrrrrsn
-
	



''
!


-'rcCsL|dkr|St|r|St|r$|Sz
t|WStk
rF|YSXdSr/)r3rYrrr(rrrrs
rc
@sReZdZddedddddddf
ddZddZddZd	d
ZddZd
dZ	dS)r<Nrc	Ks6||jd<tt|j|||||||	|
f|||_dS)Nr)r^rr<r9r~)rBrr~rwrrrrrrrrDrrrr9#s

zCallableMixin.__init__cOsdSr/rrArrrrI/szCallableMixin._mock_check_sigcOs$|j|||j|||j||Sr/)rI_increment_mock_call
_mock_callrArrrr:4szCallableMixin.__call__cOs|j||Sr/)_execute_mock_callrArrrrB<szCallableMixin._mock_callcOsd|_|jd7_t||fdd}||_|j||jdk	}|j}|j}|dk}|j	td||f|j
}|dk	r|r|jt|||f|jdk	}|r|jd|}t|||f}	|j	|	|jr|rd}
nd}
|jdk}|j|
|}|j
}qpdS)NTrtworrr)rzr{_Callr|r}rrrrrurrt)rBrCrDrZdo_method_callsZmethod_call_nameZmock_call_nameZ	is_a_callrZthis_mock_callrrrrrA?s4


z"CallableMixin._increment_mock_callcOs||j}|dk	rPt|r|n(t|s:t|}t|rD|n
|||}|tk	rP|S|jtk	r`|jS|jdk	rv|j||S|jSr/)r~r3rYrrrrwr)rBrCrDeffectrgrrrrCms 


z CallableMixin._execute_mock_call)
rNrQrrr9rIr:rBrArCrrrrr<!s
.r<c@seZdZdS)rNrNrQrrrrrrsrcCs8zt||WStk
r2t|t||YSXdSr/)r$r;
__import__)thingcompimport_pathrrr_dot_lookups
rMcCsB|d}|d}t|}|D]}|d|7}t|||}q |S)Nrrz.%s)rrrIrM)targetZ
componentsrLrJrKrrr	_importers

rOc@szeZdZdZgZddZddZddZdd	Ze	j
d
dZdd
ZddZ
ddZddZddZddZddZdS)_patchNc

Csn|dk	r(|tk	rtd|dk	r(td||_||_||_||_||_||_d|_||_	||_
|	|_g|_dS)Nz,Cannot use 'new' and 'new_callable' togetherz1Cannot use 'autospec' and 'new_callable' togetherF)
rr=getterrVrnew_callablercreateZ	has_localrautospecrDadditional_patchers)
rBrQrVrrrSrrTrRrDrrrr9s(z_patch.__init__c
CsHt|j|j|j|j|j|j|j|j|j		}|j
|_
dd|jD|_|S)NcSsg|]}|qSr)copy)rprrrrsz_patch.copy.<locals>.<listcomp>)rPrQrVrrrSrrTrRrDattribute_namerU)rBpatcherrrrrVs z_patch.copycCs2t|tr||St|r(||S||Sr/)r"r1decorate_classr'r&decorate_async_callabledecorate_callablerBr-rrrr:s




z_patch.__call__cCsNt|D]@}|tjsqt||}t|ds0q|}t||||q|SNr:)rrrTEST_PREFIXr$r#rVrT)rBr>r
attr_valuerYrrrrZs

z_patch.decorate_classc	csrg}t\}|jD]8}||}|jdk	r8||q|jtkr||q|t	|7}||fVW5QRXdSr/)

contextlib	ExitStack	patchings
enter_contextrXupdaterrrr[)rBpatchedrCkeywargs
extra_args
exit_stackpatchingrrrrdecoration_helpers




z_patch.decoration_helpercs>tdrjStfddg_S)Nrcc
s4||\}}||W5QRSQRXdSr/rkrCrgZnewargsZnewkeywargsr-rfrBrrrf(sz)_patch.decorate_callable.<locals>.patchedr#rcrrr]rrnrr\"s
z_patch.decorate_callablecs>tdrjStfddg_S)Nrcc
s:||"\}}||IdHW5QRSQRXdSr/rlrmrnrrrf9sz/_patch.decorate_async_callable.<locals>.patchedror]rrnrr[3s
z_patch.decorate_async_callablec	Cs|}|j}t}d}z|j|}Wn$ttfk
rHt||t}YnXd}|tkrft|t	rfd|_
|j
s|tkrtd||f||fS)NFTz!%s does not have the attribute %r)rQrVrr^r;KeyErrorr$	_builtinsr"rrS)rBrNrrflocalrrrget_originalDs 
z_patch.get_originalcCs|j|j|j}}}|j|j}}|j}||_|dkr@d}|dkrLd}|dkrXd}|dk	rp|dk	rptd|dk	s|dk	r|dkrtd|	\}}|t
kr||dkr|d}	|dkr|}|dkr|}d}n&|dk	r|dkr|}d}n|dkr|}|dk	s|dk	r.|t
krtdt|tr.d}	|dkrHt
|rHt}
nt}
i}|dk	r`|}
n^|dk	st|dk	r|}|dk	r|}t|rd|k}
n
t|}
t
|rt}
n
|
rt}
|dk	r||d<|dk	r||d	<t|
trt|
tr|jr|j|d
<|||
f|}|	rt|r|}|dk	rB|}t|sZt|sZt}
|d
|
f|dd||_nl|dk	r|t
k	rtd
|t
krtdt|}|dkr|}t|f||jd|}n|rtd|}||_||_t |_!zrt"|j|j||j#dk	rpi}|jt
kr:|||j#<|j$D](}|j!%|}|jt
kr@||q@|WS|WS|j&t'(sYnXdS)NFzCan't specify spec and autospec)TNz6Can't provide explicit spec_set *and* spec or autospecTz!Can't use 'spec' with create=Truer:rrrrrzBautospec creates the mock for you. Can't specify autospec and new.z%Can't use 'autospec' with create=True)r_namez.Can't pass kwargs to a mock we aren't creating))rrrrTrDrRrQrNrrsrr"r1r*r	rr\rrr0rrVrer!rarrwboolr
temp_originalis_localrarb_exit_stackrTrXrUrd__exit__sysexc_info)rBrrrrTrDrRrfrrZinheritKlass_kwargsZ	this_specZnot_callableZnew_attrrhrjrrrr	__enter__\s























z_patch.__enter__cGs|jr$|jtk	r$t|j|j|jn>t|j|j|jsbt|j|jrP|jdkrbt|j|j|j|`|`|`|j	}|`	|j
|S)N)rOrQrR__annotations__rS)rwrvrrTrNrVrrSr#rxry)rBr{rirrrrysz_patch.__exit__cCs|}|j||Sr/)r~_active_patchesr)rBrgrrrstartsz_patch.startcCs6z|j|Wntk
r&YdSX|dddSr/)rr3r=ryrrrrstops
z_patch.stop)rNrQrrXrr9rVr:rZracontextmanagerrkr\r[rsr~ryrrrrrrrPs 

rPc	sPzdd\}Wn&ttfk
r:tdfYnXfdd}||fS)Nrrz.Need a valid target to patch. You supplied: %rcstSr/rOrrNrrrrz_get_target.<locals>.<lambda>)rsplitrr=)rNrVrQrrr_get_target
src

s>ttkrtdfdd}	t|	||||||||	S)Nz3 must be the actual object to be patched, not a strcsSr/rrrrrr*rz_patch_object.<locals>.<lambda>)r1strrrP)
rNrVrrrSrrTrRrDrQrrr
_patch_objects rc
sttkrfdd}nfdd}|s2tdt|}|d\}	}
t||	|
|||||i	}|	|_|ddD]2\}	}
t||	|
|||||i	}|	|_|j|qt|S)NcstSr/rrrrrrHrz!_patch_multiple.<locals>.<lambda>csSr/rrrrrrJrz=Must supply at least one keyword argument with patch.multiplerr)	r1rr=rZrrPrXrUr)
rNrrSrrTrRrDrQrrVrrYZthis_patcherrrr_patch_multiple1sHrc

Ks$t|\}}	t||	|||||||	Sr/)rrP)
rNrrrSrrTrRrDrQrVrrrrbsFrc@sNeZdZdddZddZddZd	d
ZddZd
dZddZ	eZ
e	ZdS)_patch_dictrFcKs,||_t||_|j|||_d|_dSr/)in_dictdictrreclear	_original)rBrrrrDrrrr9s

z_patch_dict.__init__cs.ttrStfdd}|S)Ncs&z||WSXdSr/)r
_unpatch_dictrfrBrr_innersz$_patch_dict.__call__.<locals>._inner)r"r1rZr)rBrrrrrr:s


z_patch_dict.__call__cCsXt|D]J}t||}|tjrt|drt|j|j|j	}||}t
|||q|Sr^)rr$rrr_r#rrrrrT)rBr>rr`Z	decoratorZ	decoratedrrrrZs
z_patch_dict.decorate_classcCs||jSr/)rrrrrrr~sz_patch_dict.__enter__cCs|j}t|jtrt|j|_|j}|j}z|}Wn.tk
rdi}|D]}||||<qNYnX||_|rxt	|z|
|Wn*tk
r|D]}||||<qYnXdSr/)rr"rrrOrrVr;r_clear_dictre)rBrrrrfrrrrrs&z_patch_dict._patch_dictcCsR|j}|j}t|z||Wn*tk
rL|D]}||||<q6YnXdSr/)rrrrer;)rBrrfrrrrrsz_patch_dict._unpatch_dictcGs|dSNF)r)rBrCrrrrysz_patch_dict.__exit__N)rF)rNrQrr9r:rZr~rrryrrrrrrrs
	
rcCs>z|Wn,tk
r8t|}|D]
}||=q(YnXdSr/)rr;rZ)rrrrrrr&srcCsttjD]}|q
dSr/)rrPrr)rrrr_patch_stopall/srZtestzlt 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 ccs|]}d|VqdS)zi%sNrrnrrrr.Nsr.ccs|]}d|VqdS)zr%sNrrrrrr.Os__get____set__
__delete____reversed____missing__r
__reduce_ex__Z__getinitargs____getnewargs____getstate____setstate__
__getformat__Z
__setformat__rr__subclasses__
__format____getnewargs_ex__csfdd}||_|S)Ncs|f||Sr/rrBrCrr,rrmethod`sz_get_method.<locals>.method)rN)rr-rrr,rr	^sr	cCsh|]}d|qS)rr)rrrrrrfs
__aenter__	__aexit__	__anext__	__aiter__rrr9r__prepare____instancecheck____subclasscheck____del__cCs
t|Sr/)r__hash__rrrrr|rrcCs
t|Sr/)r__str__rrrrr}rcCs
t|Sr/)r
__sizeof__rrrrr~rcCs"t|jd|dt|S)N/)r1rNrrrrrrrr)rrr
__fspath__ry?g?)
__lt____gt____le____ge____int__r__len__ry__complex__	__float____bool__	__index__rcsfdd}|S)Ncs$jj}|tk	r|S|kr dStSr8)__eq__rrNotImplemented)otherret_valrrrrsz_get_eq.<locals>.__eq__r)rBrrrr_get_eqsrcsfdd}|S)Ncs jjtk	rtS|krdStSr)__ne__rrr)rrrrrs
z_get_ne.<locals>.__ne__r)rBrrrr_get_nesrcsfdd}|S)Ncs jj}|tkrtgSt|Sr/)__iter__rrrrrrrrsz_get_iter.<locals>.__iter__r)rBrrrr	_get_itersrcsfdd}|S)Ncs(jj}|tkrttgStt|Sr/)rrr_AsyncIteratorrrrrrrsz"_get_async_iter.<locals>.__aiter__r)rBrrrr_get_async_itersr)rrrrcCsbt|t}|tk	r||_dSt|}|dk	rB||}||_dSt|}|dk	r^|||_dSr/)_return_valuesr_rrw_calculate_return_value_side_effect_methodsr~)r5rrZfixedZreturn_calculatorrwZ
side_effectorrrr_set_return_values

rc@seZdZddZddZdS)
MagicMixincOs&|tt|j|||dSr/)_mock_set_magicsrrr9rrrrr9szMagicMixin.__init__cCsttB}|}t|dddk	rX||j}t}||}|D]}|t|jkr:t||q:|tt|j}t|}|D]}t	||t
||qvdS)Nr)_magicsr:r$intersectionrrr1r^rrT
MagicProxy)rBZorig_magicsZthese_magicsZ
remove_magicsrr=rrrrszMagicMixin._mock_set_magicsN)rNrQrr9rrrrrrsrc@seZdZdddZdS)rFcCs||||dSr/rrrrrrrsz"NonCallableMagicMock.mock_add_specN)FrNrQrrrrrrrsrc@seZdZddZdS)AsyncMagicMixincOs&|tt|j|||dSr/)rrrr9rrrrr9szAsyncMagicMixin.__init__NrNrQrr9rrrrrsrc@seZdZdddZdS)rFcCs||||dSr/rrrrrrszMagicMock.mock_add_specN)Frrrrrrsrc@s&eZdZddZddZdddZdS)	rcCs||_||_dSr/rr)rBrrrrrr9szMagicProxy.__init__cCs8|j}|j}|j|||d}t|||t||||S)N)rrr)rrrrTr)rBrrmrrrcreate_mockszMagicProxy.create_mockNcCs|Sr/)r)rBr)r=rrrr(szMagicProxy.__get__)N)rNrQrr9rrrrrrrs	rcseZdZedZedZedZfddZddZdd	Z	d
dZ
dd
ZddZddZ
dddZddZfddZZS)rrrrcs\tj||tjj|jd<d|jd<d|jd<t|jd<ttd}t	j
|_||jd<dS)NrrZ_mock_await_countZ_mock_await_argsZ_mock_await_args_listrr+)superr9r%rrr^rsrrr'ZCO_COROUTINEco_flags)rBrCrD	code_mockrrrr91s


zAsyncMockMixin.__init__cst||fdd}|jd7_||_|j||j}|dk	rt|rL|nbt|szt|}Wnt	k
rxt
YnXt|r|n&t|r|||IdH}n
|||}|t
k	r|S|jt
k	r|jS|jdk	rt|jr|j||IdHS|j||S|jS)NTrDr)rFrrrrr~r3rYr
StopIterationStopAsyncIterationr%r&rrrwr)rBrCrDrrGrgrrrrCAs6




z!AsyncMockMixin._execute_mock_callcCs(|jdkr$d|jpdd}t|dS)Nr	Expected r5z to have been awaited.rrrr rrrris
zAsyncMockMixin.assert_awaitedcCs0|jdks,d|jpdd|jd}t|dSNrrr5z$ to have been awaited once. Awaited  times.rr rrrrqs
z"AsyncMockMixin.assert_awaited_oncecszjdkr&}td|dfdd}f}j}||krvt|trf|nd}t||dS)NzExpected await: z
Not awaitedcsjdd}|S)Nawait)rr!r"r#rrr$sz:AsyncMockMixin.assert_awaited_with.<locals>._error_message)rrrrr"r%)rBrCrDr&r$r'r(rr#rrzs
z"AsyncMockMixin.assert_awaited_withcOs8|jdks,d|jpdd|jd}t||j||Sr)rrrrr)rrrrs
z'AsyncMockMixin.assert_awaited_once_withcsZ||f}fddjD}||krVt|tr8|nd}||}td||dS)Ncsg|]}|qSrr*r+rrrrsz3AsyncMockMixin.assert_any_await.<locals>.<listcomp>z%s await not found)rrr"r%rrr9rrrrszAsyncMockMixin.assert_any_awaitFc		sfdd|D}tdd|Dd}tfddjD}|s||kr|dkrXd}nddd|D}t|d	t|d
j|dSt|}g}|D]2}z||Wqtk
r||YqXq|rtdt	|f|dS)Ncsg|]}|qSrr*r+rrrrsz4AsyncMockMixin.assert_has_awaits.<locals>.<listcomp>css|]}t|tr|VqdSr/r-rrrrr.s
z3AsyncMockMixin.assert_has_awaits.<locals>.<genexpr>c3s|]}|VqdSr/r*r+rrrr.szAwaits not found.z,Error processing expected awaits.
Errors: {}cSsg|]}t|tr|ndqSr/r-rrrrrsr/z	
Actual: z%r not all found in await list)
rrsrr1rrZr3r=rr[)	rBr4r5r&r(Z
all_awaitsr6r7r8rrrrs>z AsyncMockMixin.assert_has_awaitscCs0|jdkr,d|jpdd|jd}t|dS)Nrrr5z# to not have been awaited. Awaited rrr rrrrs
z!AsyncMockMixin.assert_not_awaitedcs&tj||d|_d|_t|_dSNr)rrvrrrsrrArrrrvszAsyncMockMixin.reset_mock)F)rNrQrrrrrr9rCrrrrrrrrv
__classcell__rrrrr,s(	
,	rc@seZdZdS)r	NrHrrrrr	sr	c@s$eZdZddZddZddZdS)_ANYcCsdSr8rrBrrrrr	sz_ANY.__eq__cCsdSrrrrrrr	sz_ANY.__ne__cCsdS)Nz<ANY>rrrrrr	sz
_ANY.__repr__N)rNrQrrrrrrrrr	srcCs`d|}d}ddd|D}ddd|D}|r@|}|rX|rP|d7}||7}||S)Nz%s(%%s)rz, cSsg|]}t|qSr)reprrrrrr!	sz*_format_call_signature.<locals>.<listcomp>cSsg|]\}}d||fqS)z%s=%rr)rrrrrrr"	s)rr)rrCrDrZformatted_argsZargs_stringZ
kwargs_stringrrrr	s
rc@seZdZd ddZd!dd	Zd
dZejZdd
ZddZ	ddZ
ddZddZddZ
eddZeddZddZddZdS)"rFrrNFTcCsd}i}t|}|dkr$|\}}}nr|dkrd|\}	}
t|	trX|	}t|
trR|
}qb|
}q|	|
}}n2|dkr|\}t|tr|}nt|tr|}n|}|rt|||fSt||||fS)Nrrr)rr"rr[r)rrrrrE	from_kallrCrD_lenfirstsecondrrrrC	s.



z
_Call.__new__cCs||_||_||_dSr/)rr_mock_from_kall)rBrrrrErrrrr9c	sz_Call.__init__cCsh|tkrdSzt|}Wntk
r.YdSXd}t|dkrJ|\}}n
|\}}}t|ddr|t|ddr||j|jkr|dSd}|dkrdi}}n|dkr|\}}}n|d	kr|\}	t|	tr|	}i}n"t|	tr|	}di}}nd}|	}nV|dkr@|\}
}t|
tr4|
}t|tr(|i}}n
d|}}n
|
|}}ndS|rX||krXdS||f||fkS)
NTFrrrrrrr)rrrr$rr"r[r)rBrZ	len_otherZ	self_nameZ	self_argsZself_kwargsZ
other_nameZ
other_argsZother_kwargsrrrrrrrj	sR





z_Call.__eq__cOs<|jdkrtd||fddS|jd}t|j||f||dS)NrrrrrrFrrrrr:	s

z_Call.__call__cCs2|jdkrt|ddSd|j|f}t||ddS)NF)rrz%s.%s)rrrr)rBrrrrrr	s
z_Call.__getattr__cCs|tjkrtt||Sr/)r[r^r;__getattribute__)rBrrrrr	s
z_Call.__getattribute__cOs|d||S)NrrrArrrr	sz_Call.countcOs|d||S)NindexrrArrrr	sz_Call.indexcCs(t|dkr|\}}n
|\}}}||fS)Nr)rrrrr_get_call_arguments	s

z_Call._get_call_argumentscCs|dSrrrrrrrC	sz
_Call.argscCs|dS)NrrrrrrrD	sz_Call.kwargscCs||js&|jpd}|dr"d|}|St|dkr@d}|\}}n0|\}}}|sTd}n|dshd|}nd|}t|||S)Nrrzcall%srzcall.%s)rrrrr)rBrrCrDrrrr	s





z_Call.__repr__cCs4g}|}|dk	r(|jr |||j}qtt|Sr/)rrrrsr)rBZvalsrJrrr	call_list	s
z_Call.call_list)rrNFT)rNNFT)rNrQrrr9rrrr:rrrrrrrCrDrrrrrrrF0	s(
 
7

rF)rc	Kslt|rt|}t|t}t|}d|i}|r8d|i}n|dkrDi}|rT|rTd|d<||t}	t|rri}n8|r|rtdt	}	n"t
|st}	n|r|rt|st}	|
d|}|}
|dkrd}
|	f|||
|d|}t|trt||}|rt|nt|||||dk	r,|s,||j|<|rV|sVd	|krVt||dd
|d|_t|D]}t|rrq^zt||}
Wntk
rYq^YnXd|
i}|rd|
i}t|
tst|
||||}||j|<np|}t|tr|j}t|||}||d<t|
rt	}nt}|f||||d
|}||j|<t|
||dt|tr^t|||q^|S)NrrTrzJInstance can not be True when create_autospec is mocking an async functionrr)rrrrrwr)rLrtrr)rrrr)rK)r\r1r"r.rerr'ZisdatadescriptorRuntimeErrorr	rYrrarr6rjrrMrrrwrrr$r;rr5
_must_skipr%r&rT)rrrLrrtrDis_typeZ
is_async_funcr}r|rr5rrfrrrKZchild_klassrrrr	s










rcCsxt|ts$|t|dikrdS|j}|jD]H}|j|t}|tkrFq*t|tt	frZdSt|t
rl|SdSq*|S)Nr^F)r"r1r$rr]r^r_rrWrXr6)rrrr>rgrrrrw
s


rc@seZdZdddZdS)rFNcCs(||_||_||_||_||_||_dSr/)ridsrrrLr)rBrrrrrrLrrrr9
sz_SpecState.__init__)FNNNFrrrrrr
s
rcCs"t|trt|St|SdSr/)r"bytesioBytesIOStringIO)	read_datarrr
_to_stream
s

rrcs&t}|dgfdd}fdd}fddfddfd	d
}tdkrddl}ttt|jtt|ja|dkrt	dt
d
}t	tdj_dj
_dj_dj_dj_|j_d<dj_|j_j_|j_fdd}||_|_|S)Ncs$jjdk	rjjSdj||Sr)	readlinesrwrb_statehandlerr_readlines_side_effect
sz)mock_open.<locals>._readlines_side_effectcs$jjdk	rjjSdj||Sr)readrwrbrrr_read_side_effect
sz$mock_open.<locals>._read_side_effectc?s$EdHdj||VqdSr)readlinerb)_iter_side_effectrrr_readline_side_effect
sz(mock_open.<locals>._readline_side_effectc3s0jjdk	rjjVqdD]
}|Vq dSr)rrw)linerrrr
sz$mock_open.<locals>._iter_side_effectcs jjdk	rjjStdSr)rrwrrrrr_next_side_effect
sz$mock_open.<locals>._next_side_effectropen)rrrrcs6td<jjdkr2d<dj_tS)Nrr)rrr~rrb)r
rrrrr
reset_data
s

zmock_open.<locals>.reset_data)r	file_spec_iorZrr
TextIOWrapperunionrrrr~rwwriter	rrr~rr)r5rZ
_read_datarr
rrrr)rr
rrrrr

s8"

r
c@s&eZdZddZdddZddZdS)	rcKs
tf|Sr/)r)rBrDrrrrszPropertyMock._get_child_mockNcCs|Sr/r)rBr)Zobj_typerrrrszPropertyMock.__get__cCs||dSr/r)rBr)rrrrr
szPropertyMock.__set__)N)rNrQrrrrrrrrr
s	
rc	Cs^d|_t|D]J}zt||}Wntk
r8YqYnXt|tsFq|j|krt|qdSr8)rrr$r;r"rrr)r5rrrrrrs



rc@s$eZdZddZddZddZdS)rcCs&||_ttd}tj|_||jd<dS)Nrr+)iteratorrrr'ZCO_ITERABLE_COROUTINErr^)rBrrrrrr9+s
z_AsyncIterator.__init__cCs|Sr/rrrrrr1sz_AsyncIterator.__aiter__cs*zt|jWStk
r YnXtdSr/)rrrrrrrrr4s
z_AsyncIterator.__anext__N)rNrQrr9rrrrrrr'sr)F)F)NFNNN)FFNN)Nr)y__all____version__r%rarr'rrzbuiltinstypesrrrZ
unittest.utilr	functoolsrrrrqr
rrr*r.r!r3r7r>rMrHrYr\rarjrerrrrrrrMISSINGr
ZDELETEDrrrrZrsrrrrrr<rrMrOrPrrrrrrrrZmultipleZstopallr_Z
magic_methodsZnumericsrrZinplacerightZ
_non_defaultsr	rr:Z_sync_async_magicsZ
_async_magicsr;rrrrrrrrrrrrrrrrrr	rrrr[rFrrrrr1rr6rrr
rrrrrrr<module>s~	



1	h4<

2
Mw		

	
		8+B


N