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

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

3

2a7@sFdZd
ZddlZddlZddlZddlZddlmZddlm	Z	m
Z
ddeeDZe
fZdejkrzddlZe
ejjfZdZeZddZddZddZdddZdd Zd!d"Zd#d$Zd%d&Zdd'd(Zd)d*Zd+d,Z Gd-d.d.e!Z"Gd/d0d0e!Z#e#Z$e$j%Z%e$j&Z'e$j(Z)d1d2Z*d3d4d5d6d7d8d9d:hZ+d;d<Z,Gd=d>d>e-Z.d?d@Z/GdAdBdBe!Z0GdCdDdDe!Z1GdEd	d	e1Z2dFdGZ3GdHdIdIe1Z4GdJdde4e2Z5dKdLZ6dMdNZ7dOdPZ8GdQdRdRe!Z9dSdTZ:e%dddddfdUdVZ;ddWdXZ<e%dddddfdYdZ=GdZd[d[e!Z>d\d]Z?d^d_Z@e;e=_!e>e=_Ae<e=_Be@e=_Cd`e=_DdaZEdbZFdcjGdddeeFjHDZIdcjGdfdeeFjHDZJdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxhZKdydzZLd{ddcjGeEeFeIeJgjHDZMeMeKBZNd|d}d~dddddhZOdddddddZPeQeQeQeQdddddddddZRddZSddZTddZUeSeTeUdZVddZWGddde!ZXGdd
d
eXe2ZYGdddeXe5ZZGddde!Z[Gddde!Z\e\Z]ddZ^Gddde_Z`e`ddZadddZbddZcddZdGddde!Zeefebefe]jgfZhefe]jgjifZjdakddZldddZmGddde5ZndS)Mock	MagicMockpatchsentinelDEFAULTANYcallcreate_autospec
FILTER_DIRNonCallableMockNonCallableMagicMock	mock_openPropertyMockz1.0N)
ModuleType)wrapspartialcCsh|]}|jds|qS)_)
startswith).0namer)/opt/alt/python36/lib64/python3.6/mock.py	<setcomp>#srjavaTcCstt|tS)N)
issubclasstyper
)objrrr_is_instance_mock2srcCst|tpt|tot|tS)N)
isinstanceBaseExceptionsrr)rrrr
_is_exception8s
r cCst|tr6|r6y
|j}Wntk
r.dSXd}n*t|ts`y
|j}Wntk
r^dSX|rpt|d}n|}y|tj|fSt	k
rdSXdS)NT)
rr__init__AttributeError
FunctionTypes__call__rinspectZ	signature
ValueError)funcZas_instanceZeat_selfZsig_funcrrr_get_signature_object?s$


r(FcsDt|||dkrdS\}fdd}t|||t|_dS)Ncsj||dS)N)bind)
_mock_selfargskwargs)sigrrchecksigdsz"_check_signature.<locals>.checksig)r(_copy_func_detailsr_mock_check_sig)r'mock	skipfirstinstancer.r)r-r_check_signature_s
r4c#Cs|j|_|j|_y|j|_Wntk
r0YnXy|j|_Wntk
rRYnXy|j|_Wntk
rtYnXy|j|_Wntk
rYnXdS)N)__name____doc____text_signature__r"
__module____defaults____kwdefaults__)r'funcopyrrrr/js$r/cCs&t|trdSt|dddk	r"dSdS)NTr$F)rrgetattr)rrrr	_callables

r=cCst|ttfkS)N)rlisttuple)rrrr_is_listsr@cCsHt|tst|dddk	Sx(|f|jD]}|jjddk	r(dSq(WdS)Nr$TF)rrr<__mro____dict__get)rbaserrr_instance_callables
rEcst|sdSt|t}t|||}|dkr.|S|\}fdd}t|||j}|js^d}||d}d|}	t|	|||}
t|
||
S)Ncsj||dS)N)r))r+r,)r-rrr.sz _set_signature.<locals>.checksigr;)Z
_checksig_r1zYdef %s(*args, **kwargs):
    _checksig_(*args, **kwargs)
    return mock(*args, **kwargs))	r=rrr(r/r5isidentifierexec_setup_func)r1originalr3r2resultr'r.rcontextsrcr;r)r-r_set_signatures$




rMc
s_tsdSfdd}fdd}fdd}fdd}fd	d
}fdd}fd
d}fdd}	d_d_d_t_t_t_j	_	j
_
j_|_|_
|_|_|	_|_|_|__dS)Ncsj||S)N)assert_called_with)r+r,)r1rrrNsz'_setup_func.<locals>.assert_called_withcsj||S)N)
assert_called)r+r,)r1rrrOsz"_setup_func.<locals>.assert_calledcsj||S)N)assert_not_called)r+r,)r1rrrPsz&_setup_func.<locals>.assert_not_calledcsj||S)N)assert_called_once)r+r,)r1rrrQsz'_setup_func.<locals>.assert_called_oncecsj||S)N)assert_called_once_with)r+r,)r1rrrRsz,_setup_func.<locals>.assert_called_once_withcsj||S)N)assert_has_calls)r+r,)r1rrrSsz%_setup_func.<locals>.assert_has_callscsj||S)N)assert_any_call)r+r,)r1rrrTsz$_setup_func.<locals>.assert_any_callcs:t_t_jj}t|r6|k	r6|jdS)N)	_CallListmethod_calls
mock_calls
reset_mockreturn_valuer)ret)r;r1rrrXsz_setup_func.<locals>.reset_mockFr)r1rcalled
call_count	call_argsrUcall_args_listrVrWrYside_effect_mock_childrenrNrRrSrTrXrOrPrQ_mock_delegate)
r;r1rNrOrPrQrRrSrTrXr)r;r1rrHs:rHcCsd|dd|kS)Nz__%s__r)rrrr	_is_magicsrdc@seZdZddZddZdS)_SentinelObjectcCs
||_dS)N)r)selfrrrrr!sz_SentinelObject.__init__cCs
d|jS)Nzsentinel.%s)r)rfrrr__repr__sz_SentinelObject.__repr__N)r5r8__qualname__r!rgrrrrresrec@seZdZddZddZdS)	_SentinelcCs
i|_dS)N)
_sentinels)rfrrrr!sz_Sentinel.__init__cCs|dkrt|jj|t|S)N	__bases__)r"rj
setdefaultre)rfrrrr__getattr__sz_Sentinel.__getattr__N)r5r8rhr!rmrrrrrisricCs$t|ttttfkr t||S|S)N)rdictr>r?set)valuerrr_copysrqrY_mock_return_valuer__mock_side_effect_mock_parent_mock_new_parent
_mock_name_mock_new_namecCs8tj|d|}||fdd}||fdd}t||S)NZ_mock_cSs"|j}|dkrt||St||S)N)rar<)rfr	_the_namer-rrr_gets
z"_delegating_property.<locals>._getcSs*|j}|dkr||j|<nt|||dS)N)rarBsetattr)rfrprrxr-rrr_set$sz"_delegating_property.<locals>._set)_allowed_namesaddproperty)rrxryr{rrr_delegating_propertys

rc@seZdZddZddZdS)rUcCsnt|tstj||St|}t|}||kr2dSx6td||dD] }||||}||krFdSqFWdS)NFrT)rr>__contains__lenrange)rfrpZ	len_valueZlen_selfiZsub_listrrrr1s
z_CallList.__contains__cCstjt|S)N)pprintZpformatr>)rfrrrrg?sz_CallList.__repr__N)r5r8rhrrgrrrrrU/srUcCsxt|sdS|js,|js,|jdk	s,|jdk	r0dS|}x|dk	rR||krJdS|j}q6W|rd||_||_|rt||_||_dS)NFT)rrvrwrtru)parentrprnew_name_parentrrr_check_and_set_parentCs$



rc@s$eZdZddZddZddZdS)	_MockItercCst||_dS)N)iterr)rfrrrrr!]sz_MockIter.__init__cCs|S)Nr)rfrrr__iter___sz_MockIter.__iter__cCs
t|jS)N)nextr)rfrrr__next__asz_MockIter.__next__N)r5r8rhr!rrrrrrr\src@seZdZeZdZddZdS)BaseNcOsdS)Nr)rfr+r,rrrr!gsz
Base.__init__)r5r8rhrrrrsr!rrrrrdsrc@sDeZdZddZdCddZdd	ZdDd
dZdEdd
ZddZddZ	dZ
eee	e
ZeddZ
edZedZedZedZedZddZddZeeeZdFddddd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Z d3d4Z!d5d6Z"d7d8Z#d9d:Z$d;d<Z%dGd=d>Z&d?d@Z'dAdBZ(dS)Hr
cOs$t|j|fd|ji}tj|}|S)Nr6)rr5r6object__new__)clsr+kwnewr3rrrros
zNonCallableMock.__new__NFcKs|dkr|}|j}
||
d<||
d<||
d<||
d<|dk	rB|}d}|
dkrR|dk	}
|j|||	|
i|
d<||
d<d|
d<d	|
d
<d|
d<d|
d
<t|
d<t|
d<t|
d<||
d<|r|jf|tt|j||||||dS)NrtrvrwruTr`_mock_wrapsraFZ_mock_calledZ_mock_call_argsrZ_mock_call_countZ_mock_call_args_listZ_mock_mock_callsrV_mock_unsafe)rB_mock_add_specrUconfigure_mock_safe_superr
r!)rfspecrrspec_setr_spec_state	_new_name_new_parent_spec_as_instance	_eat_selfZunsafer,rBrrrr!xs8




zNonCallableMock.__init__cCs(d|_d|_d|_d|_t|||dS)Nr)rtrurvrwrz)rfr1	attributerrrattach_mocks
zNonCallableMock.attach_mockcCs|j||dS)N)r)rfrrrrr
mock_add_specszNonCallableMock.mock_add_specc	Cs|d}d}|dk	rRt|rRt|tr*|}nt|}t|||}|oH|d}t|}|j}||d<||d<||d<||d<dS)Nr_spec_class	_spec_set_spec_signature
_mock_methods)r@rr
_get_classr(dirrB)	rfrrrrrrresrBrrrrs
zNonCallableMock._mock_add_speccCs8|j}|jdk	r|jj}|tkr4|j|dd}||_|S)Nz())rr)rrrarYr_get_child_mock)rfrZrrrZ__get_return_values

z"NonCallableMock.__get_return_valuecCs,|jdk	r||j_n||_t||dddS)Nz())rarYrrr)rfrprrrZ__set_return_values

z"NonCallableMock.__set_return_valuez1The value to be returned when the mock is called.cCs|jdkrt|S|jS)N)rr)rfrrr	__class__s
zNonCallableMock.__class__r[r\r]r^rWcCsT|j}|dkr|jS|j}|dk	rPt|rPt|trPt|rPt|}||_|S)N)rarsr_callablerrr )rf	delegatedZsfrrrZ__get_side_effectsz!NonCallableMock.__get_side_effectcCs(t|}|j}|dkr||_n||_dS)N)	_try_iterrarsr_)rfrprrrrZ__set_side_effects
z!NonCallableMock.__set_side_effect)rYr_cCs|dkrg}t||krdS|jt|d|_d|_d|_t|_t|_t|_|r^t	|_
|rhd|_x0|jj
D]"}t|tst|tkrqt|j|qtW|j
}t|r||k	r|j|dS)NFr)idappendr[r]r\rUrWr^rVrrrrsr`valuesr
_SpecState_deletedrXr)rfZvisitedrYr_ZchildrZrrrrX
s,zNonCallableMock.reset_mockcKs`xZt|jdddD]B\}}|jd}|j}|}x|D]}t||}q:Wt|||qWdS)NcSs|djdS)Nr.)count)entryrrr<lambda>8sz0NonCallableMock.configure_mock.<locals>.<lambda>)keyr)sorteditemssplitpopr<rz)rfr,argvalr+finalrrrrrr+s	


zNonCallableMock.configure_mockcCs|dkrt|n:|jdk	r<||jks.|tkrLtd|nt|rLt||jsd|jdrdt||jj|}|tkrt|np|dkrd}|j	dk	rt
|j	|}|j|||||d}||j|<n.t|t
rt|j|j|j|j|j}||j|<|S)	NrrzMock object has no attribute %rassertassret)rrrrr>rr)rr)r"r_all_magicsrdrrr`rCrrr<rrrrrrr3rr)rfrrJrrrrrmAs6






zNonCallableMock.__getattr__c
Cs"|jg}|j}|}d}|dgkr$d}t}xT|dk	r~|}|j|j|d}|jdkrZd}|j}t||krnP|jt|q,Wtt|}|jpd}t	|dkr|dd
kr|d7}||d<dj
|}d}|dkrd	|}d}	|jdk	rd
}	|jrd}	|	|jj
}	dt|j
||	t|fS)Nr()rr1r().rmock.z name=%rz spec=%rz spec_set=%rz<%s%s%s id='%s'>)rr)r1r)rwrurorrr}r>reversedrvrjoinrrr5r)
rfZ
_name_listrZlastdotseenZ_firstrZname_stringZspec_stringrrrrggsL




zNonCallableMock.__repr__cCshtstj|S|jpg}tt|}t|j}dd|D}dd|D}tt	|||t|j
S)NcSsg|]}|jds|qS)r)r)rerrr
<listcomp>sz+NonCallableMock.__dir__.<locals>.<listcomp>cSs$g|]}|jdst|r|qS)r)rrd)rrrrrrs)r	r__dir__rrrr>rBrror`)rfextrasZ	from_typeZ	from_dictrrrrs


zNonCallableMock.__dir__cs"|tkrtj||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|<tj||S)Nz!Mock object has no attribute '%s'z.Attempting to set unsupported magic method %r.csf||S)Nr)r+r)rIrfrrrsz-NonCallableMock.__setattr__.<locals>.<lambda>r)r|r__setattr__rrrBr"_unsupported_magicsrrrzr_get_methodrr`r)rfrrpmsgr)rIrfrrs2




zNonCallableMock.__setattr__cCs|tkr2|t|jkr2tt||||jkr2dS||jkrHtj|||jj|t}|t	krft
||tk	rv|j|=t	|j|<dS)N)rrrBdelattrr__delattr__r`rC_missingrr")rfrrrrrrs

zNonCallableMock.__delattr__cCs|jpd}t|||S)Nr1)rv_format_call_signature)rfr+r,rrrr_format_mock_call_signatures
z+NonCallableMock._format_mock_call_signaturecCsDd}|j||}|j}t|dkr.|dd}|j|}|||fS)Nz!Expected call: %s
Actual call: %sr)rr]r)rfr+r,messageexpected_stringr]Z
actual_stringrrr_format_mock_failure_messages
z,NonCallableMock._format_mock_failure_messagecCst|j}|dk	rlt|dkr(d}|\}}n
|\}}}y||j||fStk
rh}z
|jdSd}~XqpXn|SdS)Nrbr)rrr)	TypeErrorwith_traceback)rf_callr-rr+r,rrrr
_call_matchers

zNonCallableMock._call_matchercCs.|}|jdkr*d|jpd|jf}t|dS)Nrz7Expected '%s' to not have been called. Called %s times.r1)r\rvAssertionError)r*rfrrrrrPs

z!NonCallableMock.assert_not_calledcCs(|}|jdkr$d|jpd}t|dS)Nrz"Expected '%s' to have been called.r1)r\rvr)r*rfrrrrrOs

zNonCallableMock.assert_calledcCs.|}|jdks*d|jpd|jf}t|dS)Nrz8Expected '%s' to have been called once. Called %s times.r1)r\rvr)r*rfrrrrrQs

z"NonCallableMock.assert_called_oncecs||jdkr(j}td|ffdd}jf}jj}||krxt|trh|nd}t||dS)NzExpected call: %s
Not calledcsj}|S)N)r)r)r+r,rfrr_error_message'sz:NonCallableMock.assert_called_with.<locals>._error_message)r]rrrr	Exception)r*r+r,expectedractualcauser)r+r,rfrrNs
z"NonCallableMock.assert_called_withcOs6|}|jdks*d|jpd|jf}t||j||S)Nrz1Expected '%s' to be called once. Called %s times.r1)r\rvrrN)r*r+r,rfrrrrrR1s
z'NonCallableMock.assert_called_once_withcsfdd|D}t|tr |nd}tfddjD}|sd||kr`tdt|jf|dSt|}g}x:|D]2}y|j|Wqvtk
r|j|YqvXqvW|rtdt	|f|dS)Ncsg|]}j|qSr)r)rc)rfrrrFsz4NonCallableMock.assert_has_calls.<locals>.<listcomp>c3s|]}j|VqdS)N)r)rr)rfrr	<genexpr>Hsz3NonCallableMock.assert_has_calls.<locals>.<genexpr>z(Calls not found.
Expected: %r
Actual: %rz%r not all found in call list)
rrrUrWrr>remover&rr?)rfZcallsZ	any_orderrrZ	all_callsZ	not_foundZkallr)rfrrS<s*

z NonCallableMock.assert_has_callscsZj||f}fddjD}||krVt|tr8|nd}j||}td||dS)Ncsg|]}j|qSr)r)rr)rfrrrfsz3NonCallableMock.assert_any_call.<locals>.<listcomp>z%s call not found)rr^rrrr)rfr+r,rrrrr)rfrrT_szNonCallableMock.assert_any_callcKsFt|}t|ts2t|tr"t}q<t|tr<t}n
|jd}|f|S)Nr)rr
CallableMixinrrr
rrA)rfr_typeklassrrrros



zNonCallableMock._get_child_mock)NNNNNNrNFNF)F)FF)N)F))r5r8rhrr!rrrZ"_NonCallableMock__get_return_valueZ"_NonCallableMock__set_return_valueZ"_NonCallableMock__return_value_docr~rYrrr[r\r]r^rWZ!_NonCallableMock__get_side_effectZ!_NonCallableMock__set_side_effectr_rXrrmrgrrrrrrrPrOrQrNrRrSrTrrrrrr
lsP

)
	


&2"
			
#cCsF|dkr|St|r|St|r$|Syt|Stk
r@|SXdS)N)r r=rr)rrrrrsrc
@sBeZdZddedddddddf
ddZddZddZd	d
ZdS)rNrc	Ks6||jd<tt|j|||||||	|
f|||_dS)Nrr)rBrrr!r_)rfrr_rYrrrrrrrr,rrrr!s



zCallableMixin.__init__cOsdS)Nr)rfr+r,rrrr0szCallableMixin._mock_check_sigcOs|j|||j||S)N)r0
_mock_call)r*r+r,rrrr$szCallableMixin.__call__cOs|}d|_|jd7_t||fdd}||_|jj|t}|jdk	}|j}|j	}|dk}	|j
jtd||f|j}
x|
dk	r*|r|
jjt|||f|
jdk	}|r|
jd|}t|||f}|
j
j||
j	r|	rd}nd}|
j	dk}	|
j	||}|
j}
t
|
}
|
|krP|j|
q|W|j}|dk	rt|rL|n,t|snt|}t|rx|n
|||}|tk	r|S|jtk	r|jS|jdk	r|j||S|jS)NTr)twoz()rr)r[r\_Callr]r^rrortrvrwrWrurVrr}r_r r=rrrrrYr)r*r+r,rfrrZdo_method_callsZmethod_call_nameZmock_call_nameZ	is_a_callrZthis_mock_callrZ_new_parent_idZeffectrJrrrrs`









zCallableMixin._mock_call)r5r8rhrr!r0r$rrrrrrsrc@seZdZdS)rN)r5r8rhrrrrrs1cCs2y
t||Stk
r,t|t||SXdS)N)r<r"
__import__)thingcompimport_pathrrr_dot_lookup1s

rcCsF|jd}|jd}t|}x$|D]}|d|7}t|||}q"W|S)Nrrz.%s)rrrr)targetZ
componentsrrrrrr	_importer9s


rcCs
t|dS)Nis_local)hasattr)patcherrrr_is_startedDsrc@sdeZdZdZgZddZddZddZdd	Zd
dZ	dd
Z
ddZddZddZ
ddZdS)_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&getterrrnew_callablercreateZ	has_localrautospecr,additional_patchers)
rfrrrrrrrrr,rrrr!Ns$z_patch.__init__c
CsHt|j|j|j|j|j|j|j|j|j		}|j
|_
dd|jD|_|S)NcSsg|]}|jqSr)copy)rprrrrqsz_patch.copy.<locals>.<listcomp>)rrrrrrrrrr,attribute_namer)rfrrrrrisz_patch.copycCst|tr|j|S|j|S)N)rrdecorate_classdecorate_callable)rfr'rrrr$vs

z_patch.__call__cCsRxLt|D]@}|jtjsq
t||}t|ds2q
|j}t||||q
W|S)Nr$)rrrTEST_PREFIXr<rrrz)rfrattr
attr_valuerrrrr|s

z_patch.decorate_classcs<tdrjj|Stfdd|g_S)N	patchingscsg}g}t}zybxJjD]@}|j}|j||jdk	rF|j|q|jtkr|j|qW|t|7}||S||krt|r|j|t	j
}YnXWdxt|D]}|j|qWXdS)N)
r?r		__enter__rrupdaterrrsysexc_infor__exit__)r+Zkeywargs
extra_argsZentered_patchersr
patchingr)r'patchedrrrs*




z)_patch.decorate_callable.<locals>.patched)rr	rr)rfr'r)r'rrrs
z_patch.decorate_callablecCs|j}|j}t}d}y|j|}Wn$ttfk
rHt||t}YnXd}|tkrft|t	rfd|_
|j
r|tkrtd||f||fS)NFTz!%s does not have the attribute %r)rrrrBr"KeyErrorr<	_builtinsrrr)rfrrrIlocalrrrget_originalsz_patch.get_originalcCs>|j|j|j}}}|j|j}}|j}|j|_|dkr@d}|dkrLd}|dkrXd}|dk	rp|dk	rptd|dk	s|dk	r|dkrtd|j	\}}|t
ko|dkrTd}	|dkr|}|dkr|}d}n&|dk	r|dkr|}d}n|dkr|}|dk	s
|dk	r,|t
krtdt|tr,d}	t
}
i}|dk	rD|}
nN|dk	sX|dk	r|}|dk	rj|}t|r~d|k}
n
t|}
|
rt}
|dk	r||d<|dk	r||d<t|
trt|
tr|jr|j|d	<|j||
f|}|	rt|r|}|dk	r|}t|r2t|r2t}
|jd	|
f|d
d||_nl|dk	r|t
k	rptd|t
krtd
t|}|dkr|}t|f||jd|}n|rtd|}||_||_t|j|j||jdk	r:i}|jt
kr|||j<x.|jD]$}|j }|jt
kr|j|qW|S|S)NFzCan't specify spec and autospecTz6Can't provide explicit spec_set *and* spec or autospecz!Can't use 'spec' with create=Truer$rrrz())rrzBautospec 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)TN)!rrrrr,rrrrrrrrrr@rrrr
rrrrErrYboolr
temp_originalrrzrrr
)rfrrrrr,rrIrZinheritKlass_kwargsZ	this_specZnot_callableZnew_attrrrrrrrr
s


















z_patch.__enter__cGst|std|jr4|jtk	r4t|j|j|jnBt|j|j|j	rvt
|j|jsd|jdkrvt|j|j|j|`|`|`x$t|jD]}t|r|j
|qWdS)Nz stop called on unstarted patcherr6r8r9__annotations__r:)r6r8r9rr:)rRuntimeErrorrrrrzrrrrrrrr)rfr
rrrrrHs z_patch.__exit__cCs|j}|jj||S)N)r
_active_patchesr)rfrJrrrstart`sz_patch.startcCs.y|jj|Wntk
r$YnX|jS)N)rrr&r)rfrrrstopgs
z_patch.stop)r5r8rhrrr!rr$rrrr
rrrrrrrrIs
(~rcsPyjdd\}Wn&ttfk
r:tdfYnXfdd}||fS)Nrrz.Need a valid target to patch. You supplied: %rcstS)N)rr)rrrrysz_get_target.<locals>.<lambda>)rsplitrr&)rrrr)rr_get_targetssr!c

s$fdd}	t|	||||||||	S)NcsS)Nrr)rrrrsz_patch_object.<locals>.<lambda>)r)
rrrrrrrrr,rr)rr
_patch_object}s
r"c
sttkrfdd}nfdd}|s2tdt|j}|d\}	}
t||	|
|||||i	}|	|_xB|ddD]2\}	}
t||	|
|||||i	}|	|_|jj|qvW|S)NcstS)N)rr)rrrrsz!_patch_multiple.<locals>.<lambda>csS)Nrr)rrrrsz=Must supply at least one keyword argument with patch.multiplerr)	rstrr&r>rrrrr)
rrrrrrr,rrrrrZthis_patcherr)rr_patch_multiples&

r$c

Ks$t|\}}	t||	|||||||	S)N)r!r)
rrrrrrrr,rrrrrrsE
c@sReZdZfdfddZddZddZdd	Zd
dZdd
ZddZ	eZ
e	ZdS)_patch_dictFcKs>t|trt|}||_t||_|jj|||_d|_dS)N)	rr#rin_dictrnrrclear	_original)rfr&rr'r,rrrr!0s

z_patch_dict.__init__cs.ttrjStfdd}|S)Nc
s"jz
||SjXdS)N)r%
_unpatch_dict)r+r)frfrr_inner>s
z$_patch_dict.__call__.<locals>._inner)rrrr)rfr*r+r)r*rfrr$;s

z_patch_dict.__call__cCs\xVt|D]J}t||}|jtjr
t|dr
t|j|j|j	}||}t
|||q
W|S)Nr$)rr<rrrrr%r&rr'rz)rfrrrZ	decoratorZ	decoratedrrrrIs

z_patch_dict.decorate_classcCs|jdS)N)r%)rfrrrr
Tsz_patch_dict.__enter__cCs|j}|j}|j}y|j}Wn2tk
rPi}x|D]}||||<q8WYnX||_|rdt|y|j|Wn.tk
rx|D]}||||<qWYnXdS)N)rr&r'rr"r(_clear_dictr)rfrr&r'rIrrrrr%Ys"

z_patch_dict._patch_dictcCsV|j}|j}t|y|j|Wn.tk
rPx|D]}||||<q8WYnXdS)N)r&r(r,rr")rfr&rIrrrrr)ss
z_patch_dict._unpatch_dictcGs|jdS)NF)r))rfr+rrrrsz_patch_dict.__exit__N)r5r8rhr!r$rr
r%r)rrrrrrrr%s
r%cCsBy|jWn0tk
r<t|}x|D]
}||=q*WYnXdS)N)r'r"r>)r&keysrrrrr,s
r,cCs xttjD]}|jqWdS)N)rrrr)rrrr_patch_stopallsr.Ztestzlt 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 trunc floor ceil bool next zHadd sub mul matmul div floordiv mod lshift rshift and xor or pow truediv ccs|]}d|VqdS)zi%sNr)rnrrrrsrccs|]}d|VqdS)zr%sNr)rr0rrrrs__get____set__
__delete____reversed____missing__
__reduce__
__reduce_ex__Z__getinitargs____getnewargs____getstate____setstate__
__getformat__
__setformat__rgr__subclasses__
__format____getnewargs_ex__csfdd}||_|S)Ncs|f||S)Nr)rfr+r)r'rrmethodsz_get_method.<locals>.method)r5)rr'r@r)r'rrsrcCsh|]}d|qS)z__%s__r)rr@rrrrsrmrr!r__prepare____instancecheck____subclasscheck____del__cCs
tj|S)N)r__hash__)rfrrrrsrcCs
tj|S)N)r__str__)rfrrrrscCs
tj|S)N)r
__sizeof__)rfrrrrs)rErFrGry?g?)__lt____gt____le____ge____int__r__len__r__complex__	__float____bool__	__index__csfdd}|S)Ncs$jj}|tk	r|S|kr dStS)NT)__eq__rrrNotImplemented)otherret_val)rfrrrRsz_get_eq.<locals>.__eq__r)rfrRr)rfr_get_eqsrVcsfdd}|S)Ncs jjtk	rtS|krdStS)NF)__ne__rrrrS)rT)rfrrrWs
z_get_ne.<locals>.__ne__r)rfrWr)rfr_get_nesrXcsfdd}|S)Ncs jj}|tkrtgSt|S)N)rrrrr)rU)rfrrrsz_get_iter.<locals>.__iter__r)rfrr)rfr	_get_itersrY)rRrWrcCstj|t}|tk	r||_dStj|}|dk	rdy||}Wntk
rXt|}YnX||_dStj|}|dk	r|||_dS)N)_return_valuesrCrrY_calculate_return_valuer"_side_effect_methodsr_)r1r@rZfixedZreturn_calulatorrYZ
side_effectorrrr_set_return_values

r]c@seZdZddZddZdS)
MagicMixincOs&|jtt|j|||jdS)N)_mock_set_magicsrr^r!)rfr+rrrrr!(szMagicMixin.__init__cCst}t|dddk	rTtj|j}t}t|}x$|D]}|t|jkr4t||q4W|tt|j}t|}x|D]}t||t	||qtWdS)Nr)
_magicsr<intersectionrrorrBrrz
MagicProxy)rfZthese_magicsZ
remove_magicsrrrrrr_.s

zMagicMixin._mock_set_magicsN)r5r8rhr!r_rrrrr^'sr^c@seZdZdddZdS)rFcCs|j|||jdS)N)rr_)rfrrrrrrGsz"NonCallableMagicMock.mock_add_specN)F)r5r8rhrrrrrrEsc@seZdZdddZdS)rFcCs|j|||jdS)N)rr_)rfrrrrrr]szMagicMock.mock_add_specN)F)r5r8rhrrrrrrRsc@s.eZdZddZddZddZd
dd	ZdS)rbcCs||_||_dS)N)rr)rfrrrrrr!iszMagicProxy.__init__cOs|j}|||S)N)create_mock)rfr+r,mrrrr$mszMagicProxy.__call__cCs8|j}|j}|j|||d}t|||t||||S)N)rrr)rrrrzr])rfrrrdrrrrcqszMagicProxy.create_mockNcCs|jS)N)rc)rfrrrrrr1zszMagicProxy.__get__)N)r5r8rhr!r$rcr1rrrrrbhs	rbc@s$eZdZddZddZddZdS)_ANYcCsdS)NTr)rfrTrrrrRsz_ANY.__eq__cCsdS)NFr)rfrTrrrrWsz_ANY.__ne__cCsdS)Nz<ANY>r)rfrrrrgsz
_ANY.__repr__N)r5r8rhrRrWrgrrrrresrecCsdd|}d}djdd|D}djddt|jD}|rD|}|r\|rT|d7}||7}||S)Nz%s(%%s)rz, cSsg|]}t|qSr)repr)rrrrrrsz*_format_call_signature.<locals>.<listcomp>cSsg|]\}}d||fqS)z%s=%rr)rrrprrrrs)rrr)rr+r,rZformatted_argsargs_stringZ
kwargs_stringrrrrsrc@sreZdZfddddfddZfddddfddZd	d
ZejZddZd
dZ	ddZ
ddZddZddZ
dS)rrNFTcCsf}i}t|}|dkr$|\}}}nr|dkrd|\}	}
t|	trX|	}t|
trR|
}qb|
}q|	|
}}n2|dkr|\}t|tr|}nt|tr|}n|}|rtj|||fStj||||fS)Nrrbr)rrr#r?r)rrprrr	from_kallr+r,_lenfirstsecondrrrrs.



z
_Call.__new__cCs||_||_||_dS)N)rvrt_mock_from_kall)rfrprrrrhrrrr!sz_Call.__init__cCsf|tkrdSyt|}Wntk
r,dSXd}t|dkrH|\}}n
|\}}}t|ddrzt|ddrz|j|jkrzdSd}|dkrfi}}n|dkr|\}}}n|dkr|\}	t|	tr|	}i}n"t|	tr|	}fi}}nf}|	}nV|dkr>|\}
}t|
tr2|
}t|tr&|i}}n
f|}}n
|
|}}ndS|rV||krVdS||f||fkS)	NTFrrbrtrrr)rrrr<rtrr?r#)rfrTZ	len_otherZ	self_nameZ	self_argsZself_kwargsZ
other_nameZ
other_argsZother_kwargsrprjrkrrrrRsP




z_Call.__eq__cOs<|jdkrtd||fddS|jd}t|j||f||dS)Nrz())r)rr)rvr)rfr+r,rrrrr$s

z_Call.__call__cCs2|jdkrt|ddSd|j|f}t||ddS)NF)rrhz%s.%s)rrrh)rvr)rfrrrrrrms
z_Call.__getattr__cOs|jd||S)Nr)rm)rfr+r,rrrr$sz_Call.countcOs|jd||S)Nindex)rm)rfr+r,rrrrm'sz_Call.indexcCs||js&|jpd}|jdr"d|}|St|dkr@d}|\}}n0|\}}}|sTd}n|jdshd|}nd|}t|||S)Nrz()zcall%srbzcall.%s)rlrvrrr)rfrr+r,rrrrg*s





z_Call.__repr__cCs8g}|}x"|dk	r*|jr"|j||j}q
Wtt|S)N)rlrrtrUr)rfvalsrrrr	call_list?s


z_Call.call_list)r5r8rhrr!rRrrWr$rmrrmrgrorrrrrs7r)rhcKs,t|rt|}t|t}d|i}|r0d|i}n|dkr<i}|rL|rLd|d<|j|t}tj|rji}n$t|sxt}n|r|rt	|rt}|j
d|}|}	|dkrd}	|f|||	|d|}
t|trt|
|}
nt
||
|||dk	o|r|
|j|<|r,|r,d|kr,t||dd	|
d
|
_xt|D]}t|rHq6yt||}Wntk
rpw6YnXd|i}|rd|i}t|tst|||
||}
|
|
j|<nZ|
}t|tr|
j}t|||}||d<tf||||d|}
|
|
j|<t
||
|d
t|
tr6t|
||
q6W|
S)NrrTrrr)rrrrrYz())r3rrr)rrrr)r2)r@rrrrr%Zisdatadescriptorr=rrErr#rMr4r`rrYrrdr<r"rr1
_must_skiprz)rrr3rrr,is_typerrrr1rrIrrr2rrrrPst










cCs|t|ts$|t|dikrdS|j}xR|jD]H}|jj|t}|tkrHq,t|tt	frZdStt|ddt
rp|SdSq,W|S)NrBFr1)rrr<rrArBrCrstaticmethodclassmethodMethodWrapperTypes)rrrqrrJrrrrps
rpcCs$y|jStk
rt|SXdS)N)rr"r)rrrrrsrc@seZdZdddZdS)rFNcCs(||_||_||_||_||_||_dS)N)ridsrrr3r)rfrrrrrur3rrrr!sz_SpecState.__init__)FNNNF)r5r8rhr!rrrrrsrc#spt|trdndfdd|jD}|dkrD|dd}n|ddd	|d
<x|D]
}|Vq^WdS)N

csg|]}|qSrr)rl)seprrr	sz&_iterate_read_data.<locals>.<listcomp>rrzrzrzrz)rbytesr)	read_dataZdata_as_listliner)ryr_iterate_read_data	s
r~rcsfdd}fdd}fddtdkr`ddl}ttt|jjtt|ja|dkrttdt	d	}ttd
j
_tdgdj
_dj_dj_dj_|j_d<dj_|j_fdd
}||_|_|S)Ncs jjdk	rjjStdS)Nr)	readlinesrYr>)r+r,)_statehandlerr_readlines_side_effect(	sz)mock_open.<locals>._readlines_side_effectcs(jjdk	rjjStjdS)Nr)readrYrr)r+r,)rrr|rr_read_side_effect-	sz$mock_open.<locals>._read_side_effectc3sJjjdk	rxjjVqWxdD]
}|Vq&WxtVq6WdS)Nr)readlinerYr)r})rrr|rr_readline_side_effect2	s
z(mock_open.<locals>._readline_side_effectropen)rr)rrcs6td<jjdkr2d<dj_tS)Nrr)r~rr_r)r+r,)rrrr|rr
reset_dataS	s

zmock_open.<locals>.reset_data)	file_spec_ior>ror
TextIOWrapperunionBytesIOrrr
rYr~writerrrr_)r1r|rrrrr)rrrr|rr	s."

c@s$eZdZddZddZddZdS)r
cKs
tf|S)N)r)rfr,rrrri	szPropertyMock._get_child_mockcCs|S)Nr)rfrZobj_typerrrr1l	szPropertyMock.__get__cCs||dS)Nr)rfrrrrrr2n	szPropertyMock.__set__N)r5r8rhrr1r2rrrrr
`	s	)
rrrrrrrrr	r
rrr
)F)F)NFNNN)FFNN)Nr)o__all____version__r%rrbuiltinstypesr	functoolsrrrr
BaseExceptionrplatformrlangZ	Throwabler	superrrr r(r4r/r=r@rErMrHrdrrerirrZMISSINGrZDELETEDrrqr|rr>rUrrrr
rrrrrrrr!r"r$rr%r,r.rnZmultipleZstopallrZ
magic_methodsZnumericsrrZinplacerightZ
_non_defaultsrr`rrr[rSrZrVrXrYr\r]r^rrrbrerrr?rrrrprrrrRr#r1rtrr~rr
rrrr<module>s
 

4	i5,
1Jv	

	
,

w
D