g/ddlmZddlZddlmZddlmZddlmZddlm Z dd lm Z dd lm Z dd lm Z dd lm Z dd lmZddlmZddlmZddlmZej&GddZdaGddZy)) annotationsN) assertions)config)eq_)drop_all_tables_from_metadata)Column)func)Integer)select)Table)DeclarativeBase)MappedAsDataclass)registryc eZdZdZdZdZdZdZddZe jdZ e jdZ e jdZ e jdZe jd Ze jd Ze jd Ze jd Ze jd Ze jdZe jdZe jdZe jdDcgc]}dD]}dD]}|||f c}}}}dZycc}}}}w)TestBaseNFc|sJ|yNr)selfvalmsgs Q/opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/testing/fixtures/base.pyassert_zTestBase.assert_0s Csc#Ktjj}dtj_d|tj_ywr)rdb_compiled_cache)r_caches rnocachezTestBase.nocache3s0**$( ! $* !sA A c#Kt|ddxstj}|j5}|dddy#1swYyxYwwNbind)getattrrrconnect)rengconns rconnection_no_transzTestBase.connection_no_trans:s6dFD)6VYY [[]dJ]]s0A A A A A c#Kt|ddxstj}|j}|j }|a|da|j r|j|jywr#) r%rrr&begin_connection_fixture_connection is_activerollbackclose)rr'r(transs r connectionzTestBase.connectionAsbdFD)6VYY{{} )-& )-& ?? NN  sA5A7c#Kggdfd }|D]} |jD]} |jy#Y3xYw#Y"xYww)NcPj||rj|yyr)append)resultconsumeto_close to_consumes rgoz/TestBase.close_result_when_finished..go[s% OOF #!!&)r)F)allr/)rr9rr7r8s @@rclose_result_when_finishedz#TestBase.close_result_when_finishedVsa  * A  A    s2AAAA AA A AAc #Kt|ttjj tjddddi}||j yw)N2mysqlmariadboracle)metadatatype_annotation_map)rstrsaString with_variantdispose)rrBregs rrzTestBase.registrylsORYY[--IIbM7Ix!   sA A"c#pK|Gfddt}||jjyw)Nc~eZdZWZeej jej ddddiZy) TestBase.decl_base..Baser>r?r@rAN __name__ __module__ __qualname__rBrDrErFrGrC_mdsrBaserL}s;HYRYY[--BIIbM7Ix# rrS)rrrHrrBrSrRs @r decl_basezTestBase.decl_baseys/ ?   36c#zK|Gfddtt}||jjyw)Nc|eZdZWZeej jej dddiZy)#TestBase.dc_decl_base..Baser>r?r@NrMrQsrrSrYs9HYRYY[--BIIbM7I# rrS)rrrrHrTs @r dc_decl_basezTestBase.dc_decl_bases2 $o   s8;c#K|ywrr)r future_enginer1s rfuture_connectionzTestBase.future_connections c#Kdywrr)rs rr\zTestBase.future_engines  r^c#pKddlm dfd }|jjdyw)Nr)enginescB|i}d|d<j|||||S)Nfixturescope)urloptionsasynciotransfer_staticpool share_pool)testing_engine)rerffuturergrhriras rgen_testing_enginez3TestBase.testing_engine..gen_testing_engines@(GG ))$7% * rrc)NNNFFF)ratesting_reaper_drop_testing_engines)rrlras @rrjzTestBase.testing_engines? %  &! 44Y?rVcfd}|S)Ncd|d<di|S)NTrgrr)kwrjs rr9z)TestBase.async_testing_engine..gos ByM!'B' 'rr)rrjr9s ` rasync_testing_enginezTestBase.async_testing_engines ( rc#Kddlm}|j}||j_||j`t rft j rRt j}|jt j5t|t dddyt|tjy#1swYyxYww)z>Provide bound MetaData for a single test, dropping afterwards.r )schemaN) sqlruMetaDatainstancerBr,in_transactionget_transactionr.r+rrr)rrequestrurBr0s rrBzTestBase.metadatas "??$$,!    % +.==?2BBDE NN /557-<87 *(FII > 87sB C  C$C C C )TF)noneexecuter+)paramsc|j\td|tdtt |ddxst j }j|fd}|S)Ntestdatar$c |j5}rtjjjstj d|r|j }n|j }|5|r#|j jddin"|j jddir|jn|j dk7rtjtjjd5 dk(rH|r#|j jddinK|j jddin( dk(r#|r|j n|j dddddd|r$|j jdd in|j jdd int|r#|j jddin"|j jddi|r$r|jn4|jn#r|jn|j dk7rtjtjjd5 dk(rH|r#|j jddin~|j jddin[ dk(r.t!|dr|jn9|jn( d k(r#|r|j n|j ddddddd }r|d z }s|d z }|rFt#|j%t't)j*j- |y|j/5}t#|j%t't)j*j- |dddy#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYyxYw) Nzsavepoints not enabledr r|zCan't operate on closed transaction inside context manager. Please complete the context manager before emitting further commands.r} r+ begin_nestedr)r+r requirements savepointsenabled skip_testrr}insertr.commitrexpect_raises_messagerEexcInvalidRequestErrorhasattrrscalarr r count select_fromr&) subjecttrans_on_subjectexecute_on_subjectr0 nested_transexpected_committedr(rr.second_operationts rrun_testz4TestBase.trans_ctx_manager_fixture..run_testscE!..99AA(()AB)'.';';'= ','9'9'; %-#OOAHHJ E!MM!((*vrlC$(113(//1+v5!+!A!A " : :!D"$4y#@'9(/,-HHJ )*). ahhj62,(O%5%@'9(/(<(<(>(-(:(:(<'"#&R* VRLA ahhj62,?* VRLA ahhj62,?'##,,.#NN,#!NN,!LLN'61'==FF66@ 09<#5$+OOAHHJ $M$)MM!((*vrl$K!1W!<#*5'#:$)KKM$+MMO!1^!C#5$+$8$8$:$)$6$6$8+S!@"# #a'"#a'"!NN6$**,#7#C#CA#FG& __&$ F4::<$8$D$DQ$GH*'&m""#&@S!`'&seA"P;4BP"A6PP"DP;%B)P/P;AQP P""P, 'P;/P8 4P;;QQ)paramrr r r%rrcreate) rr{rBr'rrr.rrs @@@@rtrans_ctx_manager_fixturez"TestBase.trans_ctx_manager_fixtures[4;==0"L &(F67$; <dFD)6VYY  u nrr)rNrOrP __requires____unsupported_on__ __only_on__ __skip_if__"__leave_connections_for_teardown__rrrcr!r)r1r<rrUrZr]r\rjrsrBr).0r.rrs0000rrrsLKK */&V^^++ V^^ V^^(V^^*V^^   ^^     ^^    V^^ V^^V^^@@4V^^V^^??.V^^* )$@ ! ' 6! 7$@ 7)    s0ErceZdZdZy)FutureEngineMixinz alembic's suite still using thisN)rNrOrP__doc__rrrrrms*rr) __future__r sqlalchemyrErmrrrutilrr r r r rormrrrmark_base_test_classrr,rrrrrsk#0"$KKK\ "&++r