ó
    øÞ j2  ã                  ó   • S SK Jr  S SKJr  S SKJr  S SKrSSKJr  SSKJ	r	  SSKJ
r
  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  \	R.                  " 5        " S S5      5       rSq " S S5      rg)é    )Úannotations)ÚCallable)ÚSequenceNé   )Ú
assertions)Úconfig)Úeq_)Údrop_all_tables_from_metadata)Úpicklersé   )ÚColumn)Úfunc)ÚInteger)Úselect)ÚTable)ÚDeclarativeBase)ÚMappedAsDataclass©Úregistryc                  óx  • \ rS rSr% SrS\S'   SrS\S'   SrS\S'   SrS	\S
'   Sr	S\S'   S\S'   S"S jr
\R                  " 5       S 5       r\R                  " 5       S 5       r\R                  " 5       S 5       r\R                  " 5       S 5       r\R                  " 5       S 5       r\R                  S 5       r\R                  S 5       r\R                  " 5       S 5       r\R                  " 5       S 5       r\R                  " 5       S 5       r\R                  " 5       S 5       r\R                  " \" 5       S9S 5       r\R                  " 5       S 5       r\R                  " 5       S 5       r\R                  " S V VVVs/ sH  nS  H  nS H  nXU4PM	     M     M     snnnn S9S! 5       rSrgs  snnnn f )#ÚTestBaseé   © ztuple[str, ...]Ú__requires__Ú__unsupported_on__Nztuple[str, ...] | str | NoneÚ__only_on__z#Sequence[Callable[[], bool]] | NoneÚ__skip_if__FÚboolÚ"__leave_connections_for_teardown__Ú__backend__c                ó    • U(       d   U5       eg ©Nr   )ÚselfÚvalÚmsgs      ÚZ/var/www/html/gaurav/venv/lib/python3.13/site-packages/sqlalchemy/testing/fixtures/base.pyÚassert_ÚTestBase.assert_6   s   € Þˆ�C‹‰só    c              #  óœ   #   • [         R                  R                  nS [         R                  l        S v •  U[         R                  l        g 7fr"   )r   ÚdbÚ_compiled_cache)r#   Ú_caches     r&   ÚnocacheÚTestBase.nocache9   s/   é € ä—‘×*Ñ*ˆØ$(Œ�	‰	Ô!ÛØ$*Œ�	‰	Õ!ùs   ‚A
Ac              #  ó°   #   • [        U SS 5      =(       d    [        R                  nUR                  5        nUv •  S S S 5        g ! , (       d  f       g = f7f©NÚbind)Úgetattrr   r+   Úconnect)r#   ÚengÚconns      r&   Úconnection_no_transÚTestBase.connection_no_trans@   s5   é € ä�d˜F DÓ)×6¬V¯Y©Yˆà�[‰[Œ]˜dØŠJ÷ �]Ž]üs   ‚5A·A¼	AÁ
AÁAc              #  ó  #   • [        U SS 5      =(       d    [        R                  nUR                  5       nUR	                  5       nUqUv •  S qUR                  (       a  UR                  5         UR                  5         g 7fr1   )	r3   r   r+   r4   ÚbeginÚ_connection_fixture_connectionÚ	is_activeÚrollbackÚclose)r#   r5   r6   Útranss       r&   Ú
connectionÚTestBase.connectionG   sa   é € ô �d˜F DÓ)×6¬V¯Y©Yˆà�{‰{‹}ˆØ—
‘
“ˆà)-Ð&ØŠ
à)-Ð&à�?�?Ø�N‰NÔð 	�
‰
�ùs   ‚A?Bc              #  óº   ^^#   • / m/ mSUU4S jjnUv •  T H  n UR                  5         M     T H  n UR                  5         M     g !    M8  = f!    M&  = f7f)Nc                óZ   >• TR                  U 5        U(       a  TR                  U 5        g g r"   )Úappend)ÚresultÚconsumeÚto_closeÚ
to_consumes     €€r&   ÚgoÚ/TestBase.close_result_when_finished.<locals>.goa   s%   ø€ Ø�O‰O˜FÔ#ÞØ×!Ñ! &Õ)ð r)   )F)Úallr>   )r#   rI   ÚrrG   rH   s      @@r&   Úclose_result_when_finishedÚ#TestBase.close_result_when_finished\   se   ùé € àˆØˆ
÷	*ð 	*ð
 ŠÛˆAðØ—‘–ñ ó
 ˆAðØ—‘–	ò øðÚûðÚüs2   „AœA¬	A¶AÁAÁAÁAÁAÁAc           
   #  óÆ   #   • [        U[        [        R                  " 5       R	                  [        R                  " S5      SSS5      0S9nUv •  UR                  5         g 7f)Né2   ÚmysqlÚmariadbÚoracle)ÚmetadataÚtype_annotation_map)r   ÚstrÚsaÚStringÚwith_variantÚdispose)r#   rT   Úregs      r&   r   ÚTestBase.registryr   sN   é € äØä”R—Y’Y“[×-Ñ-Ü—I’I˜b“M 7¨I°xóð!ñ
ˆð Š	Ø�‰�ùs   ‚AA!c              #  ór   ^#   • Um " U4S jS[         5      nUv •  UR                  R                  5         g 7f)Nc                  ó†   >• \ rS rSr Y r\\R                  " 5       R                  \R                  " S5      SSS5      0r	Sr
g)Ú TestBase.decl_base.<locals>.Baseéƒ   rP   rQ   rR   rS   r   N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rT   rV   rW   rX   rY   rU   Ú__static_attributes__©Ú_mds   €r&   ÚBaser_   ƒ   s7   ø† ÙˆHà�R—Y’Y“[×-Ñ-Ø—I’I˜b“M 7¨I°xóð#Ór)   ri   )r   r   rZ   ©r#   rT   ri   rh   s      @r&   Ú	decl_baseÚTestBase.decl_base   s.   øé € àˆ÷	”?ô 	ð Š
Ø�‰×ÑÕùs   ƒ47c              #  ó|   ^#   • Um " U4S jS[         [        5      nUv •  UR                  R                  5         g 7f)Nc                  ó„   >• \ rS rSr Y r\\R                  " 5       R                  \R                  " S5      SS5      0r	Sr
g)Ú#TestBase.dc_decl_base.<locals>.Baseé’   rP   rQ   rR   r   Nra   rg   s   €r&   ri   ro   ’   s5   ø† ÙˆHà�R—Y’Y“[×-Ñ-Ø—I’I˜b“M 7¨Ióð#Ór)   ri   )r   r   r   rZ   rj   s      @r&   Údc_decl_baseÚTestBase.dc_decl_baseŽ   s1   øé € àˆ÷	Ô$¤oô 	ð Š
Ø�‰×ÑÕùs   ƒ9<c              #  ó   #   • Uv •  g 7fr"   r   )r#   Úfuture_enginer@   s      r&   Úfuture_connectionÚTestBase.future_connection�   s   é € ð
 Óùó   ‚c              #  ó   #   • S v •  g 7fr"   r   )r#   s    r&   rt   ÚTestBase.future_engine¤   s   é € äùrw   c              #  ón   ^#   • SSK Jm     SU4S jjnUv •  TR                  R                  S5        g 7f)Nr   )Úenginesc                ó:   >• Uc  0 nSUS'   TR                  U UUS9$ )NÚfixtureÚscope)ÚurlÚoptionsÚasyncio)Útesting_engine)r   r€   r�   r{   s      €r&   Úgen_testing_engineÚ3TestBase.testing_engine.<locals>.gen_testing_engine¬   s:   ø€ ð
 ‰Ø�Ø(ˆG�GÑØ×)Ñ)ØØØð *ð ð r)   r}   )NNF)Ú r{   Útesting_reaperÚ_drop_testing_engines)r#   rƒ   r{   s     @r&   r‚   ÚTestBase.testing_engine¨   s5   øé € åð ØØ÷	ð !Ò à×Ñ×4Ñ4°YÕ?ùs   ƒ25c                ó   ^• U4S jnU$ )Nc                 ó   >• SU S'   T" S0 U D6$ )NTr�   r   r   )Úkwr‚   s    €r&   rI   Ú)TestBase.async_testing_engine.<locals>.goÀ   s   ø€ Ø ˆBˆy‰MÙ!Ñ' BÑ'Ð'r)   r   )r#   r‚   rI   s    ` r&   Úasync_testing_engineÚTestBase.async_testing_engine¾   s   ø€ õ	(ð ˆ	r)   )Úparamsc              #  ó(   #   • UR                   v •  g 7fr"   )Úparam)r#   Úrequests     r&   r   ÚTestBase.picklersÆ   s   é € à�m‰mÓùs   ‚c              #  óº  #   • SSK Jn  UR                  5       nX1R                  l        Uv •  UR                  ?[
        (       ak  [
        R                  5       (       aR  [
        R                  5       nUR                  5         [
        R                  5          [        U[
        5        SSS5        g[        U[        R                  5        g! , (       d  f       g= f7f)z>Provide bound MetaData for a single test, dropping afterwards.r   )ÚschemaN)Úsqlr•   ÚMetaDataÚinstancerT   r;   Úin_transactionÚget_transactionr=   r:   r
   r   r+   )r#   r’   r•   rT   r?   s        r&   rT   ÚTestBase.metadataÊ   sœ   é € õ 	"à—?‘?Ó$ˆØ$,×ÑÔ!ØŠØ×ÑÐ%÷ +Ò*Ü.×=Ñ=×?Ñ?ä2×BÑBÓDˆEØ�N‰NÔÜ/×5Ñ5Õ7Ü-ØÔ<ô÷ 8Ð7ô
 *¨(´F·I±IÕ>÷ 8Õ7üs   ‚BCÂC
Â&$CÃ

CÃCc              #  óZ   ^^#   • SSK Jm  S mUU4S jnUv •  Tc   eTR                  T	 g 7f)Nr   r   c                óZ   >• U R                   mT(       d   S5       eU TR                  T'   U $ )Nzname is required)ÚnameÚimpls)Údialect_clsrž   r   s    €€r&   rI   Ú'TestBase.thirdparty_dialect.<locals>.goè   s0   ø€ à×#Ñ#ˆDÞÐ+Ð+Ó+�4Ø#.ˆH�N‰N˜4Ñ ØÐr)   )Údialectsr   rŸ   )r#   rI   rž   r   s     @@r&   Úthirdparty_dialectÚTestBase.thirdparty_dialectâ   s2   ùé € å(àˆö	ð ŠàÑÐÐØ�N‰N˜4Ñ ùs   „'+)TF)ÚnoneÚexecuter:   c                óà   ^^^^• UR                   u  mmm[        SU[        S[        5      5      m[	        U SS 5      =(       d    [
        R                  nTR                  U5        UUUU4S jnU$ )NÚtestÚdatar2   c           	     ó¨	  >• U R                  5        nT(       Gaô  [        R                  R                  R                  (       d  [        R
                  " S5        U(       a  U R                  5       nOUR                  5       nU   U(       a#  U R                  T
R                  5       SS05        O"UR                  T
R                  5       SS05        T(       a  UR                  5         OUR                  5         T	S:w  a¹  [        R                  " [        R                  R                  S5         T	S:X  aM  U(       a#  U R                  T
R                  5       SS05        OQUR                  T
R                  5       SS05        O.T	S:X  a(  U(       a  U R                  5         OUR                  5         S S S 5        S S S 5        U(       a$  U R                  T
R                  5       SS	05        GOÀUR                  T
R                  5       SS	05        GOœU(       a#  U R                  T
R                  5       SS05        O"UR                  T
R                  5       SS05        U(       a)  T(       a  U R                  5         O9U R                  5         O(T(       a  UR                  5         OUR                  5         T	S:w  aò  [        R                  " [        R                  R                  S5         T	S:X  aM  U(       a#  U R                  T
R                  5       SS05        OŠUR                  T
R                  5       SS05        OgT	S:X  a3  [!        US5      (       a  UR                  5         O?U R                  5         O.T	S
:X  a(  U(       a  U R                  5         OUR                  5         S S S 5        S S S 5        SnT(       a  US-  nT(       d  US-  nU(       aG  [#        U R%                  ['        [(        R*                  " 5       5      R-                  T
5      5      U5        g U R/                  5        n[#        UR%                  ['        [(        R*                  " 5       5      R-                  T
5      5      U5        S S S 5        g ! , (       d  f       GNÒ= f! , (       d  f       GNÜ= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       g = f)Nzsavepoints not enabledr©   é
   r¥   z‚Can't operate on closed transaction inside context manager.  Please complete the context manager before emitting further commands.r¦   é   r:   é   Úbegin_nestedr   é   )r:   r   ÚrequirementsÚ
savepointsÚenabledÚ	skip_testr®   r¦   Úinsertr=   Úcommitr   Úexpect_raises_messagerW   ÚexcÚInvalidRequestErrorÚhasattrr	   Úscalarr   r   ÚcountÚselect_fromr4   )ÚsubjectÚtrans_on_subjectÚexecute_on_subjectr?   Únested_transÚexpected_committedr6   r®   r=   Úsecond_operationÚts          €€€€r&   Úrun_testÚ4TestBase.trans_ctx_manager_fixture.<locals>.run_test  sf  ø€ Ø—‘” EßÜ!×.Ñ.×9Ñ9×A×AÜ×(Ò(Ð)AÔBÞ)Ø'.×';Ñ';Ó'=™à',×'9Ñ'9Ó';˜â%Þ-Ø#ŸO™O¨A¯H©H«J¸À¸ÕEà!ŸM™M¨!¯(©(«*°v¸r°lÔCö $Ø(×1Ñ1Õ3à(×/Ñ/Ô1à+¨vÓ5Ü!+×!AÒ!AÜ "§¡× :Ñ :ð!Dõ"ð $4°yÓ#@Þ'9Ø(/¯©Ø,-¯H©H«J¸À¸õ)*ð ).¯©°a·h±h³jÀ6È2À,Õ(OØ%5¸Ó%@Þ'9Ø(/×(<Ñ(<Õ(>à(-×(:Ñ(:Ô(<÷'"÷# &öR *ØŸ™¨¯©«
°V¸R°LÖAàŸ™ a§h¡h£j°6¸2°,Ö?ö *ØŸ™¨¯©«
°V¸R°LÕAàŸ™ a§h¡h£j°6¸2°,Ô?æ'Þ#Ø#×,Ñ,Õ.à#ŸN™NÕ,æ#Ø!ŸN™NÕ,à!ŸL™LœNà'¨6Ó1Ü'×=Ò=ÜŸF™F×6Ñ6ð@õð  0°9Ó<Þ#5Ø$+§O¡O°A·H±H³JÀÈÀÕ$Mà$)§M¡M°!·(±(³*¸vÀr¸lÕ$KØ!1°WÓ!<Ü#*¨5°'×#:Ñ#:Ø$)§K¡K¥Mà$+§M¡M¥OØ!1°^Ó!CÞ#5Ø$+×$8Ñ$8Õ$:à$)×$6Ñ$6Ô$8÷+÷S !ð@ "#ÐÞð # aÑ'Ð"Þð # aÑ'Ð"æ!ÜØ—N‘N¤6¬$¯*ª*«,Ó#7×#CÑ#CÀAÓ#FÓGØ&õð
 —_‘_Ô&¨$ÜØŸ™¤F¬4¯:ª:«<Ó$8×$DÑ$DÀQÓ$GÓHØ*ô÷ 'Ð&÷m"ö "ú÷# &žú÷@ö ú÷S !–ú÷` 'Õ&úse   ’A2R1ÂB*RÄ.BQ;Æ0RÆ8D0R1Ë(B;RÎ#R1Ð+ASÑ;
R
ÒRÒ
R	ÒR1Ò
R.	Ò)R1Ò1
S Ó
S)r‘   r   r   r   r3   r   r+   Úcreate)	r#   r’   rT   r5   rÄ   r®   r=   rÂ   rÃ   s	        @@@@r&   Útrans_ctx_manager_fixtureÚ"TestBase.trans_ctx_manager_fixtureô   sa   û€ ð 4;·=±=Ñ0ˆÐ" Lä�&˜(¤F¨6´7Ó$;Ó<ˆÜ�d˜F DÓ)×6¬V¯Y©Yˆà	�‰�Œ÷u	ð u	ðn ˆr)   r"   )rb   rc   rd   re   r   Ú__annotations__r   r   r   r   r'   r   r}   r.   r7   r@   rM   r   rk   rq   ru   rt   r‚   r�   r   rT   r£   rÇ   rf   )Ú.0r=   rÂ   r®   s   0000r&   r   r      s,  ‡ ð %'€L�/Ó&ð +-Ð˜Ó,ð 15€KÐ-Ó4ð 8<€KÐ4Ó;ð
 05Ð&¨Ó4àÓôð ‡^‚^Óñ+ó ð+ð ‡^‚^Óñó ðð ‡^‚^Óñó ðð( ‡^‚^Óñó ðð* ‡^‚^Óñ
ó ð
ð ‡^�^ñ ó ð ð ‡^�^ñ ó ð ð ‡^‚^Óñó ðð ‡^‚^Óñó ðð ‡^‚^Óñ@ó ð@ð* ‡^‚^Óñó ðð ‡^‚^™8›:Ñ&ñó 'ðð ‡^‚^Óñ?ó ð?ð. ‡^‚^Óñ!ó ð!ð" ‡^‚^ñ *ö
á)�Û$@Ð ó!�ð ¨Ó6ñ!ñ 7á$@ñ 7Ù)ô
ñ
ñó
óùõ
s   ÆF4r   c                  ó   • \ rS rSrSrSrg)ÚFutureEngineMixini„  z alembic's suite still using thisr   N)rb   rc   rd   re   Ú__doc__rf   r   r)   r&   rÌ   rÌ   „  s   † Ü*r)   rÌ   )Ú
__future__r   Úcollections.abcr   r   Ú
sqlalchemyrW   r…   r   r   r	   Úutilr
   r   r   r   r   r   r   Úormr   r   r   Úmark_base_test_classr   r;   rÌ   r   r)   r&   Ú<module>rÔ      sr   ðõ #å $Ý $ã Ý Ý Ý Ý 0Ý Ý Ý Ý Ý Ý Ý "Ý $Ý ð ×ÒÓ÷^ð ^ó ð^ðB "&Ð ÷+ò +r)   