ó
    úÞ je.  ã                   óš   • 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\5      rg)é    Né   )ÚMigrationContext)Úassert_raises)Úconfig)Úeq_)Úis_)Úis_false)Úis_not_)Úis_true)Úne_)ÚTestBasec                   óò   • \ rS rSrSrSrS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS r\R*                  R,                  S 5       r\R*                  R,                  S 5       rS rS rS rSrg)ÚMigrationTransactionTesté   TNc                 ó¢  • [         R                  R                  5       =U l        nUR	                  SS5      (       ao  [
        R                  " UR                  US9U l        [        R                  " 5       =U R                  l        U R                  R                  l        U R                  $ [
        R                  " X!S9U l        U R                  $ )NÚas_sqlF)ÚdialectÚopts)Ú
connectionr   )r   ÚdbÚconnectÚconnÚgetr   Ú	configurer   ÚcontextÚioÚStringIOÚoutput_bufferÚimpl)Úselfr   r   s      Ú`/var/www/html/gaurav/venv/lib/python3.13/site-packages/alembic/testing/suite/test_environment.pyÚ_fixtureÚ!MigrationTransactionTest._fixture   sž   € Ü!Ÿ9™9×,Ñ,Ó.Ð.ˆŒ	�Dà�8‰8�H˜e×$Ñ$Ü+×5Ò5ØŸ™¨4ñˆDŒLô —’“ðˆD�L‰LÔ&¨¯©×):Ñ):Ô)Hð �|‰|Ðô ,×5Ò5ØñˆDŒLð �|‰|Ðó    c                 ó\   • U R                   (       a  U R                   R                  5         g g )N)r   Úclose)r    s    r!   Úteardown_methodÚ(MigrationTransactionTest.teardown_method$   s   € Ø�9�9Ø�I‰I�O‰OÕð r$   c                 ó<  • U R                  SSS.5      n[        U R                  R                  5       5        UR	                  SS9n[        U R                  R                  5       5        UR                  5         [        U R                  R                  5       5        g ©NT©Útransaction_per_migrationÚtransactional_ddl©Ú_per_migration)r"   r	   r   Úin_transactionÚbegin_transactionr   Úrollback©r    r   Úproxys      r!   Útest_proxy_transaction_rollbackÚ8MigrationTransactionTest.test_proxy_transaction_rollback(   sv   € Ø—-‘-Ø*.ÀTÑJó
ˆô 	�—‘×)Ñ)Ó+Ô,Ø×)Ñ)¸Ð)Ð>ˆÜ�—	‘	×(Ñ(Ó*Ô+Ø�‰ÔÜ�—‘×)Ñ)Ó+Õ,r$   c                 óö   • U R                  SSS.5      nUR                  SS9n[        U R                  R	                  5       5        UR                  5         [        U R                  R	                  5       5        g r*   ©r"   r1   r   r   r0   Úcommitr	   r3   s      r!   Útest_proxy_transaction_commitÚ6MigrationTransactionTest.test_proxy_transaction_commit3   s`   € Ø—-‘-Ø*.ÀTÑJó
ˆð ×)Ñ)¸Ð)Ð>ˆÜ�—	‘	×(Ñ(Ó*Ô+Ø�‰ŒÜ�—‘×)Ñ)Ó+Õ,r$   c                 ó  • U R                  SSS.5      nUR                  SS9n[        U R                  R	                  5       5        U    S S S 5        [        U R                  R	                  5       5        g ! , (       d  f       N2= fr*   )r"   r1   r   r   r0   r	   r3   s      r!   Ú,test_proxy_transaction_contextmanager_commitÚEMigrationTransactionTest.test_proxy_transaction_contextmanager_commit<   sj   € Ø—-‘-Ø*.ÀTÑJó
ˆð ×)Ñ)¸Ð)Ð>ˆÜ�—	‘	×(Ñ(Ó*Ô+ÚØ÷ ä�—‘×)Ñ)Ó+Õ,÷ �Uús   Á	A7Á7
Bc                 ó  ^• U R                  SSS.5      nUR                  SS9m[        U R                  R	                  5       5        U4S jn[        [        U5        [        U R                  R	                  5       5        g )NTr+   r.   c                  óB   >• T    [        S5      e! , (       d  f       g = f)NÚhi)Ú	Exception)r4   s   €r!   ÚgoÚSMigrationTransactionTest.test_proxy_transaction_contextmanager_rollback.<locals>.goM   s   ø€ ÚÜ “oÐ%÷ •ús   „�
)r"   r1   r   r   r0   r   rB   r	   )r    r   rC   r4   s      @r!   Ú.test_proxy_transaction_contextmanager_rollbackÚGMigrationTransactionTest.test_proxy_transaction_contextmanager_rollbackF   si   ø€ Ø—-‘-Ø*.ÀTÑJó
ˆð ×)Ñ)¸Ð)Ð>ˆÜ�—	‘	×(Ñ(Ó*Ô+õ	&ô 	”i Ô$Ü�—‘×)Ñ)Ó+Õ,r$   c                 óº  • U R                  SSS.5      nUR                  SS9n[        U R                  R	                  5       5        U   [        U R                  R	                  5       5        UR                  5         [        U R                  R	                  5       5        S S S 5        [        U R                  R	                  5       5        g ! , (       d  f       N2= fr*   )r"   r1   r   r   r0   r2   r	   r3   s      r!   Ú7test_proxy_transaction_contextmanager_explicit_rollbackÚPMigrationTransactionTest.test_proxy_transaction_contextmanager_explicit_rollbackT   s�   € Ø—-‘-Ø*.ÀTÑJó
ˆð ×)Ñ)¸Ð)Ð>ˆÜ�—	‘	×(Ñ(Ó*Ô+âÜ�D—I‘I×,Ñ,Ó.Ô/Ø�N‰NÔÜ�T—Y‘Y×-Ñ-Ó/Ô0÷ ô
 	�—‘×)Ñ)Ó+Õ,÷ �Uúó   Á	ACÃ
Cc                 óº  • U R                  SSS.5      nUR                  SS9n[        U R                  R	                  5       5        U   [        U R                  R	                  5       5        UR                  5         [        U R                  R	                  5       5        S S S 5        [        U R                  R	                  5       5        g ! , (       d  f       N2= fr*   r8   r3   s      r!   Ú5test_proxy_transaction_contextmanager_explicit_commitÚNMigrationTransactionTest.test_proxy_transaction_contextmanager_explicit_commitb   sœ   € Ø—-‘-Ø*.ÀTÑJó
ˆð ×)Ñ)¸Ð)Ð>ˆÜ�—	‘	×(Ñ(Ó*Ô+âÜ�D—I‘I×,Ñ,Ó.Ô/Ø�L‰LŒNÜ�T—Y‘Y×-Ñ-Ó/Ô0÷ ô
 	�—‘×)Ñ)Ó+Õ,÷ �UúrJ   c                 ó0  • U R                  SSS.5      n[        U R                  R                  5       5        UR	                  5          [        U R                  R                  5       5        UR	                  SS9   [        U R                  R                  5       5        S S S 5        [        U R                  R                  5       5        S S S 5        [        U R                  R                  5       5        g ! , (       d  f       N]= f! , (       d  f       NC= fr*   ©r"   r	   r   r0   r1   r   ©r    r   s     r!   Ú0test_transaction_per_migration_transactional_ddlÚIMigrationTransactionTest.test_transaction_per_migration_transactional_ddlp   sÂ   € Ø—-‘-Ø*.ÀTÑJó
ˆô 	�—‘×)Ñ)Ó+Ô,à×&Ñ&Õ(Ü�T—Y‘Y×-Ñ-Ó/Ô0Ø×*Ñ*¸$Ð*Ò?Ü˜Ÿ	™	×0Ñ0Ó2Ô3÷ @ô �T—Y‘Y×-Ñ-Ó/Ô0÷ )ô 	�—‘×)Ñ)Ó+Õ,÷	 @Õ?ú÷ )Õ(úó$   Á3DÁ;$C6Â+DÃ6
D	Ä DÄ
Dc                 ó0  • U R                  SSS.5      n[        U R                  R                  5       5        UR	                  5          [        U R                  R                  5       5        UR	                  SS9   [        U R                  R                  5       5        S S S 5        [        U R                  R                  5       5        S S S 5        [        U R                  R                  5       5        g ! , (       d  f       N]= f! , (       d  f       NC= f)NTFr+   r.   rO   rP   s     r!   Ú4test_transaction_per_migration_non_transactional_ddlÚMMigrationTransactionTest.test_transaction_per_migration_non_transactional_ddl   sÂ   € Ø—-‘-Ø*.ÀUÑKó
ˆô 	�—‘×)Ñ)Ó+Ô,à×&Ñ&Õ(Ü�T—Y‘Y×-Ñ-Ó/Ô0Ø×*Ñ*¸$Ð*Ò?Ü˜Ÿ	™	×0Ñ0Ó2Ô3÷ @ô �T—Y‘Y×-Ñ-Ó/Ô0÷ )ô 	�—‘×)Ñ)Ó+Õ,÷	 @Õ?ú÷ )Õ(úrS   c                 ó.  • U R                  SS05      n[        U R                  R                  5       5        UR	                  5          [        U R                  R                  5       5        UR	                  SS9   [        U R                  R                  5       5        S S S 5        [        U R                  R                  5       5        S S S 5        [        U R                  R                  5       5        g ! , (       d  f       N]= f! , (       d  f       NC= f)Nr-   Tr.   rO   rP   s     r!   Ú*test_transaction_per_all_transactional_ddlÚCMigrationTransactionTest.test_transaction_per_all_transactional_ddlŽ   s¾   € Ø—-‘-Ð!4°dÐ ;Ó<ˆä�—‘×)Ñ)Ó+Ô,à×&Ñ&Õ(Ü�D—I‘I×,Ñ,Ó.Ô/Ø×*Ñ*¸$Ð*Ò?Ü˜Ÿ	™	×0Ñ0Ó2Ô3÷ @ô �D—I‘I×,Ñ,Ó.Ô/÷ )ô 	�—‘×)Ñ)Ó+Õ,÷	 @Õ?ú÷ )Õ(úó$   Á3DÁ:$C5Â+DÃ5
D	Ã?DÄ
Dc                 ó.  • U R                  SS05      n[        U R                  R                  5       5        UR	                  5          [        U R                  R                  5       5        UR	                  SS9   [        U R                  R                  5       5        S S S 5        [        U R                  R                  5       5        S S S 5        [        U R                  R                  5       5        g ! , (       d  f       N]= f! , (       d  f       NC= f)Nr-   FTr.   rO   rP   s     r!   Ú.test_transaction_per_all_non_transactional_ddlÚGMigrationTransactionTest.test_transaction_per_all_non_transactional_ddl›   s¾   € Ø—-‘-Ð!4°eÐ <Ó=ˆä�—‘×)Ñ)Ó+Ô,à×&Ñ&Õ(Ü�T—Y‘Y×-Ñ-Ó/Ô0Ø×*Ñ*¸$Ð*Ò?Ü˜Ÿ	™	×0Ñ0Ó2Ô3÷ @ô �T—Y‘Y×-Ñ-Ó/Ô0÷ )ô 	�—‘×)Ñ)Ó+Õ,÷	 @Õ?ú÷ )Õ(úrZ   c           	      ó
  • U R                  SS05      nUR                  S5        UR                  5          UR                  S5        UR                  SS9   UR                  S5        S S S 5        UR                  S5        S S S 5        UR                  S5        UR                  R                  (       a  U R                  SS	SSSS
S5        g U R                  SSSSS5        g ! , (       d  f       N�= f! , (       d  f       Ny= f)Nr   Tústep 1ústep 2r.   ústep 3ústep 4ústep 5ÚBEGINÚCOMMIT©r"   Úexecuter1   r   r-   Ú_assert_impl_stepsrP   s     r!   Ú test_transaction_per_all_sqlmodeÚ9MigrationTransactionTest.test_transaction_per_all_sqlmode¨   sÛ   € Ø—-‘- ¨4Ð 0Ó1ˆà�‰˜Ô!Ø×&Ñ&Õ(Ø�O‰O˜HÔ%Ø×*Ñ*¸$Ð*Ò?Ø—‘ Ô)÷ @ð �O‰O˜HÔ%÷ )ð 	�‰˜Ô!à�<‰<×)×)Ø×#Ñ#ØØØØØØØõð ×#Ñ#Ø˜( H¨h¸õ÷# @Õ?ú÷ )Õ(ús#   µ!C4ÁC#Á(C4Ã#
C1	Ã-C4Ã4
Dc           	      ó  • U R                  SSS.5      nUR                  S5        UR                  5          UR                  S5        UR                  SS9   UR                  S5        S S S 5        UR                  S5        S S S 5        UR                  S5        UR                  R                  (       a  U R                  SSS	SS
SS5        g U R                  SSSSS5        g ! , (       d  f       N�= f! , (       d  f       Ny= f)NT)r   r,   r_   r`   r.   ra   rb   rc   rd   re   rf   rP   s     r!   Ú&test_transaction_per_migration_sqlmodeÚ?MigrationTransactionTest.test_transaction_per_migration_sqlmodeÃ   sà   € Ø—-‘-Ø¸$Ñ?ó
ˆð 	�‰˜Ô!Ø×&Ñ&Õ(Ø�O‰O˜HÔ%Ø×*Ñ*¸$Ð*Ò?Ø—‘ Ô)÷ @ð �O‰O˜HÔ%÷ )ð 	�‰˜Ô!à�<‰<×)×)Ø×#Ñ#ØØØØØØØõð ×#Ñ#Ø˜( H¨h¸õ÷# @Õ?ú÷ )Õ(ús#   ¶!C5ÁC$Á)C5Ã$
C2	Ã.C5Ã5
Dc                 óX  • U R                  SS05      n[        U R                  R                  5       5        UR	                  5          [        U R                  R                  5       5        UR	                  SS9   [        U R                  R                  5       5        UR                  5          U R                  (       a!  [        UR                  U R                  5        OC[        UR                  U R                  5        [        U R                  R                  5       5        [        UR                  R                  S   S5        S S S 5        [        UR                  R                  R                  SS 5      S5        [        U R                  R                  5       5        S S S 5        [        U R                  R                  5       5        S S S 5        [        U R                  R                  5       5        g ! , (       d  f       N¸= f! , (       d  f       Nn= f! , (       d  f       NT= f)Nr,   Tr.   Úisolation_levelÚ
AUTOCOMMIT)r"   r	   r   r0   r1   r   Úautocommit_blockÚis_sqlalchemy_futurer   r   r
   r   Ú_execution_optionsr   r   rP   s     r!   Útest_autocommit_blockÚ.MigrationTransactionTest.test_autocommit_blockà   sŠ  € à—-‘-Ð!<¸dÐ CÓDˆä�—‘×)Ñ)Ó+Ô,à×&Ñ&Õ(Ü�T—Y‘Y×-Ñ-Ó/Ô0Ø×*Ñ*¸$Ð*Ò?Ü˜Ÿ	™	×0Ñ0Ó2Ô3à×-Ñ-Õ/ð
 ×0×0Ü˜G×.Ñ.°·	±	Õ:ä × 2Ñ 2°D·I±IÔ>Ü  §¡×!9Ñ!9Ó!;Ô<äØ×*Ñ*×=Ñ=Ø-ñð %ô	÷ 0ô$ Ø×&Ñ&×9Ñ9×=Ñ=Ø)¨4óð !ô	ô ˜Ÿ	™	×0Ñ0Ó2Ô3÷7 @ô: �T—Y‘Y×-Ñ-Ó/Ô0÷? )ô@ 	�—‘×)Ñ)Ó+Õ,÷7 0Õ/ú÷ @Õ?ú÷ )Õ(ús>   Á3HÁ:4H
Â.BG9ÅAH
Æ"+HÇ9
HÈH
È

H	ÈHÈ
H)c                 óà  • U R                  SS05      n[        U R                  R                  5       5        UR	                  5          [        UR                  R                  5       5        U R                  (       a!  [        UR                  U R                  5        OC[        UR                  U R                  5        [        U R                  R                  5       5        [        UR                  R                  S   S5        S S S 5        [        UR                  R                  R                  SS 5      S5        [        U R                  R                  5       5        g ! , (       d  f       Nb= f)Nr,   Tro   rp   )r"   r	   r   r0   rq   r   r   rr   r   r
   r   rs   r   r   rP   s     r!   Ú$test_autocommit_block_no_transactionÚ=MigrationTransactionTest.test_autocommit_block_no_transaction  s  € à—-‘-Ð!<¸dÐ CÓDˆä�—‘×)Ñ)Ó+Ô,à×%Ñ%Õ'Ü�G×&Ñ&×5Ñ5Ó7Ô8ð
 ×(×(Ü�G×&Ñ&¨¯	©	Õ2ä˜×*Ñ*¨D¯I©IÔ6Ü˜Ÿ™×1Ñ1Ó3Ô4äØ×"Ñ"×5Ñ5Ð6GÑHØô÷ (ô" 	Ø×Ñ×1Ñ1×5Ñ5Ð6GÈÓNØô	
ô
 	�—‘×)Ñ)Ó+Õ,÷- (Õ'ús   ÁB<EÅ
E-c                 ó  • U R                  SSSS.5      nUR                  5          UR                  S5        UR                  SS9   UR                  S5        UR                  5          UR                  S5        S S S 5        UR                  S5        S S S 5        UR                  S5        S S S 5        U R	                  SS	SS
SS	SS
S5	        g ! , (       d  f       NZ= f! , (       d  f       NR= f! , (       d  f       NJ= f)NT©r,   r-   r   r_   r.   r`   ra   rb   rc   rd   re   ©r"   r1   rg   rq   rh   rP   s     r!   Ú/test_autocommit_block_transactional_ddl_sqlmodeÚHMigrationTransactionTest.test_autocommit_block_transactional_ddl_sqlmode&  sà   € Ø—-‘-à-1Ø%)Øñó
ˆð ×&Ñ&Õ(Ø�O‰O˜HÔ%Ø×*Ñ*¸$Ð*Ò?Ø—‘ Ô)à×-Ñ-Õ/Ø—O‘O HÔ-÷ 0ð —‘ Ô)÷ @ð �O‰O˜HÔ%÷ )ð 	×ÑØØØØØØØØØõ
	
÷ 0Õ/ú÷ @Õ?ú÷ )Õ(ús;   ¦!C1Á"C Á)CÁ;C ÂC1Ã
CÃC Ã 
C.	Ã*C1Ã1
C?c                 óü  • U R                  SSSS.5      nUR                  5          UR                  S5        UR                  SS9   UR                  S5        UR                  5          UR                  S5        S S S 5        UR                  S5        S S S 5        UR                  S	5        S S S 5        U R	                  SSSSS	5        g ! , (       d  f       NV= f! , (       d  f       NN= f! , (       d  f       NF= f)
NTFrz   r_   r.   r`   ra   rb   rc   r{   rP   s     r!   Ú2test_autocommit_block_nontransactional_ddl_sqlmodeÚKMigrationTransactionTest.test_autocommit_block_nontransactional_ddl_sqlmodeG  sÐ   € Ø—-‘-à-1Ø%*Øñó
ˆð ×&Ñ&Õ(Ø�O‰O˜HÔ%Ø×*Ñ*¸$Ð*Ò?Ø—‘ Ô)à×-Ñ-Õ/Ø—O‘O HÔ-÷ 0ð —‘ Ô)÷ @ð �O‰O˜HÔ%÷ )ð 	×ÑØ�h ¨(°Hõ	
÷ 0Õ/ú÷ @Õ?ú÷ )Õ(ús;   ¦!C-Á"CÁ)CÁ;CÂC-Ã
CÃCÃ
C*	Ã&C-Ã-
C;c                 óê  • U R                   R                  R                  5       n[        R                  " 5       =U R                   R
                  l        nU H€  nUS:X  a&  U R                   R
                  R                  5         M/  US:X  a&  U R                   R
                  R                  5         M[  U R                   R
                  R                  U5        M‚     [        X#R                  5       5        g )Nrd   re   )
r   r   Úgetvaluer   r   r   Ú
emit_beginÚemit_commitÚ_execr   )r    ÚstepsÚto_checkÚbufÚsteps        r!   rh   Ú+MigrationTransactionTest._assert_impl_steps`  s¤   € Ø—<‘<×-Ñ-×6Ñ6Ó8ˆä02·²³Ð=ˆ�‰×ÑÔ'¨#ÛˆDØ�w‹Ø—‘×!Ñ!×,Ñ,Ö.Ø˜Ó!Ø—‘×!Ñ!×-Ñ-Ö/à—‘×!Ñ!×'Ñ'¨Ö-ñ ô 	ˆH—l‘l“nÕ%r$   )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__backend__r   r"   r'   r5   r:   r=   rE   rH   rL   rQ   rU   rX   r\   ri   rl   r   ÚrequirementsÚautocommit_isolationrt   rw   r|   r   rh   Ú__static_attributes__© r$   r!   r   r      s£   † Ø€Kà€Dòò ò	-ò-ò-ò-ò-ò-ò-ò-ò-ò-òò6ð: ×Ñ×-Ñ-ñ%-ó .ð%-ðN ×Ñ×-Ñ-ñ-ó .ð-ò:
òB
õ2&r$   r   )r   Ú	migrationr   Útestingr   r   r   r   r	   r
   r   r   Útesting.fixturesr   r   r“   r$   r!   Ú<module>r—      s4   ðÛ 	å )Ý $Ý Ý Ý Ý Ý Ý Ý Ý (ô]&˜xõ ]&r$   