
    ge.                         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      n/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/alembic/testing/suite/test_environment.py_fixture!MigrationTransactionTest._fixture   s    !99,,..	D88He$$+554DL DLL&):):)H || ,55DL ||    c                 \    U R                   (       a  U R                   R                  5         g g )N)r   close)r    s    r!   teardown_method(MigrationTransactionTest.teardown_method$   s    99IIOO 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_rollback8MigrationTransactionTest.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_commit6MigrationTransactionTest.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_commitEMigrationTransactionTest.test_proxy_transaction_contextmanager_commit<   sj    --*.TJ
 )))>		((*+ ))+, Us   	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!   goSMigrationTransactionTest.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_rollbackGMigrationTransactionTest.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_rollbackPMigrationTransactionTest.test_proxy_transaction_contextmanager_explicit_rollbackT   s    --*.TJ
 )))>		((*+DII,,./NNTYY--/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_commitNMigrationTransactionTest.test_proxy_transaction_contextmanager_explicit_commitb   s    --*.TJ
 )))>		((*+DII,,./LLNTYY--/0 
 	))+, UrJ   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_ddlIMigrationTransactionTest.test_transaction_per_migration_transactional_ddlp   s    --*.TJ
 	))+,&&(TYY--/0**$*?		0023 @ TYY--/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_ddlMMigrationTransactionTest.test_transaction_per_migration_non_transactional_ddl   s    --*.UK
 	))+,&&(TYY--/0**$*?		0023 @ TYY--/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_ddlCMigrationTransactionTest.test_transaction_per_all_transactional_ddl   s    --!4d ;<))+,&&(DII,,./**$*?		0023 @ DII,,./ ) 	))+,	 @? )($   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_ddlGMigrationTransactionTest.test_transaction_per_all_non_transactional_ddl   s    --!4e <=))+,&&(TYY--/0**$*?		0023 @ TYY--/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_sqlmode9MigrationTransactionTest.test_transaction_per_all_sqlmode   s    --4 01!&&(OOH%**$*?) @ OOH% ) 	!<<))## ##(Hh# @? )(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    --$?
 	!&&(OOH%**$*?) @ OOH% ) 	!<<))## ##(Hh# @? )(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))+,&&(TYY--/0**$*?		0023--/
 00G..		: 2 2DII> !9!9!;<**==- %	 0$ &&99==)4 !	 		00237 @: TYY--/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**DII61134""556GH (" 	11556G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_sqlmodeHMigrationTransactionTest.test_autocommit_block_transactional_ddl_sqlmode&  s    ---1%)
 &&(OOH%**$*?)--/OOH- 0 ) @ OOH% ) 	
	
 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_sqlmodeKMigrationTransactionTest.test_autocommit_block_nontransactional_ddl_sqlmodeG  s    ---1%*
 &&(OOH%**$*?)--/OOH- 0 ) @ OOH% ) 	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!!,,.!!!--/!!''-  	Hlln%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$   