Ñò ‡„[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/|idjotp td‚n|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. sRule has not been consumedN(t_resulttNonetFalsetAssertionErrorR(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.scCs0|idjotS|ip t|i‚tS(N(RRRRRtTrue(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(R R!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+RR8R*tsubtstrRRR#R$R%R0R1RRR(RR R R R R'R9R&R(RR2R3R4R5((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRŠs2        (RRRR(((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR6„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ºscCs1|i|ijptd|i|if‚tS(Ns,desired statement count %d does not match %d(R=R>RR(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(RRA((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRÂscOs+x$|iD]}|i|||Žq WdS(N(RAR (RRRRtrule((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR Ås cCs.x'|iD]}|i||||ƒq WdS(N(RAR(RR R R R RB((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRÉs cCso|iptSxHt|iƒD]7}|iƒo$|ii|ƒt|iƒdjSqWtp td‚dS(Nis/No assertion rules were satisfied for statement(RARR%RtremovetlenRR(RRB((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRÍs  cCst|iƒdjS(Ni(RDRA(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*R:(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(R7t paramstyleR*R:R(RIR RPtrepl((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyR"ãs         t SQLAssertcBs;eZdZd„Zd„Zd„Zd„Zd„ZRS(cCst|ƒ|_dS(N(R%RA(RRA((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyt add_rulesùscCs:x3|iD](}|iƒptp td‚q q WdS(Ns?All statements are complete, but pending assertion rules remain(RARRR(RRB((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pytstatement_completeüs  cCs |`dS(N(RA(R((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyt clear_rulesscOsŠ||||Ž}|idj od|iptp td‚n|id}|i|||Ž|iƒo|iidƒq†n|S(Ns<All rules have been exhausted, but further statements remaini(RARRRR Rtpop(RtconntexecuteRRRtresultRB((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRXs   c CsJ|||||ƒ}|io'|id}|i||||ƒn|S(Ni(RAR( RRXtcursorR R R R RYRB((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pytcursor_executes   N( RRRRARSRTRURXR[(((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyRRös     (tsqlalchemy.interfacesRtsqlalchemy.engine.defaultRtsqlalchemy.engine.baseRt sqlalchemyRttestingR*tobjectRRRR)R6R<R?R R"RRtasserter(((s=/usr/lib/python2.6/site-packages/sqlalchemy/test/assertsql.pyts    %&+  $