
    ,h/                        S SK Jr  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KJr  SSKJr  \R&                  " 5        " S S5      5       rSq " S S5      rg)    )annotationsN   )
assertions)config)eq_)drop_all_tables_from_metadata   )Column)func)Integer)select)Table)DeclarativeBase)MappedAsDataclass)registryc                     \ rS rSrSrSrSrSrSrSS jr	\
R                  " 5       S 5       r\
R                  " 5       S 5       r\
R                  " 5       S 5       r\
R                  " 5       S	 5       r\
R                  " 5       S
 5       r\
R                  S 5       r\
R                  S 5       r\
R                  " 5       S 5       r\
R                  " 5       S 5       r\
R                  " 5       S 5       r\
R                  " 5       S 5       r\
R                  " 5       S 5       r\
R                  " S V VVVs/ s H  nS  H  nS  H  nXU4PM	     M     M     snnnn S9S 5       rSrgs  snnnn f )TestBase    NFc                     U(       d   U5       eg Nr   )selfvalmsgs      X/var/www/auris/envauris/lib/python3.13/site-packages/sqlalchemy/testing/fixtures/base.pyassert_TestBase.assert_0   s    Cs    c              #     #    [         R                  R                  nS [         R                  l        S v   U[         R                  l        g 7fr   )r   db_compiled_cache)r   _caches     r   nocacheTestBase.nocache3   s/     **$(		!$*		!s   A
Ac              #     #    [        U SS 5      =(       d    [        R                  nUR                  5        nUv   S S S 5        g ! , (       d  f       g = f7fNbind)getattrr   r    connect)r   engconns      r   connection_no_transTestBase.connection_no_trans:   s5     dFD)6VYY[[]dJ ]]s   5AA	A
AAc              #    #    [        U SS 5      =(       d    [        R                  nUR                  5       nUR	                  5       nUqUv   S qUR                  (       a  UR                  5         UR                  5         g 7fr&   )	r(   r   r    r)   begin_connection_fixture_connection	is_activerollbackclose)r   r*   r+   transs       r   
connectionTestBase.connectionA   sa      dFD)6VYY{{}

)-&
)-&??NN 	

s   A?Bc              #     ^^#    / m/ mSUU4S jjnUv   T H  n UR                  5         M     T H  n UR                  5         M     g !    M8  = f!    M&  = f7f)Nc                Z   > TR                  U 5        U(       a  TR                  U 5        g g r   )append)resultconsumeto_close
to_consumes     r   go/TestBase.close_result_when_finished.<locals>.go[   s%    OOF#!!&) r   )F)allr3   )r   r>   rr<   r=   s      @@r   close_result_when_finished#TestBase.close_result_when_finishedV   se     
	* 	*
 A 
 A	 s2   AA	AAAAAAAc           
   #     #    [        U[        [        R                  " 5       R	                  [        R                  " S5      SSS5      0S9nUv   UR                  5         g 7f)N2   mysqlmariadboracle)metadatatype_annotation_map)r   strsaStringwith_variantdispose)r   rI   regs      r   r   TestBase.registryl   sN     RYY[--IIbM7Ix!
 	s   AA!c              #  r   ^#    Um " U4S jS[         5      nUv   UR                  R                  5         g 7f)Nc                     > \ rS rSr Y r\\R                  " 5       R                  \R                  " S5      SSS5      0r	Sr
g) TestBase.decl_base.<locals>.Base}   rE   rF   rG   rH   r   N__name__
__module____qualname____firstlineno__rI   rK   rL   rM   rN   rJ   __static_attributes___mds   r   BaserT   }   s7    HRYY[--IIbM7Ix#r   r^   )r   r   rO   r   rI   r^   r]   s      @r   	decl_baseTestBase.decl_basey   s.     	? 	 
s   47c              #  |   ^#    Um " U4S jS[         [        5      nUv   UR                  R                  5         g 7f)Nc                     > \ rS rSr Y r\\R                  " 5       R                  \R                  " S5      SS5      0r	Sr
g)#TestBase.dc_decl_base.<locals>.Base   rE   rF   rG   r   NrV   r\   s   r   r^   rd      s5    HRYY[--IIbM7I#r   r^   )r   r   r   rO   r_   s      @r   dc_decl_baseTestBase.dc_decl_base   s1     	$o 	 
s   9<c              #     #    Uv   g 7fr   r   )r   future_enginer5   s      r   future_connectionTestBase.future_connection   s     
    c              #     #    S v   g 7fr   r   )r   s    r   ri   TestBase.future_engine   s     rl   c              #  t   ^#    SSK Jm        SU4S jjnUv   TR                  R                  S5        g 7f)Nr   )enginesc                >   > Uc  0 nSUS'   TR                  U UUUUS9$ )Nfixturescope)urloptionsasynciotransfer_staticpool
share_pool)testing_engine)rt   ru   futurerv   rw   rx   rp   s         r   gen_testing_engine3TestBase.testing_engine.<locals>.gen_testing_engine   s@     (GG))$7% *  r   rr   )NNNFFF) rp   testing_reaper_drop_testing_engines)r   r{   rp   s     @r   ry   TestBase.testing_engine   s>       %	& ! 44Y?s   58c                   ^ U4S jnU$ )Nc                    > SU S'   T" S0 U D6$ )NTrv   r   r   )kwry   s    r   r>   )TestBase.async_testing_engine.<locals>.go   s     ByM!'B''r   r   )r   ry   r>   s    ` r   async_testing_engineTestBase.async_testing_engine   s    	( 	r   c              #    #    SSK Jn  UR                  5       nX1R                  l        Uv   UR                  ?[
        (       ak  [
        R                  5       (       aR  [
        R                  5       nUR                  5         [
        R                  5          [        U[
        5        SSS5        g[        U[        R                  5        g! , (       d  f       g= f7f)z>Provide bound MetaData for a single test, dropping afterwards.r	   )schemaN)sqlr   MetaDatainstancerI   r0   in_transactionget_transactionr2   r/   r   r   r    )r   requestr   rI   r4   s        r   rI   TestBase.metadata   s      	"??$$,!% +*.==??2BBDENN/557-< 87
 *(FII> 87s   BCC
&$C

CC)TF)noneexecuter/   )paramsc                   ^^^^ UR                   u  mmm[        SU[        S[        5      5      m[	        U SS 5      =(       d    [
        R                  nTR                  U5        UUUU4S jnU$ )Ntestdatar'   c           	     	  > U R                  5        nT(       Ga  [        R                  R                  R                  (       d  [        R
                  " S5        U(       a  U R                  5       nOUR                  5       nU   U(       a#  U R                  T
R                  5       SS05        O"UR                  T
R                  5       SS05        T(       a  UR                  5         OUR                  5         T	S:w  a  [        R                  " [        R                  R                  S5         T	S:X  aM  U(       a#  U R                  T
R                  5       SS05        OQUR                  T
R                  5       SS05        O.T	S:X  a(  U(       a  U R                  5         OUR                  5         S S S 5        S S S 5        U(       a$  U R                  T
R                  5       SS	05        GOUR                  T
R                  5       SS	05        GOU(       a#  U R                  T
R                  5       SS05        O"UR                  T
R                  5       SS05        U(       a)  T(       a  U R                  5         O9U R                  5         O(T(       a  UR                  5         OUR                  5         T	S:w  a  [        R                  " [        R                  R                  S5         T	S:X  aM  U(       a#  U R                  T
R                  5       SS05        OUR                  T
R                  5       SS05        OgT	S:X  a3  [!        US5      (       a  UR                  5         O?U R                  5         O.T	S
:X  a(  U(       a  U R                  5         OUR                  5         S S S 5        S S S 5        SnT(       a  US-  nT(       d  US-  nU(       aG  [#        U R%                  ['        [(        R*                  " 5       5      R-                  T
5      5      U5        g U R/                  5        n[#        UR%                  ['        [(        R*                  " 5       5      R-                  T
5      5      U5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       g = f)Nzsavepoints 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
savepointsenabled	skip_testr   r   insertr2   commitr   expect_raises_messagerL   excInvalidRequestErrorhasattrr   scalarr   r   countselect_fromr)   )subjecttrans_on_subjectexecute_on_subjectr4   nested_transexpected_committedr+   r   r2   second_operationts          r   run_test4TestBase.trans_ctx_manager_fixture.<locals>.run_test   sf   E!..99AA(()AB)'.';';'=','9'9';%-#OOAHHJE!MM!((*vrlC $(113(//1+v5!+!A!A " : :!D" $4y#@'9(/,-HHJ)* ).ahhj62,(O%5%@'9(/(<(<(>(-(:(:(<'"# &R *
VRLAahhj62,? *
VRLAahhj62,?'##,,.#NN,#!NN,!LLN'61'==FF66@  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#FG&
 __&$F4::<$8$D$DQ$GH* '&m" "# &@ S !` '&se   A2R1B*R.BQ;0R8D0R1(B;R#R1+AS;
R
R
R	R1
R.	)R11
S 
S)paramr   r
   r   r(   r   r    create)	r   r   rI   r*   r   r   r2   r   r   s	        @@@@r   trans_ctx_manager_fixture"TestBase.trans_ctx_manager_fixture   sa     4;==0"L&(F67$;<dFD)6VYY	u	 u	n r   r   )rW   rX   rY   rZ   __requires____unsupported_on____only_on____skip_if__"__leave_connections_for_teardown__r   r   rr   r#   r,   r5   rB   r   r`   rf   rj   ri   ry   r   rI   r   r[   ).0r2   r   r   s   0000r   r   r      s    L  K K
 */& ^^+ + ^^  ^^ ( ^^ * ^^
 
 ^^    ^^    ^^  ^^  ^^@ @4 ^^  ^^? ?. ^^ *
)$@ ! 6! 7$@ 7)



s   3"E&r   c                      \ rS rSrSrSrg)FutureEngineMixinim  z alembic's suite still using thisr   N)rW   rX   rY   rZ   __doc__r[   r   r   r   r   r   m  s    *r   r   )
__future__r   
sqlalchemyrL   r}   r   r   r   utilr   r
   r   r   r   r   ormr   r   r   mark_base_test_classr   r0   r   r   r   r   <module>r      si    #     0      " $  K K K\
 "& + +r   