idRddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z dd lm Z d d lm Z d d lm Z d d lm Z d dlmZd dlmZd dlmZGddejZGddejZGddejZGddejZdS)) assert_raises)config)eq_)fixtures)ne_)provide_metadata) requirements)Column)Table)exc)Integer)literal_column)select)String)compatcVeZdZdZdZdZedZej dZ dZ dS) ExceptionTestzTest basic exception wrapping. DBAPIs vary a lot in exception behavior so to actually anticipate specific exceptions from real round trips, we need to be conservative. eachTc td|tdtddtdtddS)N manual_pkidTF primary_key autoincrementdata2r r rrclsmetadatas Z/opt/cloudlinux/venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_dialect.py define_tableszExceptionTest.define_tables sK   4d% H H H 66":: & &      c tj5}|}||jjdddttj |j|jjddd| ddddS#1swxYwYdS)Nd1rr) rdbconnectbeginexecutetablesrinsertrr IntegrityErrorrollback)selfconntranss r"test_integrity_errorz"ExceptionTest.test_integrity_error)s Y    DJJLLE LL %,,..q$0G0G    "  %,,..$''     NN                     sBC  CCcHtj5} |t t dgn+#t j$r}t|}Yd}~nd}~wwxYwtj r ddddS#1swxYwYdS)Numéil) rr)r*r,rrr DBAPIErrorstrrpy2k)r1r2errerr_strs r"test_exception_with_non_asciiz+ExceptionTest.test_exception_with_non_ascii<s Y    0D 1  V^H%=%=$>??@@@@> 1 1 1c(( 1{ 0 0! 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s:B0ABA:!A50B5A::BBBN) __name__ __module__ __qualname____doc__ run_deletes __backend__ classmethodr#r $duplicate_key_raises_integrity_errorr4r;r$r"rrsqKK  [ 676$00000r$rc.eZdZdZdZdZdZdZdZdS)IsolationLevelTestTisolation_levelctjt}|d}|d}t|d|g}|r|StjddS)Ndefault supported AUTOCOMMITz(no non-default isolation level available)r get_isolation_levelsrset differencepop skip_test)r1levelsrJrKss r" _get_non_default_isolation_levelz3IsolationLevelTest._get_non_default_isolation_levelXsr26::#;'  NN % %|W&= > >  I5577N  G H H H H Hr$cttjjjt jtddS)NrJ)rrr)dialectdefault_isolation_levelr rM)r1s r"test_default_isolation_levelz/IsolationLevelTest.test_default_isolation_levelds< I  5  -f 5 5i @     r$c|}tj5}|}t ||||t|||j |j t||ddddS#1swxYwYdS)NrG) rTrr)r*get_isolation_levelrexecution_optionsrrVreset_isolation_level connection)r1 non_defaultr2existings r" test_non_default_isolation_levelz3IsolationLevelTest.test_non_default_isolation_leveljs;;== Y   6D//11H + & & &  " "; " ? ? ? ((**K 8 8 8 L . .t ? ? ? ((**H 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6sBCC"%C"ctjt}|d}t|dgD]}tj5}||t| || }| t| |dddn #1swxYwYtj5}t| |ddddn #1swxYwYdS)NrKrLrGrJ) r rMrrNrOr)r*r[rrZr+r0)r1rR all_levelslevelr2r3s r"test_all_levelsz"IsolationLevelTest.test_all_levelszs26::K( __//??  E""$$ 7&&u&===D,,..666    D,,..666 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7""$$ ,,..9%                 s%&BC55C9 <C9 )EE E N) r<r=r>rA __requires__rTrXr`rdrDr$r"rFrFSs]K'L I I I   666 r$rFcHeZdZdZdZdZedZdZdZ dZ dZ d S) AutocommitTestr) autocommitTc td|tdtddtdtdddS) N some_tablerTFrrr)test_needs_acidrrs r"r#zAutocommitTest.define_tablessS   4d% H H H 66":: & &       r$c|}||jjddd|t |t|jjj j g|rdnd||jj dS)Nr&z some datar() r+r,r-rjr.r0rscalarrcrdelete)r1r2rhr3s r"_test_conn_autocommitsz%AutocommitTest._test_conn_autocommitss  K " ) ) + +A{-K-K     KK 6 8 ;<== > > %AA   T[+224455555r$ctj}|d}||d|j|j||ddS)NrLrGTF)rr)r*r[rprVr\r])r1r2c2s r"test_autocommit_onz!AutocommitTest.test_autocommit_onsuy  ""  # #L # A A ##B--- ((777 ##D%00000r$cntj}||ddS)NF)rr)r*rpr1r2s r"test_autocommit_offz"AutocommitTest.test_autocommit_offs1y  "" ##D%00000r$c,tj}|d||d|t jtd||ddS)NrLrGTrJF)rr)r*r[rpr rMrus r".test_turn_autocommit_off_via_default_iso_levelz=AutocommitTest.test_turn_autocommit_off_via_default_iso_levelsy  "" |<<< ##D$/// (=fEE    ##D%00000r$N) r<r=r>r@rerArBr#rprsrvrxrDr$r"rgrgsxK"LK  [  6 6 6111111 1 1 1 1 1r$rgc$eZdZedZdS) EscapingTestc |j}td|tdtd}|t jt j5}|| td|| tdt| t|jjg|jjt#dkdt| t|jjg|jjt#dkdd d d d S#1swxYwYd S) z|test that the DBAPI accommodates for escaped / nonescaped percent signs in a way that matches the compiler trrz some % value)rzsome %% other valuez'some % value'z'some %% other value'N)r!r r rcreaterr)r+r,r.dictrrmrrnrwherer)r1mr|r2s r"test_percent_sign_round_tripz)EscapingTest.test_percent_sign_round_trips M #q&44 5 5  Y__   $ LLT~%>%>%> ? ? ? LLT/D%E%E%E F F F  ACH:&&,,N3C$D$DD       ACH:&&,,N3J$K$KK &                      s1D?F==GGN)r<r=r>rrrDr$r"rzrzs.r$rzN)rrrrrrr schemar r r rrrrutilr TablesTestrTestBaserFrgrzrDr$r"rs!!!!!!<0<0<0<0<0H'<0<0<0~;;;;;*;;;|7171717171X(717171t8$r$