Ñò ‡„[Jc @s'ddklZddklZddklZddklZddkZddk Z de fd„ƒYZ de fd „ƒYZ d e fd „ƒYZ d e fd „ƒYZde fd„ƒYZde fd„ƒYZde fd„ƒYZd„Zd„Zdefd„ƒYZeƒZdS(iÿÿÿÿ(tConnectionProxy(tDefaultDialect(t Connection(tutilNt AssertRulecBs5eZd„Zd„Zd„Zd„Zd„ZRS(cOsdS(N((tselft clauseelementt multiparamstparams((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pytprocess_execute scCsdS(N((Rt statementt parameterstcontextt executemany((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pytprocess_cursor_execute scCs tƒ‚dS(s«Return True if this rule has been consumed, False if not. Should raise an AssertionError if this rule's condition has definitely failed. N(tNotImplementedError(R((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyt is_consumedscCs tƒ‚dS(s_Return True if the last test of this rule passed, False if failed, None if no test was applied.N(R(R((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyt rule_passedscCs|idjon|iƒS(s«Return True if this rule has been consumed. Should raise an AssertionError if this rule's condition has not been consumed or has failed. N(t_resulttNoneR(R((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyt consume_finals(t__name__t __module__R RRRR(((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR s     t SQLMatchRulecBs#eZd„Zd„Zd„ZRS(cCsd|_d|_dS(Nt(RRt_errmsg(R((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyt__init__*s cCs|iS(N(R(R((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR.scCs|idjotStS(N(RRtFalsetTrue(R((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR1s(RRRRR(((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR)s  tExactSQLcBseZdd„Zd„ZRS(cCs#ti|ƒ||_||_dS(N(RRtsqlR(RRR((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR:s  c Csì|pdSt||ƒ}|i}t|i|ƒ}||j}|iofti|iƒo|i|ƒ} n |i} t| tƒp | g} n|o | |ij}nh} ||_ |i pd|| ||f|_ ndS(NsJTesting for exact statement %r exact params %r, received %r with params %r( t_process_engine_statementtcompiled_parameterst_process_assertion_statementRRRtcallablet isinstancetlistRR( RR R R R t_received_statementt_received_parametersRt equivalentR((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR?s$       N(RRRRR(((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR9s tRegexSQLcBseZdd„Zd„ZRS(cCs5ti|ƒti|ƒ|_||_||_dS(N(RRtretcompiletregext orig_regexR(RR+R((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR_s  c Cs9|pdSt||ƒ}|i}t|ii|ƒƒ}|io¶ti|iƒo|i|ƒ}n |i}t|t ƒp |g}nxmt ||ƒD]R\} } xC| i ƒD]5\} } | | jp| | | jo t }Pq»q»Wq¢Wnh}||_ |i p d|i|||f|_ndS(NsBTesting for regex %r partial params %r, received %r with params %r(RR tboolR+tmatchRRR"R#R$tzipt iteritemsRRR,R( RR R R R R%R&R'Rtparamtreceivedtktv((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRes.        N(RRRRR(((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR(^s t CompiledSQLcBseZd„Zd„ZRS(cCs#ti|ƒ||_||_dS(N(RRR R(RR R((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR…s  cCsc|pdS|i}|iiidtƒd|iiƒ}tiddt|ƒƒ}|i|j}|i o¶t i |i ƒo|i |ƒ} n |i } t | t ƒp | g} nxmt| |ƒD]R\} } xC| iƒD]5\} } | | jp| | | jo t}PqåqåWqÌWnh} ||_|ip d|i| ||f|_ndS(Ntdialectt column_keyss\nRsOTesting for compiled statement %r partial params %r, received %r with params %r(R tcompiledR R*RR7R)tsubtstrRRR"R#R$R/R0RRR(RR R R R R&R8R%R'RR1R2R3R4((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRŠs2        (RRRR(((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR5„s tCountStatementscBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCs||_d|_dS(Ni(tcountt_statement_count(RR<((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR°s cOs|id7_dS(Ni(R=(RRRR((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR ´scCsdS(N((RR R R R ((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR·scCstS(N(R(R((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRºscCstS(N(R(R((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR½s(RRRR RRR(((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR;¯s     tAllOfcBs5eZd„Zd„Zd„Zd„Zd„ZRS(cGst|ƒ|_dS(N(tsettrules(RR@((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRÂscOs+x$|iD]}|i|||Žq WdS(N(R@R (RRRRtrule((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR Ås cCs.x'|iD]}|i||||ƒq WdS(N(R@R(RR R R R RA((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRÉs cCs^|iptSxHt|iƒD]7}|iƒo$|ii|ƒt|iƒdjSqWdS(Ni(R@RR$Rtremovetlen(RRA((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRÍs  cCst|iƒdjS(Ni(RCR@(R((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRØs(RRRR RRR(((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR>Ás     cCsJ|iidjo|idƒo|d }ntidd|ƒ}|S(Ntmssqls; select scope_identity()içÿÿÿs\nR(tenginetnametendswithR)R9(tqueryR ((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRÛs#cCs§|ii}|djon‡|djotidd|ƒ}nad}|djo d}n/|djo d}n|d jo d}ntid||ƒ}|S( Ntnamedtpyformats :([\w_]+)s%(\1)stqmarkt?tformats%stnumeric(R6t paramstyleR)R9R(RHR ROtrepl((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR!ãs         t SQLAssertcBs;eZdZd„Zd„Zd„Zd„Zd„ZRS(cCst|ƒ|_dS(N(R$R@(RR@((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyt add_rulesùscCs)x"|iD]}|iƒpq q WdS(N(R@R(RRA((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pytstatement_completeüs  cCs |`dS(N(R@(R((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyt clear_rulesscOsy||||Ž}|idj oS|ipn|id}|i|||Ž|iƒo|iidƒqun|S(Ni(R@RR Rtpop(RtconntexecuteRRRtresultRA((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRWs   c CsJ|||||ƒ}|io'|id}|i||||ƒn|S(Ni(R@R( RRWtcursorR R R R RXRA((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pytcursor_executes   N( RRRR@RRRSRTRWRZ(((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRQös     (tsqlalchemy.interfacesRtsqlalchemy.engine.defaultRtsqlalchemy.engine.baseRt sqlalchemyRttestingR)tobjectRRRR(R5R;R>RR!RQtasserter(((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyts    %&+  $