ide.ddlZddlmZddlmZddlmZddlmZddlmZddlmZdd lm Z dd lm Z dd lm Z dd l m Z Gd de ZdS)N)MigrationContext) assert_raises)config)eq_)is_)is_false)is_not_)is_true)ne_)TestBaseceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZejjdZejjdZdZdZdZdS)MigrationTransactionTestTNcZtjx|_}|ddrOt j|j||_tj x|j_ |jj _ nt j|||_|jS)Nas_sqlF)dialectopts) connectionr) rdbconnectconngetr configurercontextioStringIO output_bufferimpl)selfrrs [/opt/cloudlinux/venv/lib/python3.11/site-packages/alembic/testing/suite/test_environment.py_fixturez!MigrationTransactionTest._fixtures!9,,... D 88He $ $ +5 4DL   DL & !//,5dDL|cJ|jr|jdSdS)N)rclose)rs r teardown_methodz(MigrationTransactionTest.teardown_method$s. 9  IOO       r"cn|ddd}t|j|d}t |j|t|jdSNTtransaction_per_migrationtransactional_ddl_per_migration)r!r rin_transactionbegin_transactionr rollbackrrproxys r test_proxy_transaction_rollbackz8MigrationTransactionTest.test_proxy_transaction_rollback(s--*.T J J   ))++,,,)))>> ((**+++ ))++,,,,,r"c"|ddd}|d}t|j|t |jdSr'r!r.r rr-commitr r0s r test_proxy_transaction_commitz6MigrationTransactionTest.test_proxy_transaction_commit3s--*.T J J  )))>> ((**+++ ))++,,,,,r"c0|ddd}|d}t|j|5 dddn #1swxYwYt |jdSr')r!r.r rr-r r0s r ,test_proxy_transaction_contextmanager_commitzEMigrationTransactionTest.test_proxy_transaction_contextmanager_commit<s--*.T J J  )))>> ((**+++                   ))++,,,,,sA%%A),A)c0|ddd}|dt|jfd}t t |t|jdS)NTr(r+cB5td#1swxYwYdS)Nhi) Exception)r1sr gozSMigrationTransactionTest.test_proxy_transaction_contextmanager_rollback..goMsQ & &oo% & & & & & & & & & &s )r!r.r rr-rr<r )rrr=r1s @r .test_proxy_transaction_contextmanager_rollbackzGMigrationTransactionTest.test_proxy_transaction_contextmanager_rollbackFs--*.T J J  )))>> ((**+++ & & & & & i$$$))++,,,,,r"c|ddd}|d}t|j|5t|j|t |jdddn #1swxYwYt |jdSr')r!r.r rr-r/r r0s r 7test_proxy_transaction_contextmanager_explicit_rollbackzPMigrationTransactionTest.test_proxy_transaction_contextmanager_explicit_rollbackTs--*.T J J  )))>> ((**+++  1 1 DI,,.. / / / NN    TY--// 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ))++,,,,,A!CC Cc|ddd}|d}t|j|5t|j|t |jdddn #1swxYwYt |jdSr'r4r0s r 5test_proxy_transaction_contextmanager_explicit_commitzNMigrationTransactionTest.test_proxy_transaction_contextmanager_explicit_commitbs--*.T J J  )))>> ((**+++  1 1 DI,,.. / / / LLNNN TY--// 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ))++,,,,,rAcf|ddd}t|j|5t|j|d5t |jdddn #1swxYwYt|jdddn #1swxYwYt|jdSr'r!r rr-r.r rrs r 0test_transaction_per_migration_transactional_ddlzIMigrationTransactionTest.test_transaction_per_migration_transactional_ddlps--*.T J J   ))++,,,  & & ( ( 1 1 TY--// 0 0 0**$*?? 4 4 0022333 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 TY--// 0 0 0  1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ))++,,,,,6=D'C7 DC D C )DDDcf|ddd}t|j|5t|j|d5t |jdddn #1swxYwYt|jdddn #1swxYwYt|jdS)NTFr(r+rErFs r 4test_transaction_per_migration_non_transactional_ddlzMMigrationTransactionTest.test_transaction_per_migration_non_transactional_ddls--*.U K K   ))++,,,  & & ( ( 1 1 TY--// 0 0 0**$*?? 4 4 0022333 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 TY--// 0 0 0  1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ))++,,,,,rHcd|ddi}t|j|5t |j|d5t |jdddn #1swxYwYt |jdddn #1swxYwYt|jdS)Nr*Tr+rErFs r *test_transaction_per_all_transactional_ddlzCMigrationTransactionTest.test_transaction_per_all_transactional_ddls--!4d ;<<))++,,,  & & ( ( 0 0 DI,,.. / / /**$*?? 4 4 0022333 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 DI,,.. / / /  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ))++,,,,,6=C?'C6 C?C C? C )C??DDcd|ddi}t|j|5t|j|d5t |jdddn #1swxYwYt|jdddn #1swxYwYt|jdS)Nr*FTr+rErFs r .test_transaction_per_all_non_transactional_ddlzGMigrationTransactionTest.test_transaction_per_all_non_transactional_ddls--!4e <==))++,,,  & & ( ( 1 1 TY--// 0 0 0**$*?? 4 4 0022333 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 TY--// 0 0 0  1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ))++,,,,,rMc >|ddi}|d|5|d|d5|ddddn #1swxYwY|ddddn #1swxYwY|d|jjr|dd dddd ddS|ddddddS) NrTstep 1step 2r+step 3step 4step 5BEGINCOMMITr!executer.rr*_assert_impl_stepsrFs r test_transaction_per_all_sqlmodez9MigrationTransactionTest.test_transaction_per_all_sqlmodes--4 011!!!  & & ( ( & & OOH % % %**$*?? * *))) * * * * * * * * * * * * * * * OOH % % %  & & & & & & & & & & & & & & & !!! < )   # #       # #(Hh     s6,B;-B B;B B;B B;;B?B?c @|ddd}|d|5|d|d5|ddddn #1swxYwY|ddddn #1swxYwY|d|jjr|ddd dd dddS|ddddddS) NT)rr)rQrRr+rSrTrUrVrWrXrFs r &test_transaction_per_migration_sqlmodez?MigrationTransactionTest.test_transaction_per_migration_sqlmodes--$ ? ?   !!!  & & ( ( & & OOH % % %**$*?? * *))) * * * * * * * * * * * * * * * OOH % % %  & & & & & & & & & & & & & & & !!! < )   # #       # #(Hh     s6,B<.B B<B B<B B<<CCch|ddi}t|j|5t|j|d5t |j|5|jrt|j |jn@t|j |jt|jt|j j dddddn #1swxYwYt|j j dddt |jdddn #1swxYwYt|jdddn #1swxYwYt|jdS)Nr)Tr+isolation_level AUTOCOMMIT)r!r rr-r.r autocommit_blockis_sqlalchemy_futurerrr r_execution_optionsr rrFs r test_autocommit_blockz.MigrationTransactionTest.test_autocommit_blocks--!>> !9!9!;!;<<<*=-% $&9==)4!   00223337 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4: TY--// 0 0 0? 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1@ ))++,,,,,s\=H;G BE GE G E !AG8 HG H G )HHHc|ddi}t|j|5t |j|jrt|j|jn@t|j|jt|jt|jj dddddn #1swxYwYt|jj dddt|jdS)Nr)Tr_r`)r!r rr-rar rrbrr rrcr rrFs r $test_autocommit_block_no_transactionz=MigrationTransactionTest.test_autocommit_block_no_transactions--!*CB& C&B* *C-B* .C C>C C>C C>>DDcH|dddd}|5|d|d5|d|5|ddddn #1swxYwY|ddddn #1swxYwY|d dddn #1swxYwY|ddddd dS) NTFrhrQr+rRrSrTrUrirFs r 2test_autocommit_block_nontransactional_ddl_sqlmodezKMigrationTransactionTest.test_autocommit_block_nontransactional_ddl_sqlmodeGs---1%*     & & ( ( & & OOH % % %**$*?? * *)))--//..OOH---...............)))  * * * * * * * * * * * * * * * OOH % % % & & & & & & & & & & & & & & &  h(H     rkc|jj}tjx|jj_}|D]k}|dkr|jj'|dkr|jjL|jj|lt||dS)NrVrW) rrgetvaluerrr emit_begin emit_commit_execr)rstepsto_checkbufsteps r rZz+MigrationTransactionTest._assert_impl_steps`s<-668802 = '# . .Dw !,,....!! !--//// !''---- Hcllnn%%%%%r")__name__ __module__ __qualname__ __backend__rr!r%r2r6r8r>r@rCrGrJrLrOr[r]r requirementsautocommit_isolationrdrfrjrmrZr"r rrscK D  - - ------- - - - - - - - - - - - - - - - - - - - - -6: -%-%-.-%-N ---.--:   B   2 & & & & &r"r)r migrationrtestingrrrrr r r r testing.fixturesr rr}r"r rs ))))))$$$$$$((((((]&]&]&]&]&x]&]&]&]&]&r"