fH`dZddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z m Z m Z ddlmZddlmZmZddlmZGdd eZd eeDZd ZeZd Zd ZdZdZdZ dZ!dydZ"dZ#dZ$dZ%dZ&dydZ'dZ(dZ)dZ*Gdde+Z,Gdde+Z-e-Z.e.j/Z/e.j0Z1e.j2Z3hd Z4d!Z5Gd"d#e6Z7d$Z8Gd%d&e+Z9Gd'd(e+Z:Gd)d*e:Z;ej<e;j=Z>Gd+d,e6Z?d-Z@Gd.d/e:ZAGd0d1eAe;ZBd2ZCGd3d4e+ZDd5ZEe/dddddfdd6d7ZF dzd8ZGe/dddddfdd6d9ZHGd:d;e+ZId<ZJd=ZKeFeH_+eIeH_LeGeH_MeKeH_Nd>eH_Od?ZPd@ZQdARdBeQSDZTdARdCeQSDZUhdDZVdEZWdFdARePeQeTeUgSDZXhdGZYdHhZZeYeZzZ[eXeVzZ\e\e[zZ]hdIZ^dJdKdLdMdNZ_e`e`e`e`dOddddPdQd dOddR ZadSZbdTZcdUZddVZeebecedeedWZfdXZgGdYdZe:ZhGd[d\ehe;ZiGd]d^ehZjGd_d`eheBZkGdadbe:ZlGdcdde:ZmGdedfemejeBZnGdgdhe+ZoeoZpdiZqGdjdkerZsesdlZt d{dd6dmZudnZvGdodpe+ZwexeuexepjyfZzda{da|dqZ}d|dsZ~GdtdueBZdvZGdwdxZdS)})Mock MagicMockpatchsentinelDEFAULTANYcallcreate_autospec AsyncMock FILTER_DIRNonCallableMockNonCallableMagicMock mock_open PropertyMocksealN)iscoroutinefunction)CodeType ModuleType MethodType) safe_repr)wrapspartial)RLockceZdZdS)InvalidSpecErrorN__name__ __module__ __qualname__4/opt/alt/python311/lib64/python3.11/unittest/mock.pyrr)sBBr!rc<h|]}|d|S_ startswith).0names r" r*-s) H H Hd4??33G3G HT H H Hr!Tct|rt|tsdSt|drt |d}t |pt j|S)NF__func__)_is_instance_mock isinstancer hasattrgetattrrinspect isawaitableobjs r" _is_async_objr55sgji&@&@usJ'c:&& s # # ?w':3'?'??r!cFt|ddrt|SdS)N__code__F)r0r)funcs r"_is_async_funcr9=s)tZ&&"4(((ur!cFtt|tSN) issubclasstyper r3s r"r-r-Ds d3ii 1 11r!ct|tp)t|tot|tSr;)r. BaseExceptionr=r<r3s r" _is_exceptionr@Js63 && A3@*S-"@"@r!c^t|trt|dr|jS|SNmock)r. FunctionTypesr/rCr3s r" _extract_mockrEQs3#}%%'#v*>*>x r!c t|tr |s |j}d}njt|ttfrt|trd}|j}n/t|t s |j}n#t$rYdSwxYw|rt|d}n|} |tj |fS#t$rYdSwxYwNT) r.r=__init__ classmethod staticmethodr,rD__call__AttributeErrorrr1 signature ValueError)r8 as_instanceeat_selfsig_funcs r"_get_signature_objectrRZs $k} D; 5 6 6  dK ( ( H} m , , =DD   44 4&&W&x0000 tts$4A<< B  B #B99 CCFct|||dS\}fd}t|||t|_t|_dS)Nc"j|i|dSr;bind)selfargskwargssigs r"checksigz"_check_signature..checksig $!&!!!!!r!)rR_copy_func_detailsr=_mock_check_sig __signature__)r8rC skipfirstinstancer[rZs @r"_check_signaturerb}sr h : :C {ID#"""""tX&&&!)DJJ"DJJr!c pdD]2} t||t||##t$rY/wxYwdS)N)r__doc____text_signature__r __defaults____kwdefaults__)setattrr0rL)r8funcopy attributes r"r]r]sa   GYi(@(@ A A A A    D  s & 33ct|trdSt|tttfrt |jSt|dddSdS)NTrKF)r.r=rJrIr _callabler,r0r3s r"rlrls^#tt# k:>??'&&&sJ%%1t 5r!c<t|ttfvSr;)r=listtupler3s r"_is_listrps 99u %%r!c t|tst|ddduS|f|jzD]}|jddS dS)NrKTF)r.r=r0__mro____dict__get)r4bases r"_instance_callablervsr@ c4 :sJ--T99$ =  Z ( ( 444 5 5r!c0 t|t}t|||}||S|\} fd}t|||j}|sd}||d}d|z} t | |||} t| | | S)Nc"j|i|dSr;rU)rXrYrZs r"r[z _set_signature..checksigr\r!ri) _checksig_rCzYdef %s(*args, **kwargs): _checksig_(*args, **kwargs) return mock(*args, **kwargs))r.r=rRr]r isidentifierexec _setup_func) rCoriginalrar`resultr8r[r)contextsrcrirZs @r"_set_signaturers 8T**I "8Xy A AF ~ ID#"""""tX&&&  D     %t44G $&* +C #wdmGs### Nr!c_fd}fd}fd}fd}fd}fd}fd} fd} d _d _d_t _t _t _j_j _ j _ |_ |_ |_ | _| _|_|_|_|__dS) Ncj|i|Sr;)assert_called_withrXrYrCs r"rz'_setup_func..assert_called_with&t&7777r!cj|i|Sr;) assert_calledrs r"rz"_setup_func..assert_calleds!t!426222r!cj|i|Sr;)assert_not_calledrs r"rz&_setup_func..assert_not_calleds%t%t6v666r!cj|i|Sr;)assert_called_oncers r"rz'_setup_func..assert_called_oncerr!cj|i|Sr;)assert_called_once_withrs r"rz,_setup_func..assert_called_once_withs+t+T.assert_has_callss$t$d5f555r!cj|i|Sr;)assert_any_callrs r"rz$_setup_func..assert_any_calls#t#T4V444r!ct_t_j}t |r|ur|dSdSdSr;) _CallList method_calls mock_calls reset_mock return_valuer-)retrirCs r"rz_setup_func..reset_mockso({{&[[ " S ! ! #++ NN       ++r!Fr)rCcalled call_count call_argsrcall_args_listrrr side_effect_mock_childrenrrrrrrrrr__mock_delegate) rirCrZrrrrrrrrs `` r"r|r|sGL88888333337777788888=====6666655555GNGG&[[G$;;G"G,G*G!0G!3G&=G#/G-G#G)G 1G!3GG!Dr!c tjj_d_d_t _fd}dD]!}t|t||"dS)Nrc:tj||i|Sr;)r0rC)attrrXrYrCs r"wrapperz"_setup_async_mock..wrapper s$'wty$''8888r!)assert_awaitedassert_awaited_onceassert_awaited_withassert_awaited_once_withassert_any_awaitassert_has_awaitsassert_not_awaited) asyncio coroutines _is_coroutine await_count await_argsrawait_args_listrhr)rCrrjs` r"_setup_async_mockrs +9DDDO$;;D 99999, > >  i)! >r!c$d|ddz|kS)N__%s__r r)s r" _is_magicrs d1R4j D ((r!c"eZdZ dZdZdZdS)_SentinelObjectc||_dSr;rrWr)s r"rHz_SentinelObject.__init__"s  r!cd|jzSNz sentinel.%srrWs r"__repr__z_SentinelObject.__repr__%ty((r!cd|jzSrrrs r" __reduce__z_SentinelObject.__reduce__(rr!N)rrrrHrrr r!r"rr sD'))))))))r!rc"eZdZ dZdZdZdS) _Sentinelci|_dSr;) _sentinelsrs r"rHz_Sentinel.__init__.s r!cl|dkrt|j|t|S)N __bases__)rLr setdefaultrrs r" __getattr__z_Sentinel.__getattr__1s3 ;   ))$0E0EFFFr!cdS)Nrr rs r"rz_Sentinel.__reduce__7szr!N)rrrrHrrr r!r"rr,sGKGGG r!r> _mock_namer _mock_parentr_mock_new_name_mock_new_parent_mock_side_effect_mock_return_valuecxt|d|z}||fd}||fd}t||S)N_mock_cT|j}|t||St||Sr;)rr0)rWr) _the_namerZs r"_getz"_delegating_property.._getLs/! ;4++ +sD!!!r!cR|j}| ||j|<dSt|||dSr;)rrsrh)rWvaluer)rrZs r"_setz"_delegating_property.._setQs9! ;',DM) $ $ $ Cu % % % % %r!)_allowed_namesaddproperty)r)rrrs r"_delegating_propertyrIset4I """" $y&&&& D$  r!ceZdZdZdZdS)rct|tst||St|}t|}||krdSt d||z dzD]}||||z}||krdSdS)NFrT)r.rn __contains__lenrange)rWr len_valuelen_selfisub_lists r"rz_CallList.__contains__^s%&& 2$$T511 1JJ t99 x  5q(Y.233  AAa kM*H5  tt!ur!cDtjt|Sr;)pprintpformatrnrs r"rz_CallList.__repr__ls~d4jj)))r!N)rrrrrr r!r"rr\s2   *****r!rct|}t|sdS|js|js|j|jdS|}|||urdS|j}||r||_||_|r||_||_dS)NFT)rEr-rrrr)parentrr)new_name_parents r"_check_and_set_parentrps % E U # #u  U1   '   +uG   e  5*  (!''  # 4r!ceZdZdZdZdS) _MockIterc.t||_dSr;)iterr4)rWr4s r"rHz_MockIter.__init__s99r!c*t|jSr;)nextr4rs r"__next__z_MockIter.__next__sDH~~r!N)rrrrHrr r!r"rrs2r!rceZdZeZdZdZdS)BaseNcdSr;r rWrXrYs r"rHz Base.__init__s r!)rrrrrrrHr r!r"rrs/      r!rceZdZ eZdZ d,dZdZd-dZ d.dZ d Z d Z d Z e e e e Ze d Zed ZedZedZedZedZdZdZe eeZd/ddddZdZdZdZdZdZdZdZ dZ!d0dZ"d Z#d!Z$d"Z%d#Z&d$Z'd%Z(d&Z)d-d'Z*d(Z+d)Z,d1d+Z-dS)2r cz|f}t|ts]tj|g|Ri|j}|d|d}|t |r t|f}t|j|d|j i}tt| |}|S)Nspec_setspecrd) r<AsyncMockMixin _MOCK_SIG bind_partial argumentsrtr5r=rrd _safe_superr __new__)clsrXkwbases bound_argsspec_argnewras r"rzNonCallableMock.__new__s#~.. ."/AdAAAbAAKJ!~~j*..2H2HIIH# h(?(?#'-3<CK(@AA44<>d.6&& D'C!$D  r!cb|j||j_dS||_t||dddS)Nr0)rrrr)rWrs r"__set_return_valuez"NonCallableMock.__set_return_value%s>   */4D  , , ,&+D # !$tT : : : : :r!z1The value to be returned when the mock is called.c<|jt|S|jSr;)r'r=rs r" __class__zNonCallableMock.__class__1s   #:: r!rrrrrc|j}||jS|j}|It|s:t |t s%t |st |}||_|Sr;)rrrcallabler.rr@)rW delegatedsfs r"__get_side_effectz!NonCallableMock.__get_side_effect>sj'  ) )  " N8B<z0NonCallableMock.configure_mock..sq1D1Dr!)keyrJ)sorteditemssplitpopr0rh)rWrYargvalrXfinalr4rLs r"rzNonCallableMock.configure_mockrs ,v||~~$E#D FFF % %HC 99S>>DHHJJEC * *c5)) C $ $ $ $ % %r!c |dvrt||j%||jvs |tvrtd|znt|rt||js:|jr ||jvr*|drt|d|dt j5|j |}|turt||Cd}|j t|j |}| |||||}||j|<nt|trv t!|j|j|j|j|j}n>#t,$r1|jdp|}t-d|d |d |d |jd wxYw||j|<dddn #1swxYwY|S) N>rr*zMock object has no attribute %r)assertassretasertaseertassrtz6 is not a valid assertion. Use a spec for the mock if z is meant to be an attribute.)rr)rrrrCannot autospec attr from target , as it has already been mocked out. [target=, attr=r&)rLr* _all_magicsrrr'r _lockrrtrErr0r2r.rDr rrrarr)rrs)rWr)r~r target_names r"rzNonCallableMock.__getattr__s 4 4 4 && &   +4---1D1D$%F%MNNN2E t__ ' && &  N$*< NDL^@^@^OPP N$MM'+MMMNNN " 4 4(,,T22F!!$T***#/$D$4d;;E--d%4 $..4#D))FJ// 4 D, V_fo v{FF(DDD"&- "="EK*CCC&CC#'CC28+CCCDDDD .4#D); 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4> s++B F:9,E&%F:&;F!! F::F>F>cn|jg}|j}|}d}|dgkrd}|7|}||j|zd}|jdkrd}|j}|7tt |}|jpd}t |dkr|ddvr|dz }||d<d|S)NrJr0r rCr)r0z().r)rrr-rnreversedrrjoin)rW _name_listrlastdot_firsts r"_extract_mock_namez"NonCallableMock._extract_mock_names)* ' $  C!D   g4s: ; ; ;C%--.G!(:..// *F z??Q  !}M11#  1 wwz"""r!c|}d}|dvrd|z}d}|jd}|jrd}||jjz}dt |j||dt |dS) Nr )rCzmock.z name=%rz spec=%rz spec_set=%r)rjr'r(rr=rB)rWr) name_string spec_strings r"rzNonCallableMock.__repr__s&&(( ( ( ($t+K   '$K~ -, %(8(AAK JJ   K KK tHHHH   r!cx tst|S|jpg}t t |}t |j}d|j D}d|D}d|D}tt||z|z|zS)Nc*g|]\}}|tu|Sr )rE)r(m_namem_values r" z+NonCallableMock.__dir__..s1(((&vwh&& &&&r!c<g|]}|d|Sr$r&r(es r"rsz+NonCallableMock.__dir__..s)CCC1c1B1BCQCCCr!cZg|](}|drt|&|)Sr$)r'rrus r"rsz+NonCallableMock.__dir__..sE###1c1B1B#q\\#Q###r!) r object__dir__r*r,r=rnrsrrPrOset)rWextras from_type from_dictfrom_child_mockss r"ryzNonCallableMock.__dir__sF (>>$'' '#)rT OO '' ((*.*=*C*C*E*E(((DC CCC ## ### c&9,y8;KKLLMMMr!cT|tvrt||Sjr+j$|jvr|jvrt d|z|tvrd|z}t ||tvrj|jvrt d|zt|s5tt|t|||fd}nft|d|tt|||j|<n+|dkr |_dSt|||r |j|<jr;t#|s+d|}t d|t||S)Nz!Mock object has no attribute '%s'z.Attempting to set unsupported magic method %r.cg|Ri|Sr;r )rXrr}rWs r"rMz-NonCallableMock.__setattr__.. s!HHT,GD,G,G,GB,G,Gr!r7rJz Cannot set )rrx __setattr__r(r*rsrL_unsupported_magicsr`r-rhr= _get_methodrrr'rr/rj)rWr)rmsg mock_namer}s` @r"rzNonCallableMock.__setattr__s > ! !%%dD%88 8n 2!3!? * * *  % % !Dt!KLL L ( ( (BTIC %% % [ !-$d>P2P2P$%H4%OPPP$U++ 2T D+dE*B*BCCC GGGGG&dE4>>>T D%000,1#D)) [ $D  F$T5$== 2,1#D)   |t|jvr(tt||||jvrdS|j|t }||jvr)tt| |n|turt||t ur|j|=t|j|<dSr;) r`r=rsdelattrrrt_missingrr __delattr__rErL)rWr)r4s r"rzNonCallableMock.__delattr__!s ;  44::+>#>#> DJJ % % %4=((!%%dH55 4=  . . : :4 @ @ @ @ H__ && & h  #D)$,D!!!r!c6|jpd}t|||SrB)r_format_call_signaturerWrXrYr)s r"_format_mock_call_signaturez+NonCallableMock._format_mock_call_signature3s (&%dD&999r!rcdd}|||}|j}|j|}||||fzS)Nz0expected %s not found. Expected: %s Actual: %s)rr)rWrXrYactionmessageexpected_stringr actual_strings r"_format_mock_failure_messagez,NonCallableMock._format_mock_failure_message8sDF::4HHN 88)D &/=AAAr!c |s|jSd}|ddd}|j}|D]M}||}|t |t rnt|}|j}|j}N|S)Nr0r rJ)r)replacerQrrtr.rDrE)rWr)rZnameschildrenrGs r"_get_call_signature_from_namez-NonCallableMock._get_call_signature_from_name@s  (' ' T2&&,,S11& , ,DLL&&E} 5* = =} &e,, /+ r!c t|tr/t|dkr||d}n|j}|vt|dkrd}|\}}n|\}}} |j|i|}t ||j|jS#t$r}| dcYd}~Sd}~wwxYw|S)Nrrr ) r.rorrr)rVrrXrY TypeErrorwith_traceback)rW_callrZr)rXrY bound_callrvs r" _call_matcherzNonCallableMock._call_matcheras  eU # # 'E Q44U1X>>CC&C ?5zzQ$ ff%*"dF .%SXt6v66 D*/:3DEEE . . .''-------- .Ls1'B C#B=7C=Cc |jdkr8d|jpdd|jd|}t|dS)Nr Expected 'rCz"' to not have been called. Called  times.rr _calls_reprAssertionErrorrWrs r"rz!NonCallableMock.assert_not_called|sa ?a   o///ooo&&(((*C!%% % r!cT |jdkrd|jpdz}t|dS)Nrz"Expected '%s' to have been called.rC)rrrrs r"rzNonCallableMock.assert_calleds> ?a  7O-v/C %% % r!c |jdks8d|jpdd|jd|}t|dS)NrrrCz#' to have been called once. Called rrrs r"rz"NonCallableMock.assert_called_oncesa !###o///ooo&&(((*C!%% % $#r!cv j/}d}d|d|}t|fd}t fd}j}||kr1t |t r|nd}t||dS)Nz not called.z#expected call not found. Expected: z Actual: c4}|Sr;rrrXrYrWs r"_error_messagez:NonCallableMock.assert_called_with.._error_messages33D&AACJr!Ttwo)rrrr_Callr. Exception)rWrXrYexpectedactual error_messagercauses``` r"rz"NonCallableMock.assert_called_withs 3 > !77fEEH"FFxx)M // /       %%eT6N&E&E&EFF##DN33 X   *8Y ? ?IHHTE !1!122 =  r!c |jdks8d|jpdd|jd|}t||j|i|S)NrrrCz' to be called once. Called r)rrrrrrWrXrYrs r"rz'NonCallableMock.assert_called_once_withsq )!###o///ooo&&(((*C!%% %&t&7777r!c fd|D}td|Dd}tfdjD}|su||vro|d}ndd|D}t |dt|d d |dSt|}g}|D]=} ||#t$r| |Y:wxYw|r-t j pd d t|d |d|dS)Nc:g|]}|Sr rr(crWs r"rsz4NonCallableMock.assert_has_calls..'999aD&&q))999r!c3DK|]}t|t|VdSr;r.rrus r" z3NonCallableMock.assert_has_calls..1FFAZ9-E-EFaFFFFFFr!c3BK|]}|VdSr;rrs r"rz3NonCallableMock.assert_has_calls..s1MMd0033MMMMMMr!zCalls not found.z+Error processing expected calls. Errors: {}c@g|]}t|tr|ndSr;rrus r"rsz4NonCallableMock.assert_has_calls..;$7$7$7()*4Ay)A)A$KAAt$7$7$7r! Expected: z Actual)prefixrJrCz does not contain all of z in its call list, found z instead) rrrformatrrrstriprnremoverNr-rro) rWcalls any_orderrr all_callsproblem not_foundkalls ` r"rz NonCallableMock.assert_has_callss 1:9995999FFFFFMMMMMMT_MMMMM  y((=0GG ,-3V$7$7-5$7$7$7.8.8%II!*5!1!1I''z'::AA#FFII  FOO   ' 'D '  &&&& ' ' '  &&&&& '   &*o&?&?&?&+I&6&6&6&6 C    sC..DDc& t||fd}t|tr|nd}fdjD}|s|t |vr)||}td|z|dS)NTrc:g|]}|Sr rrs r"rsz3NonCallableMock.assert_any_call..s'EEEA$$$Q''EEEr!z%s call not found)rrr.rr _AnyComparerrrrWrXrYrrrrs` r"rzNonCallableMock.assert_any_calls , %%eT6N&E&E&EFF&x;;EEEEE1DEEE  HL$8$888">>tVLLO #o5 98r!c  |jr7d|vr d|dnd}||z}t||d}||jdvr t di|St |}t|tr|tvrt }nt|tr)|tvs|j r||j vrt}ndt }n\t|ts:t|trt}n*t|trt }n |jd}|di|S)Nr)rJr0rr+rr )rrjrLrtrsr r=r<r_async_method_magicsr_all_sync_magicsr* CallableMixinr r rrr)rWrrjrr_typeklasss r"r2zNonCallableMock._get_child_mocks` !   ,,2bLL(BvJ(((dI//11I=I ++ +FF;''  n5 5 5??r?? "T  eY ' ' %I9M,M,MEE ~ . . %---&.+48J+J+J!!E=11 %%!566 !E?33 M!$Eu{{r{{r!CallscL |jsdSd|dt|jdS)Nr  z: rJ)rr)rWrs r"rzNonCallableMock._calls_reprs;  2;F;;i88;;;;r!) NNNNNNr NFNFF)FFr;)r)r).rrrrrarrHr!r$r"_NonCallableMock__get_return_value"_NonCallableMock__set_return_value"_NonCallableMock__return_value_docrrr7rrrrrr!_NonCallableMock__get_side_effect!_NonCallableMock__set_side_effectrrrrrjrryrrrrrrrrrrrrrr2rr r!r"r r s* EGGE   ">BEI   ;;;M8.0B.00L  X " !( + +F%%l33J$$[11I))*:;;N%%l33J   ***(,.?@@K$u%$$$$$<%%%,---`###6   *NNN$$5$5$5N---$::: BBBBB6&&&&&&&&&>>>, 8 8 8****Z    ###L < < < < < .5s1$HfF"r!TF)allzip)rWitemrs r"rz_AnyComparer.__contains__2s^  E(+D%(8(8 tt   ur!N)rrrrr r!r"rr-s(r!rc||St|r|St|r|S t|S#t$r|cYSwxYwr;)r@rlrrr3s r"r>r>=sk { S ~~ Cyy  s7 AAc HeZdZddedddddddf dZdZdZdZdZdZ dS) rNr c x||jd<tt|j||||||| | fi| ||_dS)Nr)rsrrrHr) rWrrrrr)rrrrrrYs r"rHzCallableMixin.__init__Nsa/; *+1 M4((1 %x K  39   'r!cdSr;r rs r"r^zCallableMixin._mock_check_sigZs r!cP|j|i||j|i||j|i|Sr;)r^_increment_mock_call _mock_callrs r"rKzCallableMixin.__call___sK d-f---!!426222t////r!c|j|i|Sr;)_execute_mock_callrs r"rzCallableMixin._mock_callgs&t&7777r!c~d|_|xjdz c_t||fd}||_|j||jdu}|j}|j}|dk}|j td||f|j }||rB|j t|||f|jdu}|r |jdz|z}t|||f} |j | |jr|rd} nd} |jdk}|j| z|z}|j }|dSdS)NTrrr0r rJ) rrrrrr-rrrrrr) rWrXrYrdo_method_callsmethod_call_namemock_call_name is_a_callrthis_mock_callrhs r"rz"CallableMixin._increment_mock_calljs  1 tVn$/// ""5)))+47?,"d*  ub$%788999+ % W(//7Gv6V0W0WXXX"-":$"F"W'2'='CFV'V$#ND&#ABBN  " ) ). 9 9 9) SCCC'6$> !,!;c!AN!R&6K-%%%%%r!c^|j}|Tt|r|t|s!t|}t|r|n||i|}|tur|S|jtur|jS|jr|jjtur|jS|j |j|i|S|jSr;) rr@rlrrrrrr)rWrXrYeffectr~s r"rz CallableMixin._execute_mock_calls!  V$$ 1 v&& 1f ((! L! 000W$$  "' 1 1$ $   %4#6#C7#R#R$ $   '#4#T4V44 4  r!) rrrrrHr^rKrrrr r!r"rrLs d$d!RT ' ' ' '   000888,7,7,7\!!!!!r!rceZdZdS)rNrr r!r"rrs55r!rc@d}|D]}||vrt|ddS)N) autospect auto_specset_specz5 might be a typo; use unsafe=True if this is intended) RuntimeError)kwargs_to_checktypostypos r"_check_spec_arg_typosrsN 2E ? " "PPP  #r!c~eZdZdZgZdddZdZdZdZe j dZ d Z d Z d Zd Zd ZdZdZdS)_patchNFrc |)|turtd|td| st| t|rt d|d|dt|rt d|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=r&z? as the spec_set target has already been mocked out. [spec_set=F)rrNrr-rgetterrjr  new_callablercreate has_localrautospecrYadditional_patchers) rWrrjr rr rr rrYrs r"rHz_patch.__init__sV  #'!! B# G * !& ) ) ) T " " A"@I@@6:@@@AA A X & & P"OIOOAIOOOPP P "(       #%   r!c t|j|j|j|j|j|j|j|j|j }|j |_ d|j D|_ |S)Nc6g|]}|Sr )copy)r(ps r"rsz_patch.copy..,s-' ' ' AFFHH' ' ' r!) rrrjr rr rr rrYattribute_namer )rWpatchers r"rz _patch.copy%sq K49 K M4,dk   "&!4' ' "6' ' ' #r!ct|tr||Stj|r||S||Sr;r.r=decorate_classr1rdecorate_async_callabledecorate_callable)rWr8s r"rKz_patch.__call__2sc dD ! ! -&&t,, ,  &t , , 6//55 5%%d+++r!ct|D]q}|tjs"t ||}t |dsC|}t||||r|SNrK)r,r'r TEST_PREFIXr0r/rrh)rWrr attr_valuers r"rz_patch.decorate_class:sJJ 6 6D??5#455  --J:z22 iikkG E4!4!4 5 5 5 5 r!c#TKg}tj5}|jD]W}||}|j||4|jtur||X|t|z }||fVddddS#1swxYwYdSr;) contextlib ExitStack patchings enter_contextrupdater rr-ro)rWpatchedrXkeywargs extra_args exit_stackpatchingrSs r"decoration_helperz_patch.decoration_helperHs  ! # # #z#- + + ..x88*6OOC((((\W,,%%c*** E*%% %D" " " " # # # # # # # # # # # # # # # # # #sA8BB!$B!ctdrjStfdg_S)Nrc|||5\}}|i|cdddS#1swxYwYdSr;r'rXr#newargs newkeywargsr8r"rWs r"r"z)_patch.decorate_callable..patched]s''(,(022 55Kg{tW4 44 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s 155r/rr-rrWr8r"s``@r"rz_patch.decorate_callableWsv 4 % %  N ! !$ ' ' 'K t 5 5 5 5 5 5  5 "Fr!ctdrjStfdg_S)NrcK||5\}}|i|d{VcdddS#1swxYwYdSr;r*r+s r"r"z/_patch.decorate_async_callable..patchedns''(,(022 ;5Kg{!T7:k:::::::: ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s 9==r.r/s``@r"rz_patch.decorate_async_callablehsv 4 % %  N ! !$ ' ' 'K t ; ; ; ; ; ;  ; "Fr!c`|}|j}t}d} |j|}d}n-#tt f$rt ||t}YnwxYw|tvrt|trd|_ |j s|turt |d|||fS)NFTz does not have the attribute ) rrjrrsrLKeyErrorr0 _builtinsr.rr )rWtargetr)r}locals r" get_originalz_patch.get_originalys~ t,HEE) 6 6 6vtW55HHH 6 9  FJ!?!? DK{ x722 7=vvttD s 6'A A c  |j|j|j}}}|j|j}}|j}||_|durd}|durd}|durd}||td|||dvrtd| \}}|tur|d} |dur |}|dur|}d}n| |dur|}d}n|dur|}||/|turtdt|trd} |t|rt} nt} i} ||} nN||J|} ||} t!| rd| v} nt#|  } t| rt} n | rt$} ||| d<||| d <t| tr&t'| t(r|jr |j| d <| || di| }| r_t/|rP|} ||} t!| st1| st$} | d | d|d d | |_n||turtd |turtdt7|}|dur|}t/|jr#t9d|jd|jd|dt/|rAt;|jd|j}t9d|jd|d|jd|d t=|f||jd|}n|rtd|}||_||_ tCj"|_# tI|j|j||j%ci}|jtur |||j%<|j&D]?}|j#'|}|jtur||@|S|S#|j(tSj*sYdSxYw)NFzCan't specify spec and autospec)TNz6Can't provide explicit spec_set *and* spec or autospecTz!Can't use 'spec' with create=TruerKrrr)r0r1zBautospec creates the mock for you. Can't specify autospec and new.z%Can't use 'autospec' with create=Truer\z: as the patch target has already been mocked out. [target=r_r&rr]r^)r_namez.Can't pass kwargs to a mock we aren't creatingr )+r rrr rYrrr5rr7rr.r=r5r rrpr9r r<r rjr!r-rvrRrboolrr0r temp_originalis_localrr _exit_stackrhrr r __exit__sysexc_info)rWr rrr rYrr}r6inheritKlass_kwargs this_spec not_callablerbnew_attrr$r&rSs r" __enter__z_patch.__enter__s "h 4=8T=$+&( kkmm  5==D u  H u  H   4=>> >  !5 L ( (TUU U++--% '>>h.Gt||t##'HD!t###HDT!!#8#7w&&#$GHHHh--#"G| h 7 7|!!G'$!X%9 ' (II&&;#-Y#>LL'/ ':':#:L ++1%EE!10E"&#&. #5$'' 15/22 17;~ 1"&. NN6 " " "%""'""C 4,S11 4! ' (I ++1&y1110E F####(5$4SD$4$4+2$4$4  !'!!(7"" GHHHH~~H4# -- D&CDNCC#{CC5=CCCDDD!** D%dk:t{KK &CDNCC"CC#{CC5=CCCDDD "(BX(,BB:@BBCC  NLMM M% %/11  DK : : :". 8w&&7:Jt23 $ 8//H*88BBC|w.."))#...!!J  4=#,..1    sBOOO=cj |jr/|jtur!t|j|j|jndt |j|j|jsCt|j|jr |jdvr t|j|j|j|`|`|`|j }|` |j |S)N)rdrrf__annotations__rg) r<r;rrhr5rjrr r/r=r>)rWr@r%s r"r>z_patch.__exit__#s = IT/w>> DK1C D D D D DK 0 0 0; I T^(L(L I+=== T^T5GHHH   M K%  "z"H--r!cd |}|j||Sr;)rG_active_patchesr-rWr~s r"startz _patch.start8s0;!! ##D))) r!c |j|n#t$rYdSwxYw|dddSr;)rKrrNr>rs r"stopz _patch.stop?s^#   ' ' - - - -   44 }}T4...s  ,,)rrrrrKrHrrKrrcontextmanagerr'rrr7rGr>rMrOr r!r"rrsNOAF"&"&"&"&"&J   ,,,    # # #""0PPPd...*/////r!rc |dd\}}n-#tttf$rtd|wxYwt t j||fS)NrJrz,Need a valid target to patch. You supplied: )rsplitrrNrLrpkgutil resolve_name)r5rjs r" _get_targetrUKsG"MM#q11 z> 2GGG E6 E EGG GG 7' 0 0) ;;s *Arc tturtdfd} t| |||||||| | S)Nz3 must be the actual object to be patched, not a strcSr;r r5sr"rMz_patch_object..jsVr!r)r=strrr) r5rjr rr rr rrrYrs ` r" _patch_objectrZTss  F||s L L L   ^^^F  3f(L&   r!c  tturttj}nfd}|st dt |}|d\} } t|| | |||||i } | | _ |ddD]=\} } t|| | |||||i } | | _ | j | >| S)NcSr;r rXsr"rMz!_patch_multiple..sr!z=Must supply at least one keyword argument with patch.multiplerr) r=rYrrSrTrNrnrPrrr r-) r5rr rr rrYrrPrjr r this_patchers ` r"_patch_multipler^qs( F||s-v66   K     E1XNIs 3fh,G'G)99 3 IsD&( lB  '0 ##**<8888 Nr!c Z t|\} } t| | |||||||| S)Nr)rUr) r5r rr rr rrrYrrjs r"rrsJFN$F++FI  3f(L&   r!cTeZdZ ddZdZdZdZdZdZd Z d Z d Z d Z d Z dS) _patch_dictr Fc ||_t||_|j|||_d|_dSr;)in_dictdictrCr!clear _original)rWrcrCrerYs r"rHz_patch_dict.__init__s> 6ll  6""" r!ct|tr||Stj|r||S||Sr;r)rWfs r"rKz_patch_dict.__call__sc a   *&&q)) )  &q ) ) 3//22 2%%a(((r!c@tfd}|S)Nc |i|S#wxYwr;ra _unpatch_dictrXrrhrWs r"_innerz-_patch_dict.decorate_callable.._inner#sV       %q$~"~~""$$$$""$$$$s 3A rrWrhrns`` r"rz_patch_dict.decorate_callable"9 q % % % % %  % r!c@tfd}|S)NcK |i|d{V S#wxYwr;rkrms r"rnz3_patch_dict.decorate_async_callable.._inner/so       %Q^^^+++++++""$$$$""$$$$s <Arorps`` r"rz#_patch_dict.decorate_async_callable.rqr!c t|D]}}t||}|tjrLt |dr"/ ==DL,  -||~~HH - - -H - - '   - -  - "  !   + NN6 " " " " " + + + + +%c{  + + + +s$A$$BBB66CCc|j}|j}t| ||dS#t$r|D] }||||<YdSwxYwr;)rcrfryr!rL)rWrcr}rNs r"rlz_patch_dict._unpatch_dictgs,>G - NN8 $ $ $ $ $ - - - - -'}  - - - -s6AAc> |j|dSNF)rfrl)rWrXs r"r>z_patch_dict.__exit__ts$ > %    ur!cn |}tj||Sr;)rGrrKr-rLs r"rMz_patch_dict.start{s0;!!%%d+++ r!c tj|n#t$rYdSwxYw|dddSr;)rrKrrNr>rs r"rOz_patch_dict.stops^#   " ) )$ / / / /   44 }}T4...s # 11N)r F)rrrrHrKrrrrGrarlr>rMrOr r!r"raras8)))       +++8 - - -/////r!rac |dS#t$rt|}|D]}||=YdSwxYwr;)rerLrn)rckeysrNs r"ryryse  G}}  C    s !==ch ttjD]}|dSr;)rdrrKrO)rs r"_patch_stopallrs8A&011 r!testzlt 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 zDadd sub mul matmul truediv floordiv mod lshift rshift and xor or pow c# K|] }d|zV dS)zi%sNr r(ns r"rrs&77519777777r!c# K|] }d|zV dS)zr%sNr rs r"rrs&55q555555r!>ry__get____set__r __delete__ __format__r __missing__ __getstate__ __reversed__ __setstate__ __getformat__ __reduce_ex____getnewargs____subclasses____getinitargs____getnewargs_ex__c" fd}||_|S)Nc|g|Ri|Sr;r )rWrXrr8s r"methodz_get_method..methods#tD&4&&&2&&&r!)r)r)r8rs ` r"rrs+@'''''FO Mr!ch|]}d|zS)rr )r(rs r"r*r*s*    Hv   r!> __aexit__ __anext__ __aenter__ __aiter__>__del__rrHr __prepare__r__instancecheck____subclasscheck__c6t|Sr;)rx__hash__rs r"rMrMsV__T22r!c6t|Sr;)rx__str__rs r"rMrMsFNN400r!c6t|Sr;)rx __sizeof__rs r"rMrMsv0066r!cxt|jd|dt|S)N/)r=rrjrBrs r"rMrMs;$t**"5^^8O8O8Q8Q^^TVW[T\T\^^r!)rrr __fspath__ry?g?) __lt____gt____le____ge____int__r__len__r> __complex__ __float____bool__ __index__rcfd}|S)NcLjj}|tur|S|urdStSrG)__eq__rrNotImplemented)otherret_valrWs r"rz_get_eq..__eq__s1+0 ' ! !N 5==4r!r )rWrs` r"_get_eqrs# Mr!cfd}|S)NcRjjturtS|urdStSr|)__ne__rrr)rrWs r"rz_get_ne..__ne__s, ; ) 8 8N 5==5r!r )rWrs` r"_get_ners# Mr!cfd}|S)Ncjjj}|turtgSt|Sr;)__iter__rrrrrWs r"rz_get_iter..__iter__s1-2 g  88OG}}r!r )rWrs` r" _get_iterr s# Or!cfd}|S)Ncjj}|turtt gStt |Sr;)rrr_AsyncIteratorrrs r"rz"_get_async_iter..__aiter__s@.3 g  !$r((++ +d7mm,,,r!r )rWrs` r"_get_async_iterrs$----- r!)rrrrc&t|t}|tur ||_dSt|}|||}||_dSt |}||||_dSdSr;)_return_valuesrtrr_calculate_return_value_side_effect_methodsr)rCrr)fixedreturn_calculatorr side_effectors r"_set_return_valuer(s   tW - -E G#/33D99$((.. *(,,T22M *]400! r!ceZdZdZdZdS) MagicMixinc|tt|j|i||dSr;)_mock_set_magicsrrrHrWrXrs r"rHzMagicMixin.__init__;sN . J%%.;;;; r!c ttz}|}t|ddX||j}t }||z }|D](}|t |jvrt||)|t t |jz }t |}|D]!}t||t||"dS)Nr*) _magicsrr0 intersectionr*rzr=rsrrh MagicProxy)rW orig_magics these_magics remove_magicsrLrs r"rzMagicMixin._mock_set_magicsAs 44 " 4$ / / ;&33D4FGGLEEM',6M& ) )DJJ///D%((($c$t***=&>&>> T ! ; ;E E5*UD"9"9 : : : : ; ;r!N)rrrrHrr r!r"rr:s2   ;;;;;r!rceZdZ ddZdS)r Fc\ ||||dSr;rrr#s r"r$z"NonCallableMagicMock.mock_add_spec[8 N D(+++ r!Nrrrrr$r r!r"r r Ys+7      r!r ceZdZdZdS)AsyncMagicMixinc|tt|j|i||dSr;)rrrrHrs r"rHzAsyncMagicMixin.__init__fsN 3 OT**3T@R@@@ r!NrrrrHr r!r"rres#     r!rceZdZ ddZdS)rFc\ ||||dSr;rr#s r"r$zMagicMock.mock_add_specvrr!Nrrr r!r"rrks-       r!rc"eZdZdZdZddZdS)rc"||_||_dSr;r)r)rWr)rs r"rHzMagicProxy.__init__s  r!c|j}|j}||||}t|||t ||||S)N)r)rr)r)rr2rhr)rWrLrms r" create_mockzMagicProxy.create_mocksZ   " "/5 # 7 7q!!!&!U+++r!Nc*|Sr;)r)rWr4rs r"rzMagicProxy.__get__s!!!r!r;)rrrrHrrr r!r"rrsF""""""r!rceZdZedZedZedZfdZdZdZ dZ dZ d Z d Z dd Zd ZfdZxZS)rrrrctj|i|tjj|jd<d|jd<d|jd<t |jd<tt}tj tj ztj z|_ d|_d|_d|_d|_||jd<d |jd <t%|jd <i|jd <d|jd <dS)Nrr_mock_await_count_mock_await_args_mock_await_args_listr)rXrYr7r rrfrgrI)superrHrrrrsrr rr1 CO_COROUTINE CO_VARARGSCO_VARKEYWORDSco_flags co_argcount co_varnamesco_posonlyargcountco_kwonlyargcountro)rWrXrY code_mockr7s r"rHzAsyncMockMixin.__init__s$)&)))*1);)I o&-. )*,0 ()1: -.#X666    !$ %  !"  2 '( $&' #$- j!$/ j!(- n%*, &'+/ '(((r!c`Kt||fd}|xjdz c_||_|j||j}|t |r|t|s8 t|}n#t$rtwxYwt |r|n&t|r||i|d{V}n||i|}|tur|S|j tur|jS|j4t|jr|j|i|d{VS|j|i|S|jS)NTrr)rrrrr-rr@rlr StopIterationStopAsyncIterationrrrrr)rWrXrYrrr~s r"rz!AsyncMockMixin._execute_mock_callstVn$/// A ##E***!  V$$ 1 v&& 1-!&\\FF$----,-!((! L!$V,, 1%vt6v66666666000W$$  "' 1 1$ $   '"4#344 ?-T-t>v>>>>>>>>>#4#T4V44 4  s 1BBcV |jdkrd|jpdd}t|dS)Nr Expected rCz to have been awaited.rrrrs r"rzAsyncMockMixin.assert_awaitedsD   q Odo7OOOC %% % ! r!cf |jdks$d|jpdd|jd}t|dSNrrrCz$ to have been awaited once. Awaited rrrs r"rz"AsyncMockMixin.assert_awaited_onces\ 1$$9t8&99#/999C %% %%$r!cj j)}td|dfd}t fd}j}||kr1t |t r|nd}t||dS)NzExpected await: z Not awaitedc8d}|S)Nawait)rrrs r"rz:AsyncMockMixin.assert_awaited_with.._error_messages"33D&3QQCJr!Tr)rrrrrr.r)rWrXrYrrrrs``` r"rz"AsyncMockMixin.assert_awaited_withs  ? "77fEEH !KH!K!K!KLL L       %%eT6N&E&E&EFF##DO44 X   *8Y ? ?IHHTE !1!122 =  r!c| |jdks$d|jpdd|jd}t||j|i|Sr)rrrrrs r"rz'AsyncMockMixin.assert_awaited_once_withsl 1$$9t8&99#/999C %% %'t'8888r!c& t||fd}t|tr|nd}fdjD}|s|t |vr)||}td|z|dS)NTrc:g|]}|Sr rrs r"rsz3AsyncMockMixin.assert_any_await.. s'FFFA$$$Q''FFFr!z%s await not found)rrr.rrrrrrs` r"rzAsyncMockMixin.assert_any_await s %%eT6N&E&E&EFF&x;;EFFFF1EFFF  HL$8$888">>tVLLO $6 98r!Fc, fd|D}td|Dd}tfdjD}|sT||vrN|d}ndd|D}t |dt|dj|dSt |}g}|D]=} ||#t$r||Y:wxYw|r t t|d |dS) Nc:g|]}|Sr rrs r"rsz4AsyncMockMixin.assert_has_awaits..# rr!c3DK|]}t|t|VdSr;rrus r"rz3AsyncMockMixin.assert_has_awaits..$ rr!c3BK|]}|VdSr;rrs r"rz3AsyncMockMixin.assert_has_awaits..% s1SSt11!44SSSSSSr!zAwaits not found.z,Error processing expected awaits. Errors: {}c@g|]}t|tr|ndSr;rrus r"rsz4AsyncMockMixin.assert_has_awaits..- rr!rz Actual: z not all found in await list) rrrrrrnrrNr-ro) rWrrrr all_awaitsrrrs ` r"rz AsyncMockMixin.assert_has_awaits s :9995999FFFFFMMSSSSd>RSSSSS  z))=1GG ,-3V$7$7-5$7$7$7.8.8%66!*5!1!166#366  F*%%   ' 'D '!!$'''' ' ' '  &&&&& '   49)4D4D4D4DF   s7C  C/.C/cf |jdkr$d|jpdd|jd}t|dS)NrrrCz# to not have been awaited. Awaited rrrs r"rz!AsyncMockMixin.assert_not_awaitedC s\   q 9t8&99#/999C %% % ! r!c~ tj|i|d|_d|_t |_dSNr)rrrrrr)rWrXrYr7s r"rzAsyncMockMixin.reset_mockL sG  D+F+++({{r!r)rrrrrrrrHrrrrrrrrr __classcell__)r7s@r"rrs&&}55K%%l33J**+<==O000008&!&!&!P&&&&&&>>>$ 9 9 9   ****X&&&+++++++++r!rceZdZdS)r Nrr r!r"r r V s''r!r c"eZdZ dZdZdZdS)_ANYcdSrGr rWrs r"rz _ANY.__eq__ str!cdSr|r rs r"rz _ANY.__ne__ sur!cdS)Nzr rs r"rz _ANY.__repr__ swr!N)rrrrrrr r!r"rr sD8r!rcd|z}d}dd|D}dd|D}|r|}|r |r|dz }||z }||zS)Nz%s(%%s)r z, c,g|]}t|Sr )repr)r(rSs r"rsz*_format_call_signature.. s7773T#YY777r!c"g|] \}}|d| S)=r )r(rNrs r"rsz*_format_call_signature.. s4#-3333r!)rerP)r)rXrYrformatted_args args_string kwargs_strings r"rr s$GN))77$77788KII17M%$(  # d "N-' ^ ##r!ceZdZ ddZ ddZdZejZd Zd Z d Z d Z e d Z e dZdZdZdS)rr r NFTcd}i}t|}|dkr|\}}}n~|dkr<|\} } t| tr| }t| tr| }nD| }nA| | }}n<|dkr6|\}t|tr|}nt|tr|}n|}|rt|||fSt||||fS)Nr rr)rr.rYror) rrr)rr from_kallrXrY_lenfirstseconds r"rz _Call.__new__ s5zz 199!& D$ QYY!ME6%%% -fe,,$!DD#FF$ff QYYFE%%% E5))   6==tVn55 5}}S4v"6777r!c0||_||_||_dSr;)rr_mock_from_kall)rWrr)rrr*s r"rHz_Call.__init__ s"(r!cr t|}n#t$r tcYSwxYwd}t|dkr|\}}n|\}}}t|ddr#t|ddr|j|jkrdSd}|dkrdi}}n|dkr|\}}}n|dkr?|\} t | t r| }i}nit | tr| }di}}nMd}| }nH|dkr@|\} } t | tr!| }t | t r| i}}n d| }}n| | }}ndS|r||krdS||f||fkS) Nr rrFrr r)r)rrrr0rr.rorY) rWr len_other self_name self_args self_kwargs other_name other_args other_kwargsrr,r-s r"rz _Call.__eq__ s "E II " " "! ! ! ! " t99>>%) "I{{04 -Iy+ D.$ / / GE>SW4X4X %);;;5 >>')2 JJ !^^38 0J LL !^^FE%'' %" ! E3'' %" +-rL  $ !^^!ME6%%% 9" fe,,:/5r JJ/16 JJ+0&L 5  y005L)i-EEEs &&c|jtd||fdS|jdz}t|j||f||S)Nr r0rrrrrs r"rKz_Call.__call__ sN ? ""dF+$777 7%dotV44MMMMr!cn|jt|dS|jd|}t||dS)NF)r)r*rJ)r)rr*r9)rWrr)s r"rz_Call.__getattr__ sD ? "de444 4///440$tu====r!cb|tjvrtt||Sr;)rorsrL__getattribute__)rWrs r"r<z_Call.__getattribute__$ s+ 5> ! ! %%dD111r!cHt|dkr|\}}n|\}}}||fS)Nr)rrs r"_get_call_argumentsz_Call._get_call_arguments* s2 t99>>LD&&!% D$V|r!c6|dSrr>rs r"rXz _Call.args2 ''))!,,r!c6|dS)Nrr@rs r"rYz _Call.kwargs6 rAr!c|js%|jpd}|drd|z}|St|dkrd}|\}}n+|\}}}|sd}n |dsd|z}nd|z}t |||S)Nrr0zcall%srzcall.%s)r/rr'rr)rWr)rXrYs r"rz_Call.__repr__: s# ?,fDt$$ '$K t99>>DLD&&!% D$ '__T** ' 4'$%dD&999r!c g}|}|%|jr|||j}|%tt |Sr;)r/r-rrrd)rWvalsthings r" call_listz_Call.call_listO s\ $ # E"""&E$(((r!)r r NFT)r NNFT)rrrrrHrrxrrKrr<r>rrXrYrrGr r!r"rr s$:?8888@>C))))2F2F2Fj]FNNN>>>222 --X---X-:::* ) ) ) ) )r!r)r*c & t|rt|}t|t}t|rt d|dt |}d|i} |rd|i} n|i} | r|rd| d<|st || |t} tj |ri} nL|r|rtdt} n1t|st} n|r|rt|st} | d|}|} |d } | d||| |d | } t|t"r"t%| |} |rt'| nt)|| ||| |s | |j|<|d } |r |sd |vrt/||dd | | | _t3|D];}t5|r t7||}n#t8$rY1wxYwd|i}| r&t;| |r|||rd|i}t|t"st=||| ||}|| j|<n{| }t|t"r| j}tA|||}||d<tC|rt}nt}|d||||d|}|| j|<t)|||t|t"rtE| ||=| S)Nz'Cannot autospec a Mock object. [object=r&rrTrzJInstance can not be True when create_autospec is mocking an async functionr)r )rrrr)rrr0)rar9rrror)rr)rr)r`r )#rpr=r.r-rr9rr!rr1isdatadescriptorrr rlr rvrRrDrrrbrrtr rr,rr0rLr/rDrC _must_skiprrh)rrrarr9rrYis_type is_async_funcrCrBrrCwrappedrLr}r rr` child_klasss r"r r _ s#,*~~Dzzt$$G5 4*. 4 4 455 5"4((MtnGt$ ,8,'+#$ &f%%% NN6 E%% % %  ? >?? ? t__%$ %X%&8&>&>%$ KK & &EI 5 (W  ( (& ( (D$ &&8dD))  $ d # # #tWh7778(,u%jj!!G;x;N&$@$@+D(T2629;;;T3&3& U     tU++HH    H (#  *ww.. * MMM ) ) )  , (+F(M22 AXxuhGGC),D  & &F$ .. #"488I"+F; "8,, (' ' +(V%5*0(( &((C*-D  & Xsi @ @ @ @ c= ) ) & D% % % % Ks(G99 HHcF t|ts|t|divrdS|j}|jD]f}|j|t}|tur,t|ttfrdSt|tr|cSdS|S)NrsF) r.r=r0r7rrrsrtrrJrIrD)rrLrKrr~s r"rJrJ s dD ! ! GD*b11 1 15~  ##E733 W    f|[9 : : 55  . . NNN55 Nr!ceZdZ ddZdS)rDFNcZ||_||_||_||_||_||_dSr;)ridsrrrar))rWrrrr)rRras r"rHz_SpecState.__init__ s0       r!)FNNNFrr r!r"rDrD s.48/4r!rDc|t|trtj|Stj|Sr;)r.bytesioBytesIOStringIO) read_datas r" _to_streamrY% s4)U##&z)$$${9%%%r!r c X t}|dg fd} fd} fd fd fd}tdddl}tt t |jt t |jat2ddl}tt t |j a |tdt}tt  j _ d j_ d j_ d j_ d j_ | j_ d < d  j_| j_ j_| j_ fd }||_ |_ |S) NcZjj jjSdj|i|Sr) readlinesrrXrY_statehandles r"_readlines_side_effectz)mock_open.._readlines_side_effect; s7   ( 4#0 0"vay"D3F333r!cZjj jjSdj|i|Sr)readrr]s r"_read_side_effectz$mock_open.._read_side_effect@ s4 ; # /;+ +vay~t.v...r!c?VKEd{V dj|i|VNTr)readline)rXrY_iter_side_effectr^s r"_readline_side_effectz(mock_open.._readline_side_effectE sT$$&&&&&&&&& 6$&)$d5f55 5 5 5 6r!c3bKjj jjVdD]}|VdSre)rfr)liner^r_s r"rgz$mock_open.._iter_side_effectJ sU ? ' 3 3o2222 31I  DJJJJ  r!c^jj jjStdSr)rfrr)r^r_sr"_next_side_effectz$mock_open.._next_side_effectQ s) ? ' 3?/ /F1Ir!ropen)r)r)rrctd<jjdkrd<dj_tS)Nrr)rYrfrr)rXrYrhr^r_rXs r" reset_datazmock_open..reset_dataq sMy))q ? &&) 3 3--//F1I*0)FO 'r!)rY file_spec_iornrzr, TextIOWrapperunionrV open_specrmrrGrwriterbrfr\rrr) rCrX _read_datar`rcrlrqrorgrhr^r_s ` @@@@r"rr, s I&&J$ F444444 ////// 666666   S!23344::3s3;?O?O;P;PQQRR  S]]++,,  |f9555 I & & &F$*F! $FL#FK#'FO $(F!/FK%%''F1I"()FO#9F "3FO"3FO"DD Kr!c$eZdZ dZddZdZdS)rc tdi|S)Nr )r)rWrYs r"r2zPropertyMock._get_child_mock s""6"""r!Nc|Sr;r )rWr4obj_types r"rzPropertyMock.__get__ s tvv r!c||dSr;r )rWr4rTs r"rzPropertyMock.__set__ s S r!r;)rrrr2rrr r!r"rr~ sK###r!rc6 d|_t|D]} t||}n#t$rY wxYwt |t s:t |j|trh|j |urt|dSrG) rr,r0rLr.r rrtrDrr)rCrrs r"rr sDD   d##AA    H !_--   a&**400* = =    % % GGG  s , 99ceZdZ dZdZdS)rct||_tt}tj|_||jd<dS)Nrr7)iteratorr rr1CO_ITERABLE_COROUTINErrs)rWrrs r"rHz_AsyncIterator.__init__ s6  #X666 $: $- j!!!r!c^K t|jS#t$rYnwxYwtr;)rrrrrs r"rz_AsyncIterator.__anext__ sA  && &    D   s  %%N)rrrrHrr r!r"rr s7... !!!!!r!rr)NFNNN)FFNNr)__all__rrrUr1rr?builtinsrSrtypesrrr unittest.utilr functoolsrr threadingrrrr,r4r rrr5r9r-r@rErRrbr]rlrprvrr|rrrxrrrrMISSINGrDELETEDrErrrnrrrrr rMrHrrr>rrrrrUrZr^rraryrrdmultiplestopallr magic_methodsnumericsrerQinplaceright _non_defaultsrrr_sync_async_magics _async_magicsrr`rrrrrrrrrrrr rrrrr rrrrorrr rJrDr=rrDrprtrYrrrrr r!r"rs5  &  ''''''2222222222######$$$$$$$$CCCCCyCCC I Hcc(mm H H H   @@@222    F # # # #   &&&   6."."."b>>>6))) ) ) ) ) )f ) ) )         9;;         &********(6      6   N <N <N <N <N       :         j        D   ,""""""""$@+@+@+@+@+T@+@+@+F((((((((V     6    dff$$$$v)v)v)v)v)Ev)v)v)r uuCGO*/OOOOOd8         DD     &&&OOOOd4$0!!!!!!!!!!r!