Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/dist-packages/twisted/test/
Upload File :
Current File : //usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyc


[XMc@sdZddlZddlmZmZmZddlmZddlm	Z	ddl
mZddlm
Z
ddlmZdd	lmZdd
lmZdZdZd
efdYZdefdYZdZdZeedZdZedddeZedddeZ dd#dYZ!de!_"de!fdYZ#dej$fdYZ%ee#d e&d!efd"YZ'dS($s*
Tests for twisted.enterprise reflectors.
iN(treactort
interfacestdefer(t	RowObject(tEQUAL(tSQLReflector(tutil(tmakeSQLTests(tsuppress(tunittestt	testTablet
childTabletTestRowcBs,eZddd	d
dgZdgZeZRS(
t
key_stringtvarchartcol2tinttanother_columntColumn4t	column_5_(s
key_stringR(Rsint(RR(RR(Rsint(s
key_stringR(t__name__t
__module__t
rowColumnst
rowKeyColumnst	tableNametrowTableName(((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyRs		tChildRowcBsMeZd
ddd
ddgZdgZeZedgdgdd	fgZRS(tchildIdRtfooRttest_keytstufftgogogotdataR
i(schildIdsint(Rsvarchar(stest_keysvarchar(Rsvarchar(Rsint(sdatasvarchar(schildIdsint(stest_keysvarchar(s
key_stringsvarcharN(	RRRRtchildTableNameRRtNonetrowForeignKeys(((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyR"s		s
CREATE TABLE testTable (
  key_string     varchar(64),
  col2           integer,
  another_column varchar(64),
  Column4        varchar(64),
  column_5_      integer
)
s
CREATE TABLE childTable (
  childId        integer,
  foo            varchar(64),
  test_key       varchar(64),
  stuff          varchar(64),
  gogogo         integer,
  data           varchar(64)
)
c	Csi}x|jD]\}}tj||rGt||||<qn|rntjdddkrnd}n|dkrtjdd}nctjdddkrd}n-djtdt	tjdd	}|s|j
}nt||||||<qW|S(
Nii	Rii'tcSsttjddS(Ni i(tchrtrandomt	randrange(ti((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt<lambda>Usii@(RRtgetKeyColumntgetattrR&trandintR"tjointmaptxrangetrstriptsetattr(trowtnulls_okttrailing_spaces_oktvaluestnamettypetvalue((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pytrandomizeRowGs$		cCsZxS|jD]H\}}t||||kr
d|t||||fGHtSq
WtS(Ns/Mismatch on column %s: |%s| (row) |%s| (values)(RR+tFalsetTrue(R2R5R6R7((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt
rowMatches^stmessages6twisted.enterprise.row is deprecated since Twisted 8.0tcategorys<twisted.enterprise.reflector is deprecated since Twisted 8.0tReflectorTestBasecBseZdZejeddkr-dZndZdZ	dZ
dZdZdZ
dZeege_d	Zd
Zeege_dZRS(
sf
    Base class for testing reflectors.

    @ivar reflector: The reflector created during setup.
    s%No thread support, no reflector testsidcCst||j|jS(N(R9R3R4(tselfR2((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyR9}scCs |j}|j|j|S(sW
        Create and store a reference to a SQL reflector for use by the tests.
        (tcreateReflectortaddCallbackt_cbSetUp(R@td((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt
extraSetUpscCs
||_dS(N(t	reflector(R@RF((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyRCscCs
|jS(N(tdestroyReflector(R@((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyttearDownscCsdS(N((R@((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyRGscst}|jddj|jj|}fd}fd}|j||j||jj|S(s3
        Full featured tests of reflector.
        R
tfirstcs:dtdfg}jjtd|}|jjS(NR
RItwhereClause(RRFtloadObjectsFromRRBtgotData(t_RJRD(R@(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt	_loadBacks	csIjtjdkdjd}jt|d|S(Nisno rowisno match(t
failUnlesstlenR R<(RMtparent(R@R5(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt
_getParents
(Rt
assignKeyAttrR9RFt	insertRowRBt_cbTestReflector(R@R2RDRNRR((R@R5s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyttest_reflectors	

csgig}ix|tdjD]h}t}|jd|j|dd<|_|<|jjj|d}q%Wt
j|}dgfd}fd}fd}fd}	fd	}
fd
}fd}fd}
fd
}fd}fdfd}fd}|j||j||j||j||j|	|j|
|j||j||j|
|j||j||j|
|j||j||j|
|j||S(NiRRIRcs(jjtd}|jjS(Nt	parentRow(RFRKR!RBRL(RMRD(RQR@(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt_loadObjectsscsjtjjkdjtjjkdtjx8jD]-}jt||jd|jq[WdS(Nsno rows on querysdid not load child rows: %dschild %d does not match(RORPR tnum_iterationst	childRowsR<R(RMtchild(RQtchild_valuesR@(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt_checkLoadObjectsscsUjtjjkdjtjjkdtjdS(Nsno rows on queryschild rows added twice!: %d(RORPR RYRZ(RM(RQR@(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt_checkLoadObjects2scs#jd<jjS(Ni(R9RFt	updateRow(RM(R@R5RQ(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt
_changeParentscs:dtdfg}jjtd|}|jjS(NR
RIRJ(RRFRKRRBRL(RMRJRD(R@(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyRNscsdjtjdkdjd}jt|ddd|j<d}dS(Nisno rowisno match(RORPR R<R
R"(RMRQ(R@R5ttest_values(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt_checkLoadBacks

cs|g}xftdjD]R}t}|jdd|j||j<|jjj|qWt	j
|S(NiR
sbulk%d(trangeRYRRSR9R
tappendRFRTRt
gatherResults(RMtdsR(R2(R@Ra(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt_saveMoreTestRowss	cs"jjd}|jjS(NR
(RFRKRBRL(RMRD(R@(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt
_loadRowsBackscsejtjjdkdx8jD]-}jt||jd|jq0WdS(Nisquery did not get rowsschild %s does not match(RORPR RYR<R
(RMR2(R@Ra(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt_checkRowsBacks
cseg}x@jD]5}j||j<|jjj|qWtj|}|jS(N(	R R9R
RdRFR_RReRB(RMRfR2RD(R@Rat
_cbChangeRows(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt_changeRowsscs
d_dS(N(R"R (RM(R@(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyRj	scsOg}x*jD]}|jjj|qWtj|}|jS(N(R RdRFt	deleteRowRReRB(RMRfR2RD(R@Rj(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt_deleteRowss
cs#jtjdkddS(Nisrows were not deleted(RORPR (RM(R@(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt_checkRowsDeleteds(
RcRYRRSR9RRdRFRTR"RReRB(R@RQtinsertsR(R2RDRXR]R^R`RNRbRgRhRiRkRmRn((R\R@RaRjRQR5s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyRUsV	

			
	















cs]tjddj}jj}fd}|j||S(s9
        Create a row and then try to delete it.
        R
RIcsjjS(N(RFRl(RM(R@R2(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt
_deleteRow4s(RRSR9RFRTRB(R@R5RDRp((R@R2s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyttest_saveAndDelete*s	
cCs
||_dS(N(R (R@R ((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyRL<sN(RRt__doc__RtIReactorThreadsRR"tskiptcountR9RERCRHRGRVtrowObjectSuppressiontreflectorSuppressionRRURqRL(((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyR?qs								y	g>@tSQLReflectorTestBasecBs eZdZdZdZRS(s+
    Base class for the SQL reflector.
    csjj_jjjrjjjd}|jfd|jdntj	d}|jfd|jfdjrtpt
|jfd|S(NsDROP TABLE testTablecsjjdS(NsDROP TABLE childTable(tdbpooltrunOperation(RM(R@(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyR)OscSsdS(N(R"(RM((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyR)QscsjjtS(N(RyRztmain_table_schema(RM(R@(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyR)UscsjjtS(N(RyRztchild_table_schema(RM(R@(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyR)VscsjttgS(N(RyRR(RM(treflectorClassR@(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyR)Ys(tstartDBtmakePoolRytstartt	can_clearRzRBt
addErrbackRtsucceedR"tescape_slashesRtNoSlashSQLReflector(R@RD((R@R}s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyRAHs

	csHjjd}|jfdfd}|j||S(NsDROP TABLE testTablecsjjdS(NsDROP TABLE childTable(RyRz(RM(R@(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyR)_scsjjjdS(N(RytclosetstopDB(RM(R@(s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyRas
(RyRzRB(R@RDR((R@s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyRG]s

(RRRrRARG(((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyRxCs	tDeprecationTestCasecBs eZdZdZdZRS(s:
    Test various deprecations of twisted.enterprise.
    cCs#d}|jtdt|dS(s3
        Test deprecation of L{RowObject}.
        cSstS(N(R(((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pytwrapperqss6twisted.enterprise.row is deprecated since Twisted 8.0N(tassertWarnstDeprecationWarningt__file__(R@R((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyttest_rowDeprecationms
		cCs6d}ddlm}|jtd|j|dS(s6
        Test deprecation of L{SQLReflector}.
        cSs
tddS(N((RR"(((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyR|si(tsqlreflectors<twisted.enterprise.reflector is deprecated since Twisted 8.0N(ttwisted.enterpriseRRRR(R@RR((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyttest_reflectorDeprecationxs		(RRRrRR(((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyRhs	tReflectorTestCaseRcBseZdZdZRS(s;
    An sql reflector that only escapes single quotes.
    cCs|jddS(Nt's''(treplace(R@ttext((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt
escape_strings(RRRrR(((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyRs(((RrR&ttwisted.internetRRRttwisted.enterprise.rowRttwisted.enterprise.reflectorRttwisted.enterprise.sqlreflectorRRRttwisted.test.test_adbapiRttwisted.trial.utilRtsuppressWarningt
twisted.trialR	RR!RRR{R|R;R9R<RRvRwR?ttimeoutRxtTestCaseRtglobalsR(((s?/usr/lib/python2.7/dist-packages/twisted/test/test_reflector.pyt<module>s:
					%