Viewing File: /opt/alt/python35/lib64/python3.5/unittest/__pycache__/mock.cpython-35.opt-2.pyc



]y2@sdddddddddd	d
ddf
Zd
ZddlZddlZddlZddlZddlmZddlm	Z	m
Z
ddeeDZe
fZdejkrddlZe
ejjfZdZeZddZddZGdddeZeejefZddZddd Zd!d"Z d#d$Z!d%d&Z"d'd(Z#dd)d*Z$d+d,Z%d-d.Z&Gd/d0d0eZ'Gd1d2d2eZ(e(Z)e)j*Z*e)j+Z,e)j-Z.d3d4Z/d5d6d7d8d9d:d;d<hZ0d=d>Z1Gd?d@d@e2Z3dAdBZ4GdCdDdDeZ5GdEdFdFeZ6GdGd	d	e6Z7dHdIZ8GdJdKdKe6Z9GdLdde9e7Z:dMdNZ;dOdPZ<dQdRZ=GdSdTdTeZ>dUdVZ?e*ddddddWdXZ@ddddddYdZZAe*dddddd[dZBGd\d]d]eZCd^d_ZDd`daZEe@eB_eCeB_FeAeB_GeEeB_HdbeB_IdcZJddZKdejLdfdgeKjMDZNdejLdhdgeKjMDZOdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzhZPd{d|ZQd}ddejLeJeKeNeOgjMDZReRePBZSd~ddddddhZTdddddddddiZUdeVdeVdeVdeVddddddddddddddddiZWddZXddZYddZZdeXdeYdeZiZ[ddZ\GdddeZ]Gdd
d
e]e7Z^Gddde]e:Z_GdddeZ`GdddeZaeaZbddZcGdddedZeeeddZfddddddZgddZhddZiGdddeZjeegeebjkfZleebjkjmfZndaoddZpddddZqGddde:ZrdS)Mock	MagicMockpatchsentinelDEFAULTANYcallcreate_autospec
FILTER_DIRNonCallableMockNonCallableMagicMock	mock_openPropertyMockz1.0N)
ModuleType)wrapspartialcCs%h|]}|jds|qS)_)
startswith).0namer)/opt/alt/python35/lib64/python3.5/mock.py	<setcomp>#s	rjavaTcCstt|tS)N)
issubclasstyper
)objrrr_is_instance_mock2srcCs+t|tp*t|to*t|tS)N)
isinstanceBaseExceptionsrr)rrrr
_is_exception8sr c@seZdZdgZdS)_slottedaN)__name__
__module____qualname__	__slots__rrrrr!?sr!cCst|trE|rEy
|j}Wntk
r;dSYnXd}n5t|tszy
|j}Wntk
rydSYnX|rt|d}n|}y|tj|fSWnt	k
rdSYnXdS)NT)
rr__init__AttributeError
FunctionTypes__call__rinspectZ	signature
ValueError)funcZas_instanceZeat_selfZsig_funcrrr_get_signature_objectKs$

		

	
r.Fcs`t|||dkr"dS\}fdd}t|||t|_dS)Ncsj||dS)N)bind)
_mock_selfargskwargs)sigrrchecksigpsz"_check_signature.<locals>.checksig)r._copy_func_detailsr_mock_check_sig)r-mock	skipfirstinstancer4r)r3r_check_signatureks
r:c#Cs|j|_|j|_y|j|_Wntk
r<YnXy|j|_Wntk
raYnXy|j|_Wntk
rYnXy|j|_Wntk
rYnXdS)N)r#__doc____text_signature__r(r$__defaults____kwdefaults__)r-funcopyrrrr5vs$



r5cCs3t|trdSt|dddk	r/dSdS)NTr*F)rrgetattr)rrrr	_callables
rAcCst|ttfkS)N)rlisttuple)rrrr_is_listsrDcCs`t|ts%t|dddk	Sx4|f|jD]"}|jjddk	r6dSq6WdS)Nr*TF)rrr@__mro____dict__get)rbaserrr_instance_callablesrIcst|sdSt|t}t|||}|dkrA|S|\}fdd}t|||j}|jsd}d|d|i}d|}	t|	|||}
t|
||
S)Ncsj||dS)N)r/)r1r2)r3rrr4sz _set_signature.<locals>.checksigr?Z
_checksig_r7zYdef %s(*args, **kwargs):
    _checksig_(*args, **kwargs)
    return mock(*args, **kwargs))	rArrr.r5r#isidentifierexec_setup_func)r7originalr9r8resultr-r4rcontextsrcr?r)r3r_set_signatures$
	



rQcs_tsdSfdd}fdd}fdd}fdd}fd	d
}d_d_d_t_t_t_j	_	j
_
j_|_|_
|_|_|__dS)
Ncsj||S)N)assert_called_with)r1r2)r7rrrRsz'_setup_func.<locals>.assert_called_withcsj||S)N)assert_called_once_with)r1r2)r7rrrSsz,_setup_func.<locals>.assert_called_once_withcsj||S)N)assert_has_calls)r1r2)r7rrrTsz%_setup_func.<locals>.assert_has_callscsj||S)N)assert_any_call)r1r2)r7rrrUsz$_setup_func.<locals>.assert_any_callcsQt_t_jj}t|rM|k	rM|jdS)N)	_CallListmethod_calls
mock_calls
reset_mockreturn_valuer)ret)r?r7rrrYs
	z_setup_func.<locals>.reset_mockFr)r7rcalled
call_count	call_argsrVcall_args_listrWrXrZside_effect_mock_childrenrRrSrTrUrY_mock_delegate)r?r7rRrSrTrUrYr)r?r7rrLs.									rLcCsd|dd|kS)Nz__%s__r)rrrr	_is_magicsrec@s(eZdZddZddZdS)_SentinelObjectcCs
||_dS)N)r)selfrrrrr'sz_SentinelObject.__init__cCsd|jS)Nzsentinel.%s)r)rgrrr__repr__sz_SentinelObject.__repr__N)r#r$r%r'rhrrrrrfsrfc@s(eZdZddZddZdS)	_SentinelcCs
i|_dS)N)
_sentinels)rgrrrr'sz_Sentinel.__init__cCs+|dkrt|jj|t|S)N	__bases__)r(rj
setdefaultrf)rgrrrr__getattr__sz_Sentinel.__getattr__N)r#r$r%r'rmrrrrrisricCs2t|ttttfkr.t||S|S)N)rdictrBrCset)valuerrr_copysrqrZ_mock_return_valuer`_mock_side_effect_mock_parent_mock_new_parent
_mock_name_mock_new_namecCsHtj|d|}||dd}||dd}t||S)NZ_mock_cSs/|j}|dkr"t||St||S)N)rbr@)rgr	_the_namer3rrr_get"s	
z"_delegating_property.<locals>._getcSs9|j}|dkr%||j|<nt|||dS)N)rbrFsetattr)rgrprrxr3rrr_set's	z"_delegating_property.<locals>._set)_allowed_namesaddproperty)rrxryr{rrr_delegating_propertys


rc@s(eZdZddZddZdS)rVcCst|tstj||St|}t|}||krGdSxCtd||dD]*}||||}||kr_dSq_WdS)NFrT)rrB__contains__lenrange)rgrpZ	len_valueZlen_selfiZsub_listrrrr4sz_CallList.__contains__cCstjt|S)N)pprintZpformatrB)rgrrrrhBsz_CallList.__repr__N)r#r$r%rrhrrrrrV2srVcCst|sdS|js@|js@|jdk	s@|jdk	rDdS|}x)|dk	ru||kridS|j}qMW|r||_||_|r||_||_dS)NFT)rrvrwrtru)parentrprnew_name_parentrrr_check_and_set_parentFs$
				rc@s4eZdZddZddZddZdS)	_MockItercCst||_dS)N)iterr)rgrrrrr'`sz_MockIter.__init__cCs|S)Nr)rgrrr__iter__bsz_MockIter.__iter__cCs
t|jS)N)nextr)rgrrr__next__dsz_MockIter.__next__N)r#r$r%r'rrrrrrr_src@s(eZdZeZdZddZdS)BaseNcOsdS)Nr)rgr1r2rrrr'jsz
Base.__init__)r#r$r%rrrrsr'rrrrrgsrc
@seZdZddZdddddddddddddZdd	Zdd
dZdddd
ZddZddZ	dZ
eee	e
ZeddZ
edZedZedZedZedZddZddZeeeZdddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Z d2d3Z!d4d5Z"d6d7Z#dd8d9Z$d:d;Z%d<d=Z&dS)>r
cOs4t|j|fd|ji}tj|}|S)Nr;)rr#r;object__new__)clsr1kwnewr9rrrrrs!zNonCallableMock.__new__NFcKs2|dkr|}|j}
||
d<||
d<||
d<||
d<|dk	r[|}d}|
dkrs|dk	}
|j|||	|
i|
d<||
d<d|
d<d	|
d
<d|
d<d|
d
<t|
d<t|
d<t|
d<||
d<|r	|j|tt|j||||||dS)NrtrvrwruTra_mock_wrapsrbFZ_mock_calledZ_mock_call_argsrZ_mock_call_countZ_mock_call_args_listZ_mock_mock_callsrW_mock_unsafe)rF_mock_add_specrVconfigure_mock_safe_superr
r')rgspecrrspec_setr_spec_state	_new_name_new_parent_spec_as_instance	_eat_selfZunsafer2rFrrrr'{s8	














zNonCallableMock.__init__cCs8d|_d|_d|_d|_t|||dS)Nr)rtrurvrwrz)rgr7	attributerrrattach_mocks
				zNonCallableMock.attach_mockcCs|j||dS)N)r)rgrrrrr
mock_add_specszNonCallableMock.mock_add_specc	Csd}d}|dk	rwt|rwt|tr=|}nt|}t|||}|oh|d}t|}|j}||d<||d<||d<||d<dS)Nr_spec_class	_spec_set_spec_signature
_mock_methods)rDrr
_get_classr.dirrF)	rgrrrrrrresrFrrrrs		


zNonCallableMock._mock_add_speccCsU|j}|jdk	r$|jj}|tkrQ|jd|dd}||_|S)Nrrz())rrrbrZr_get_child_mock)rgr[rrrZ__get_return_values			z"NonCallableMock.__get_return_valuecCs>|jdk	r||j_n||_t||dddS)Nz())rbrZrrr)rgrprrrZ__set_return_values	z"NonCallableMock.__set_return_valuez1The value to be returned when the mock is called.cCs |jdkrt|S|jS)N)rr)rgrrr	__class__s
zNonCallableMock.__class__r\r]r^r_rXcCst|j}|dkr|jS|j}|dk	rpt|rpt|trpt|rpt|}||_|S)N)rbrsr`callablerrr )rg	delegatedZsfrrrZ__get_side_effects			z!NonCallableMock.__get_side_effectcCs:t|}|j}|dkr-||_n	||_dS)N)	_try_iterrbrsr`)rgrprrrrZ__set_side_effects
	z!NonCallableMock.__set_side_effectcCs|dkrg}t||kr(dS|jt|d|_d|_d|_t|_t|_t|_x6|j	j
D]%}t|trq|j
|qW|j}t|r||k	r|j
|dS)NFr)idappendr\r^r]rVrXr_rWravaluesr
_SpecStaterYrrr)rgZvisitedZchildr[rrrrYs$				zNonCallableMock.reset_mockcKsx}t|jdddD]]\}}|jd}|j}|}x|D]}t||}qSWt|||qWdS)NkeycSs|djdS)Nr.)count)entryrrr<lambda>6sz0NonCallableMock.configure_mock.<locals>.<lambda>r)sorteditemssplitpopr@rz)rgr2argvalr1finalrrrrrr)s	
zNonCallableMock.configure_mockcCsu|dkrt|nU|jdk	rX||jksE|tkrptd|nt|rpt||js|jdrt||jj|}|tkrt|n|dkr.d}|j	dk	rt
|j	|}|jd|d|d|d	|d
|}||j|<nCt|t
rqt|j|j|j|j|j}||j|<|S)
NrrzMock object has no attribute %rassertassretrrrrr>rr)rr)r(r_all_magicsrerrrarG_deletedrr@rrrrrrr9rr)rgrrNrrrrrm?s6			
zNonCallableMock.__getattr__c
Cs|jg}|j}|}d}|dgkr6d}t}xt|dk	r|}|j|j|d}|jdkrd}|j}t||krP|jt|qBWtt|}|jpd}t	|dkr|dd
kr|d7}||d<dj
|}d}|dkr8d	|}d}	|jdk	rrd
}	|jrbd}	|	|jj
}	dt|j
||	t|fS)Nr()rr7r().rmock.z name=%rz spec=%rz spec_set=%rz<%s%s%s id='%s'>)rr)r7r)rwrurorrr}rBreversedrvrjoinrrr#r)
rgZ
_name_listrZlastdotseenZ_firstrZname_stringZspec_stringrrrrhesL			


	zNonCallableMock.__repr__cCststj|S|jpg}tt|}t|j}dd|D}dd|D}tt	|||t|j
S)NcSs%g|]}|jds|qS)r)r)rerrr
<listcomp>s	z+NonCallableMock.__dir__.<locals>.<listcomp>cSs2g|](}|jds(t|r|qS)r)rre)rrrrrrs	)r	r__dir__rrrrBrFrrora)rgextrasZ	from_typeZ	from_dictrrrrs
zNonCallableMock.__dir__cs|tkrtj||Sjrhjdk	rh|jkrh|jkrhtd|n|tkrd|}t|n|tkrIjdk	r|jkrtd|t	|st
t|t|||fdd}qt
|d|t
t|||j|<n;|dkrb|_dSt
|||r|j|<tj||S)Nz!Mock object has no attribute '%s'z.Attempting to set unsupported magic method %r.cs||S)Nr)r1r)rMrgrrrsz-NonCallableMock.__setattr__.<locals>.<lambda>r)r|r__setattr__rrrFr(_unsupported_magicsrrrzr_get_methodrrar)rgrrpmsgr)rMrgrrs2
	
zNonCallableMock.__setattr__cCs|tkrG|t|jkrGtt||||jkrGdS||jkrftj|||jj|t}|t	krt
||tk	r|j|=t	|j|<dS)N)rrrFdelattrr__delattr__rarG_missingrr()rgrrrrrrs!
zNonCallableMock.__delattr__cCs|jpd}t|||S)Nr7)rv_format_call_signature)rgr1r2rrrr_format_mock_call_signaturesz+NonCallableMock._format_mock_call_signaturecCs`d}|j||}|j}t|dkrC|dd}|j|}|||fS)Nz!Expected call: %s
Actual call: %sr)rr^r)rgr1r2messageexpected_stringr^Z
actual_stringrrr_format_mock_failure_messages	z,NonCallableMock._format_mock_failure_messagecCs|j}|dk	rt|dkr<d}|\}}n|\}}}y||j||fSWqtk
r}z|jdSWYdd}~XqXn|SdS)Nrcr)rrr/	TypeErrorwith_traceback)rg_callr3rr1r2rrrr
_call_matchers	#zNonCallableMock._call_matchercCsA|}|jdkr=d|jp$d|jf}t|dS)Nrz7Expected '%s' to not have been called. Called %s times.r7)r]rvAssertionError)r0rgrrrrassert_not_calleds
z!NonCallableMock.assert_not_calledcs|jdkr:j}td|ffdd}jf}jj}||krt|tr|nd}t||dS)NzExpected call: %s
Not calledcsj}|S)N)r)r)r1r2rgrr_error_messagesz:NonCallableMock.assert_called_with.<locals>._error_message)r^rrrr	Exception)r0r1r2expectedractualcauser)r1r2rgrrR	sz"NonCallableMock.assert_called_withcOsM|}|jdks=d|jp$d|jf}t||j||S)Nrz1Expected '%s' to be called once. Called %s times.r7)r]rvrrR)r0r1r2rgrrrrrSsz'NonCallableMock.assert_called_once_withcsfdd|D}t|tr.|nd}tfddjD}|s||krtd|jf|dSt|}g}xA|D]9}y|j|Wqtk
r|j|YqXqW|rtdt	|f|dS)Ncsg|]}j|qSr)r)rc)rgrrr2s	z4NonCallableMock.assert_has_calls.<locals>.<listcomp>c3s|]}j|VqdS)N)r)rr)rgrr	<genexpr>4sz3NonCallableMock.assert_has_calls.<locals>.<genexpr>z(Calls not found.
Expected: %r
Actual: %rz%r not all found in call list)
rrrVrXrrBremover,rrC)rgZcallsZ	any_orderrrZ	all_callsZ	not_foundZkallr)rgrrT(s*
"

z NonCallableMock.assert_has_callscsj||f}fddjD}||kr}t|trR|nd}j||}td||dS)Ncsg|]}j|qSr)r)rr)rgrrrRs	z3NonCallableMock.assert_any_call.<locals>.<listcomp>z%s call not found)rr_rrrr)rgr1r2rrrrr)rgrrUKs
zNonCallableMock.assert_any_callcKsbt|}t|tsKt|tr3t}qXt|trXt}n
|jd}||S)Nr)rr
CallableMixinrrr
rrE)rgr_typeklassrrrr[s		
zNonCallableMock._get_child_mock)'r#r$r%rr'rrrZ"_NonCallableMock__get_return_valueZ"_NonCallableMock__set_return_valueZ"_NonCallableMock__return_value_docr~rZrrr\r]r^r_rXZ!_NonCallableMock__get_side_effectZ!_NonCallableMock__set_side_effectr`rYrrmrhrrrrrrrrRrSrTrUrrrrrr
osL
)
	
		&2"
	#cCs[|dkr|St|r |St|r0|Syt|SWntk
rV|SYnXdS)N)r rArr)rrrrros
rc@s^eZdZddeddddddddd
ZddZddZd	d
ZdS)rNrc
KsH||jd<tt|j|||||||	|
|||_dS)Nrr)rFrrr'r`)rgrr`rZrrrrrrrr2rrrr's

zCallableMixin.__init__cOsdS)Nr)rgr1r2rrrr6szCallableMixin._mock_check_sigcOs |j|||j||S)N)r6
_mock_call)r0r1r2rrrr*szCallableMixin.__call__cOs|}d|_|jd7_|j}|j}t||fdd}||_|jj||jjtd||ft	}|dk}|j
dk	}	|j}
x|dk	rt|||f}|jrd}|rd}d}|jdkrd}|j||}|	r~||
kr3|}
nt|
||f}
|jj|
|j
dk	}	|	r~|jd|
}
|jj||j}t
|}||krP|j|qWt}|j}|dk	r@t|r|t|s1t|}t|r||tkr-|j}|S|||}|jdk	rn|jtkrn|j||S|tkr|j}|S)NTrtworz()rF)r\r]rwru_Callr^r_rrXrortrvrWrr}rr`r rArrZrrr)r0r1r2rgrrrrZ
skip_next_dotZdo_method_callsrZthis_mock_callrZthis_method_callZ_new_parent_idret_valZeffectrNrrrrsp												zCallableMixin._mock_call)r#r$r%rr'r6r*rrrrrrs	rc@seZdZdS)rN)r#r$r%rrrrrs1cCsAyt||SWn)tk
r<t|t||SYnXdS)N)r@r(
__import__)thingcompimport_pathrrr_dot_lookups


rcCs_|jd}|jd}t|}x.|D]&}|d|7}t|||}q1W|S)Nrrz.%s)rrrr)targetZ
componentsrrrrrr	_importer!s
rcCs
t|dS)Nis_local)hasattr)patcherrrr_is_started,src@seZdZdZgZddZddZddZdd	Zd
dZ	dd
Z
ddZddZddZ
ddZdS)_patchNc

Cs|dk	r<|tk	r$td|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_localrautospecr2additional_patchers)
rgrrrrrrrrr2rrrr'6s$												z_patch.__init__c
Csht|j|j|j|j|j|j|j|j|j		}|j
|_
dd|jD|_|S)NcSsg|]}|jqSr)copy)rprrrrYs	z_patch.copy.<locals>.<listcomp>)rrrrrrrrrr2attribute_namer)rgrrrrrQsz_patch.copycCs)t|tr|j|S|j|S)N)rrdecorate_classdecorate_callable)rgr-rrrr*^s
z_patch.__call__cCssxlt|D]^}|jtjs(q
t||}t|dsIq
|j}t||||q
W|S)Nr*)rrrTEST_PREFIXr@rrrz)rgrattr
attr_valuerrrrrdsz_patch.decorate_classcsTtdr#jj|Stfdd|g_S)N	patchingscs
g}g}t}zyxejD]Z}|j}|j||jdk	rc|j|q%|jtkr%|j|q%W|t|7}||SWn<||krt|r|j|t	j
}YnXWdx!t|D]}|j|qWXdS)N)
rCr	__enter__rrupdaterrrsysexc_infor__exit__)r1Zkeywargs
extra_argsZentered_patchersrpatchingr)r-patchedrrrws*	

z)_patch.decorate_callable.<locals>.patched)rrrr)rgr-r)r-rrrrs!z_patch.decorate_callablecCs|j}|j}t}d}y|j|}Wn*ttfk
r^t||t}YnXd}|tkrt|t	rd|_
|j
r|tkrtd||f||fS)NFTz!%s does not have the attribute %r)rrrrFr(KeyErrorr@	_builtinsrrr)rgrrrMlocalrrrget_originals		z_patch.get_originalcCsP|j|j|j}}}|j|j}}|j}|j|_|dkrZd}|dkrld}|dkr~d}|dk	r|dk	rtd|dk	s|dk	r|dkrtd|j	\}}|t
kr |dkr d}	|dkr/|}|dkrh|}d}n9|dk	rV|dkrh|}d}n|dkrh|}|dk	s|dk	r|t
krtdt|trd}	t
}
i}|dk	r|}
nd|dk	s|dk	r2|}|dk	r|}t|rd|k}
n
t|}
|
r2t}
|dk	rH||d<|dk	r^||d<t|
trt|
tr|jr|j|d	<|j||
|}|	rt|r|}|dk	r|}t|rt|rt}
|jd	|
d
|dd||_n|dk	r|t
k	rDtd
|t
kr\tdt|}|dkrz|}t|d|d|j|}n|rtd|}||_||_t|j|j||jdk	rLi}|jt
kr|||j<x9|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*rrrrrz()zBautospec creates the mock for you. Can't specify autospec and new.z%Can't use 'autospec' with create=True_namez.Can't pass kwargs to a mock we aren't creating)TN)!rrrrr2rrrrrrrrrrDrrrr
rr
rrIrrZboolr
temp_originalrrzrrr)rgrrrrr2rrMrZinheritKlass_kwargsZ	this_specZnot_callableZnew_attrrrrrrrrs				







			
z_patch.__enter__cGst|std|jrL|jtk	rLt|j|j|jn[t|j|j|j	rt
|j|js|jdkrt|j|j|j|`|`|`x0t|jD]}t|r|j
|qWdS)Nz stop called on unstarted patcherr;r$r=__annotations__r>)r;r$r=rr>)rRuntimeErrorrrrrzrrrrrrrr)rgrrrrrr0s  	z_patch.__exit__cCs |j}|jj||S)N)r_active_patchesr)rgrNrrrstartHsz_patch.startcCs3y|jj|Wntk
r(YnX|jS)N)rrr,r)rgrrrstopOs

z_patch.stop)r#r$r%rrr'rr*rrrrrr r!rrrrr1s
(~rcsfyjdd\}Wn+ttfk
rItdfYnXfdd}||fS)Nrrz.Need a valid target to patch. You supplied: %rcs
tS)N)rr)rrrrasz_get_target.<locals>.<lambda>)rsplitrr,)rrrr)rr_get_target[sr#c

s4fdd}	t|	||||||||	S)NcsS)Nrr)rrrrwsz_patch_object.<locals>.<lambda>)r)
rrrrrrrrr2rr)rr
_patch_objectesr$c
sttkr'fdd}nfdd}|sKtdt|j}|d\}	}
t||	|
|||||i	}|	|_x[|ddD]I\}	}
t||	|
|||||i	}|	|_|jj|qW|S)Ncs
tS)N)rr)rrrrsz!_patch_multiple.<locals>.<lambda>csS)Nrr)rrrrsz=Must supply at least one keyword argument with patch.multiplerr)	rstrr,rBrrrrr)
rrrrrrr2rrrrrZthis_patcherr)rr_patch_multiple~s&			r&c

Ks4t|\}}	t||	|||||||	S)N)r#r)
rrrrrrrr2rrrrrrsEc@sveZdZfdddZddZddZdd	Zd
dZdd
ZddZ	eZ
e	ZdS)_patch_dictFcKsYt|trt|}||_t||_|jj|||_d|_dS)N)	rr%rin_dictrnrr
clear	_original)rgr(rr)r2rrrr's		z_patch_dict.__init__csAttrjStfdd}|S)Nc
s-jz||SWdjXdS)N)r'
_unpatch_dict)r1r)frgrr_inner&s
z$_patch_dict.__call__.<locals>._inner)rrrr)rgr,r-r)r,rgrr*#s
!z_patch_dict.__call__cCsx{t|D]m}t||}|jtjr
t|dr
t|j|j|j	}||}t
|||q
W|S)Nr*)rr@rrrrr'r(rr)rz)rgrr	r
Z	decoratorZ	decoratedrrrr1sz_patch_dict.decorate_classcCs|jdS)N)r')rgrrrr<sz_patch_dict.__enter__cCs|j}|j}|j}y|j}Wn7tk
rdi}x|D]}||||<qHWYnX||_|r~t|y|j|Wn1tk
rx|D]}||||<qWYnXdS)N)rr(r)rr(r*_clear_dictr
)rgrr(r)rMrrrrr'As"			

	


z_patch_dict._patch_dictcCse|j}|j}t|y|j|Wn1tk
r`x|D]}||||<qDWYnXdS)N)r(r*r.r
r()rgr(rMrrrrr+[s		


z_patch_dict._unpatch_dictcGs|jdS)NF)r+)rgr1rrrrhs
z_patch_dict.__exit__N)r#r$r%r'r*rrr'r+rr r!rrrrr's
r'cCsKy|jWn6tk
rFt|}x|D]
}||=q1WYnXdS)N)r)r(rB)r(keysrrrrr.qs

r.cCs(x!ttjD]}|jqWdS)N)rrrr!)rrrr_patch_stopallzsr0Ztestzlt 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)rr2rrrrs__get____set__
__delete____reversed____missing__
__reduce__
__reduce_ex____getinitargs____getnewargs____getstate____setstate__
__getformat__
__setformat__rhr__subclasses__
__format____getnewargs_ex__csfdd}||_|S)Ncs|||S)Nr)rgr1r)r-rrmethodsz_get_method.<locals>.method)r#)rr-rCr)r-rrs	rcCsh|]}d|qS)z__%s__r)rrCrrrrs	rmrr'rZ__prepare____instancecheck____subclasscheck____del____hash__cCs
tj|S)N)rrF)rgrrrrsr__str__cCs
tj|S)N)rrG)rgrrrrs
__sizeof__cCs
tj|S)N)rrH)rgrrrrs__lt____gt____le____ge____int__rr__len__r__complex__y?	__float__g?__bool__	__index__csfdd}|S)Ncs0jj}|tk	r|S|kr,dStS)NT)__eq__rrrNotImplemented)otherr)rgrrrSsz_get_eq.<locals>.__eq__r)rgrSr)rgr_get_eqsrVcsfdd}|S)Ncs*jjtk	rtS|kr&dStS)NF)__ne__rrrrT)rU)rgrrrWs
z_get_ne.<locals>.__ne__r)rgrWr)rgr_get_nesrXcsfdd}|S)Ncs,jj}|tkr"tgSt|S)N)rrrrr)r)rgrrrs
z_get_iter.<locals>.__iter__r)rgrr)rgr	_get_itersrYrSrWrcCstj|t}|tk	r+||_dStj|}|dk	ry||}Wntk
rvt|}YnX||_dStj|}|dk	r|||_dS)N)_return_valuesrGrrZ_calculate_return_valuer(_side_effect_methodsr`)r7rCrZfixedZreturn_calulatorrZZ
side_effectorrrr_set_return_values	
	r]c@s(eZdZddZddZdS)
MagicMixincOs1|jtt|j|||jdS)N)_mock_set_magicsrr^r')rgr1rrrrr's
zMagicMixin.__init__cCst}t|dddk	rvtj|j}t}t|}x0|D](}|t|jkrJt||qJW|tt|j}t|}x'|D]}t||t	||qWdS)Nr)
_magicsr@intersectionrrorrFrrz
MagicProxy)rgZthese_magicsZ
remove_magicsrrrrrr_s	


zMagicMixin._mock_set_magicsN)r#r$r%r'r_rrrrr^sr^c@seZdZdddZdS)rFcCs|j|||jdS)N)rr_)rgrrrrrr/sz"NonCallableMagicMock.mock_add_specN)r#r$r%rrrrrr-sc@seZdZdddZdS)rFcCs|j|||jdS)N)rr_)rgrrrrrrEszMagicMock.mock_add_specN)r#r$r%rrrrrr:sc@sCeZdZddZddZddZddd	ZdS)
rbcCs||_||_dS)N)rr)rgrrrrrr'Qs	zMagicProxy.__init__cOs|j}|||S)N)create_mock)rgr1r2mrrrr*UszMagicProxy.__call__cCsT|j}|j}|jd|d|d|}t|||t||||S)Nrrr)rrrrzr])rgrrrdrrrrcYs			zMagicProxy.create_mockNcCs
|jS)N)rc)rgrrrrrr3bszMagicProxy.__get__)r#r$r%r'r*rcr3rrrrrbPs	rbc@s4eZdZddZddZddZdS)_ANYcCsdS)NTr)rgrUrrrrSjsz_ANY.__eq__cCsdS)NFr)rgrUrrrrWmsz_ANY.__ne__cCsdS)Nz<ANY>r)rgrrrrhpsz
_ANY.__repr__N)r#r$r%rSrWrhrrrrregsrecCsd|}d}djdd|D}djddt|jD}|r`|}|r|rv|d7}||7}||S)Nz%s(%%s)rz, cSsg|]}t|qSr)repr)rrrrrrzs	z*_format_call_signature.<locals>.<listcomp>cSs&g|]\}}d||fqS)z%s=%rr)rrrprrrr|s	)rrr)rr1r2rZformatted_argsargs_stringZ
kwargs_stringrrrrws
"

rc@seZdZfddddddZfddddddZd	d
ZejZddZd
dZ	ddZ
ddZddZddZ
dS)rrNFTcCsf}i}t|}|dkr6|\}}}n|dkr|\}	}
t|	tr|	}t|
tr{|
}q|
}q|	|
}}nK|dkr|\}t|tr|}nt|tr|}n|}|rtj|||fStj||||fS)Nrrcr)rrr%rCr)rrprrr	from_kallr1r2_lenfirstsecondrrrrs.					z
_Call.__new__cCs||_||_||_dS)N)rrrh)rgrprrrrhrrrr's		z_Call.__init__cCs|tkrdSyt|}Wntk
r8dSYnXd}t|dkr`|\}}n|\}}}d}|dkrfi}}n|dkr|\}}}n|dkr|\}	t|	tr|	}i}qt|	tr|	}fi}}qf}|	}np|dkr|\}
}t|
trr|
}t|trb|i}}qf|}}q|
|}}ndS|r||krdS||f||fkS)NTFrrcrrr)rrrrrCr%)rgrUZ	len_otherZ	self_nameZ	self_argsZself_kwargsZ
other_nameZ
other_argsZother_kwargsrprjrkrrrrSsJ
				z_Call.__eq__cOsW|jdkr(td||fddS|jd}t|j||fd|d|S)Nrrz()r)rr)rgr1r2rrrrr*s
z_Call.__call__cCsN|jdkr"td|ddSd|j|f}td|d|ddS)NrrhFz%s.%sr)rr)rgr	rrrrrmsz_Call.__getattr__cOs|jd||S)Nr)rm)rgr1r2rrrrsz_Call.countcOs|jd||S)Nindex)rm)rgr1r2rrrrlsz_Call.indexcCs|js5|jpd}|jdr1d|}|St|dkr\d}|\}}nD|\}}}|szd}n&|jdsd|}n
d|}t|||S)Nrz()zcall%srczcall.%s)rhrrrr)rgrr1r2rrrrhs	
	

z_Call.__repr__cCsNg}|}x/|dk	r=|jr1|j||j}qWtt|S)N)rhrrrVr)rgvalsrrrr	call_list#s	

z_Call.call_list)r#r$r%rr'rSrrWr*rmrrlrhrnrrrrrs3	rrhcKst|rt|}t|t}d|i}|rHd|i}n|dkrZi}|rp|rpd|d<|j|t}tj|ri}n4t|st}n|r|rt	|rt}|j
d|}|}	|dkrd}	|d|d|d	|	d||}
t|tr>t|
|}
nt
||
|||dk	rq|rq|
|j|<|r|rd
|krt||dddd
d|
|
_x@t|D]2}t|rqyt||}Wntk
rwYnXd|i}|rd|i}t|tsPt|||
||}
|
|
j|<n~|
}t|trn|
j}t|||}||d<td|d|d	|d||}
|
|
j|<t
||
d|t|
trt|
||
qW|
S)NrrTrrrrrrrZr9rz()rrr8)rDrrr
rr+ZisdatadescriptorrArrIrr)rQr:rarrZrrer@r(rr7
_must_skiprz)rrr9rrr2is_typerrrr7rrMrrr8rrrr4st

		

	
	
cCst|ts4|t|dikr+dS|j}xq|jD]f}|jj|t}|tkrhq>t|tt	frdStt|ddt
r|SdSq>W|S)NrFFr3)rrr@rrErFrGrstaticmethodclassmethodMethodWrapperTypes)rrrprrNrrrros	rocCs.y|jSWntk
r)t|SYnXdS)N)rr(r)rrrrrs
rc@s+eZdZdddddddZdS)rFNcCs:||_||_||_||_||_||_dS)N)ridsrrr9r)rgrrrrrtr9rrrr's					z_SpecState.__init__)r#r$r%r'rrrrrsrc#st|trdndfdd|jD}|dkr`|dd}n|ddd	|d
<x|D]}|VqWdS)Ns

csg|]}|qSrr)rl)seprrrs	z&_iterate_read_data.<locals>.<listcomp>rrxrxrxrx)rbytesr)	read_dataZdata_as_listliner)rwr_iterate_read_datas"
r|rcstfdd}fdd}fddtdkrddl}ttt|jjtt|ja|dkrtdd	d
t	}td
tj
_tdgdj
_dj_dj_dj_|j_d<dj_|j_fdd
}||_|_|S)Ncs*jjdk	rjjStdS)Nr)	readlinesrZrB)r1r2)_statehandlerr_readlines_side_effect	s
z)mock_open.<locals>._readlines_side_effectcs6jjdk	rjjStjdS)Nr)readrZrr)r1r2)r~rrzrr_read_side_effect	s
z$mock_open.<locals>._read_side_effectc3sWjjdk	r$xjjVqWxdD]}|Vq/WxtVqAWdS)Nr)readlinerZr)r{)r~rrzrr_readline_side_effect	s	z(mock_open.<locals>._readline_side_effectrropenrrcsGtd<jjdkrCd<dj_tS)Nrr)r|rr`r)r1r2)rr~rrzrr
reset_data7	s

zmock_open.<locals>.reset_data)	file_spec_iorBror
TextIOWrapperunionBytesIOrrrrZr|writerrr}r`)r7rzrrrrr)rr~rrzrr	s.3
		c@s4eZdZddZddZddZdS)r
cKs
t|S)N)r)rgr2rrrrM	szPropertyMock._get_child_mockcCs|S)Nr)rgrZobj_typerrrr3P	szPropertyMock.__get__cCs||dS)Nr)rgrrrrrr4R	szPropertyMock.__set__N)r#r$r%rr3r4rrrrr
D	s	)s__all____version__r+rrbuiltinstypesr	functoolsrrrr
BaseExceptionrplatformrlangZ	Throwabler	superrrr rr!rr"r~ZDescriptorTypesr.r:r5rArDrIrQrLrerfrirrZMISSINGrZDELETEDrrqr|rrBrVrrrr
rrrrrrrr#r$r&rr'r.r0rnZmultipleZstopallrZ
magic_methodsZnumericsrrZinplacerightZ
_non_defaultsrr`rrr[rTrZrVrXrYr\r]r^rrrbrerrrCrrrrorrrSr)r3rsrr|rr
rrrr<module>s			 +							e5+		1	Jv						""		%
		
	
		w	D
Back to Directory File Manager