
    Bha0                       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  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)picklers   )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9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      c/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/sqlalchemy/testing/fixtures/base.pyassert_TestBase.assert_1   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.nocache4   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.connectionB   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)allr4   )r   r?   rr=   r>   s      @@r   close_result_when_finished#TestBase.close_result_when_finishedW   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   rJ   regs      r   r   TestBase.registrym   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~   rF   rG   rH   rI   r   N__name__
__module____qualname____firstlineno__rJ   rL   rM   rN   rO   rK   __static_attributes___mds   r   BaserU   ~   s7    HRYY[--IIbM7Ix#r   r_   )r   r   rP   r   rJ   r_   r^   s      @r   	decl_baseTestBase.decl_basez   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   rF   rG   rH   r   NrW   r]   s   r   r_   re      s5    HRYY[--IIbM7I#r   r_   )r   r   r   rP   r`   s      @r   dc_decl_baseTestBase.dc_decl_base   s1     	$o 	 
s   9<c              #     #    Uv   g 7fr   r   )r   future_enginer6   s      r   future_connectionTestBase.future_connection   s     
    c              #     #    S v   g 7fr   r   )r   s    r   rj   TestBase.future_engine   s     rm   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)ru   rv   futurerw   rx   ry   rq   s         r   gen_testing_engine3TestBase.testing_engine.<locals>.gen_testing_engine   s@     (GG))$7% *  r   rs   )NNNFFF) rq   testing_reaper_drop_testing_engines)r   r|   rq   s     @r   rz   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$ )NTrw   r   r   )kwrz   s    r   r?   )TestBase.async_testing_engine.<locals>.go   s     ByM!'B''r   r   )r   rz   r?   s    ` r   async_testing_engineTestBase.async_testing_engine   s    	( 	r   )paramsc              #  (   #    UR                   v   g 7fr   )param)r   requests     r   r	   TestBase.picklers   s     mms   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instancerJ   r1   in_transactionget_transactionr3   r0   r   r   r!   )r   r   r   rJ   r5   s        r   rJ   TestBase.metadata   s      	"??$$,!% +*.==??2BBDENN/557-< 87
 *(FII> 87s   BCC
&$C

CC)TF)noneexecuter0   c                   ^^^^ 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      r0      begin_nestedr      )r0   r   requirements
savepointsenabled	skip_testr   r   insertr3   commitr   expect_raises_messagerM   excInvalidRequestErrorhasattrr   scalarr   r   countselect_fromr*   )subjecttrans_on_subjectexecute_on_subjectr5   nested_transexpected_committedr,   r   r3   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)r   r   r   r   r)   r   r!   create)	r   r   rJ   r+   r   r   r3   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   )rX   rY   rZ   r[   __requires____unsupported_on____only_on____skip_if__"__leave_connections_for_teardown__r   r   rs   r$   r-   r6   rC   r   ra   rg   rk   rj   rz   r   r	   rJ   r   r\   ).0r3   r   r   s   0000r   r   r      s    L  K K
 */& ^^+ + ^^  ^^ ( ^^ * ^^
 
 ^^    ^^    ^^  ^^  ^^@ @4 ^^  ^^8:& ' ^^? ?. ^^ *
)$@ ! 6! 7$@ 7)



s   "Fr   c                      \ rS rSrSrSrg)FutureEngineMixinir  z alembic's suite still using thisr   N)rX   rY   rZ   r[   __doc__r\   r   r   r   r   r   r  s    *r   r   )
__future__r   
sqlalchemyrM   r~   r   r   r   utilr   r	   r   r   r   r   r   ormr   r   r   mark_base_test_classr   r1   r   r   r   r   <module>r      sl    #     0       " $  O O Od
 "& + +r   