|L ie.ddlZddlmZddlmZddlmZddlmZddlmZddlmZdd lm Z dd lm Z dd lm Z dd l m Z Gd de Zy)N)MigrationContext) assert_raises)config)eq_)is_)is_false)is_not_)is_true)ne_)TestBaseceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZej(j*dZej(j*dZdZdZdZy)MigrationTransactionTestTNctjjx|_}|j ddrpt j |j||_tjx|j_ |jj_ |jSt j |||_|jS)Nas_sqlF)dialectopts) connectionr) rdbconnectconngetr configurercontextioStringIO output_bufferimpl)selfrrs l/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/alembic/testing/suite/test_environment.py_fixturez!MigrationTransactionTest._fixtures!99,,.. D 88He $+55 4DL  DLL &):):)H||,55dDL||cR|jr|jjyy)N)rclose)rs r teardown_methodz(MigrationTransactionTest.teardown_method$s 99 IIOO  r"cB|jddd}t|jj|j d}t |jj|j t|jjyNTtransaction_per_migrationtransactional_ddl_per_migration)r!r rin_transactionbegin_transactionr rollbackrrproxys r test_proxy_transaction_rollbackz8MigrationTransactionTest.test_proxy_transaction_rollback(sv--*.T J  ))+,)))> ((*+ ))+,r"c|jddd}|jd}t|jj |j t |jj yr'r!r.r rr-commitr r0s r test_proxy_transaction_commitz6MigrationTransactionTest.test_proxy_transaction_commit3s`--*.T J )))> ((*+ ))+,r"c |jddd}|jd}t|jj |5 dddt |jj y#1swY-xYwr')r!r.r rr-r r0s r ,test_proxy_transaction_contextmanager_commitzEMigrationTransactionTest.test_proxy_transaction_contextmanager_commit<sr--*.T J )))> ((*+    ))+,  s A::Bc|jddd}|jdt|jj fd}t t |t|jj y)NTr(r+c85td#1swYyxYw)Nhi) Exception)r1sr gozSMigrationTransactionTest.test_proxy_transaction_contextmanager_rollback..goMs  &o% & &s )r!r.r rr-rr<r )rrr=r1s @r .test_proxy_transaction_contextmanager_rollbackzGMigrationTransactionTest.test_proxy_transaction_contextmanager_rollbackFsi--*.T J )))> ((*+ & i$))+,r"c|jddd}|jd}t|jj |5t|jj |j t |jj dddt |jj y#1swY-xYwr')r!r.r rr-r/r r0s r 7test_proxy_transaction_contextmanager_explicit_rollbackzPMigrationTransactionTest.test_proxy_transaction_contextmanager_explicit_rollbackTs--*.T J )))> ((*+  1 DII,,. / NN  TYY--/ 0 1 ))+,  1 1 ACCc|jddd}|jd}t|jj |5t|jj |j t |jj dddt |jj y#1swY-xYwr'r4r0s r 5test_proxy_transaction_contextmanager_explicit_commitzNMigrationTransactionTest.test_proxy_transaction_contextmanager_explicit_commitbs--*.T J )))> ((*+  1 DII,,. / LLN TYY--/ 0 1 ))+,  1 1rAc"|jddd}t|jj|j 5t|jj|j d5t |jjdddt|jjdddt|jjy#1swYXxYw#1swY9xYwr'r!r rr-r.r rrs r 0test_transaction_per_migration_transactional_ddlzIMigrationTransactionTest.test_transaction_per_migration_transactional_ddlps--*.T J  ))+,  & & ( 1 TYY--/ 0**$*? 4 0023 4 TYY--/ 0  1 ))+,  4 4 1 1$6D>$C9"+D9D >DDc"|jddd}t|jj|j 5t|jj|j d5t |jjdddt|jjdddt|jjy#1swYXxYw#1swY9xYw)NTFr(r+rErFs r 4test_transaction_per_migration_non_transactional_ddlzMMigrationTransactionTest.test_transaction_per_migration_non_transactional_ddls--*.U K  ))+,  & & ( 1 TYY--/ 0**$*? 4 0023 4 TYY--/ 0  1 ))+,  4 4 1 1rHc |jddi}t|jj|j 5t |jj|j d5t |jjdddt |jjdddt|jjy#1swYXxYw#1swY9xYw)Nr*Tr+rErFs r *test_transaction_per_all_transactional_ddlzCMigrationTransactionTest.test_transaction_per_all_transactional_ddls--!4d ;<))+,  & & ( 0 DII,,. /**$*? 4 0023 4 DII,,. /  0 ))+,  4 4 0 0$6D=$C8!+D8D =DD c |jddi}t|jj|j 5t|jj|j d5t |jjdddt|jjdddt|jjy#1swYXxYw#1swY9xYw)Nr*FTr+rErFs r .test_transaction_per_all_non_transactional_ddlzGMigrationTransactionTest.test_transaction_per_all_non_transactional_ddls--!4e <=))+,  & & ( 1 TYY--/ 0**$*? 4 0023 4 TYY--/ 0  1 ))+,  4 4 1 1rMc |jddi}|jd|j5|jd|jd5|jdddd|jdddd|jd|jjr|j dd dddd dy|j dddddy#1swYwxYw#1swYjxYw) NrTstep 1step 2r+step 3step 4step 5BEGINCOMMITr!executer.rr*_assert_impl_stepsrFs r test_transaction_per_all_sqlmodez9MigrationTransactionTest.test_transaction_per_all_sqlmodes--4 01!  & & ( & OOH %**$*? *) * OOH %  & ! << ) )  # #   # #(Hh # * * & &s#$C-C!+C-!C* &C--C6c |jddd}|jd|j5|jd|jd5|jdddd|jdddd|jd|jjr|j ddd dd ddy|j dddddy#1swYwxYw#1swYjxYw) NT)rr)rQrRr+rSrTrUrVrWrXrFs r &test_transaction_per_migration_sqlmodez?MigrationTransactionTest.test_transaction_per_migration_sqlmodes--$ ?  !  & & ( & OOH %**$*? *) * OOH %  & ! << ) )  # #   # #(Hh # * * & &s#$C.C",C."C+ 'C..C7c6|jddi}t|jj|j 5t|jj|j d5t |jj|j 5|jr!t|j|jnCt|j|jt|jjt|jjdddddt|jjjdddt |jjdddt|jjdddt|jjy#1swYxYw#1swYdxYw#1swYExYw)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!;<**==-% $&&99==)4!   00237 4: TYY--/ 0? 1@ ))+,7 4 4 1 1s>6H=4H1BG7AH +H7H <HH HHc|jddi}t|jj|j 5t |j j|jr!t|j |jnCt|j |jt|jjt|j jdddddt|j jjdddt|jjy#1swY]xYw)Nr)Tr_r`)r!r rr-rar rrbrr rrcr rrFs r $test_autocommit_block_no_transactionz=MigrationTransactionTest.test_autocommit_block_no_transactions --!CC*C CC' #C**C3c|jdddd}|j5|jd|jd5|jd|j5|jdddd|jdddd|jd ddd|j ddddd y#1swYQxYw#1swYDxYw#1swY7xYw) NTFrhrQr+rRrSrTrUrirFs r 2test_autocommit_block_nontransactional_ddl_sqlmodezKMigrationTransactionTest.test_autocommit_block_nontransactional_ddl_sqlmodeGs---1%*   & & ( & OOH %**$*? *)--/.OOH-.)  * OOH % &  h(H .. * * & &s;$C& "C,C>CC&C CC# C&&C/c|jjj}tjx|jj _}|D]{}|dk(r%|jj j -|dk(r%|jj jW|jj j|}t||jy)NrVrW) rrgetvaluerrr emit_begin emit_commit_execr)rstepsto_checkbufsteps r rZz+MigrationTransactionTest._assert_impl_steps`s<<--66802 = '# .Dw !!,,.! !!--/ !!''-  . Hclln%r")__name__ __module__ __qualname__ __backend__rr!r%r2r6r8r>r@rCrGrJrLrOr[r]r requirementsautocommit_isolationrdrfrjrlrZr"r rrsK D  --- - - - - - - -6: --%-.%-N ---.-: B 2 &r"r)r migrationrtestingrrrrr r r r testing.fixturesr rr|r"r rs4 )$(]&x]&r"