mò 0á¸Ec@súdZdkZdkZedjo$eeiieiddƒƒndkZdkl Z dkl Z dkl Z dkl Z d k lZd klZd klZd e ifd „ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZde ifd„ƒYZdefd„ƒYZde ifd„ƒYZde ifd„ƒYZdkZgZgZgZde ifd„ƒYZ de ifd„ƒYZ!d e i"e ifd!„ƒYZ#d"„Z$edjo e%ƒndS(#s<Tests the base.TestCase class NOTE: This is *not* an example TestCase. Do not use this file as a blueprint for your own tests! See testPythonScript.py and testShoppingCart.py for example test cases. See testSkeleton.py for a quick way of getting started. $Id: testBaseTestCase.py 30565 2005-05-30 22:07:11Z shh $ Nt__main__is framework.py(sbase(sutils(s connections(ssandbox(saq_base(sgetSecurityManager(snewSecurityManagertHookTestcBsPtZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS( NcCsg|_tii|ƒdS(N(tselft_calledtbasetTestCasetsetUp(R((tD/data/zmath/zope/lib/python/Testing/ZopeTestCase/testBaseTestCase.pyR+s cCs$|iidƒtii|ƒdS(Nt beforeSetUp(RRtappendRRR(R((RR/scCs$|iidƒtii|ƒdS(Nt_setup(RRR RRR (R((RR 3scCs$|iidƒtii|ƒdS(Nt afterSetUp(RRR RRR (R((RR 7scCs$|iidƒtii|ƒdS(NtbeforeTearDown(RRR RRR (R((RR ;scCs$|iidƒtii|ƒdS(Nt beforeClose(RRR RRR (R((RR ?scCs$|iidƒtii|ƒdS(Nt afterClear(RRR RRR(R((RRCscCs|i|i|ƒdS(N(Rt assertEqualRtsequence(RR((Rt assertHooksGs( t__name__t __module__RRR R R R RR(((RR)s       t TestTestCasecBs³tZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„Zd„Zd„Zd„Zd„Zd„ZRS(NcCs|idddgƒdS(NRR R (RR(R((Rt testSetUpMscCs-g|_|iƒ|idddgƒdS(NR R R(RRttearDownR(R((Rt testTearDownPs  cCs:|itiƒdƒ|iƒ|itiƒdƒdS(Nii(RRt connectionstcountt_app(R((RttestAppOpensConnectionUs cCs-g|_|idƒ|iddgƒdS(NiR R(RRt_clearR(R((RttestClearCallsCloseHookZs  cCs'g|_|iƒ|idgƒdS(NR(RRRR(R((RttestClearSkipsCloseHook_s  cCsn|it|iƒƒdƒd|i_|it|iƒƒdƒ|iƒ|it|iƒƒdƒdS(Nii(RRtlentgetObjectsInTransactiontapptfooR(R((RttestClearAbortsTransactionds   cCs:|itiƒdƒ|iƒ|itiƒdƒdS(Nii(RRRRR(R((RttestClearClosesConnectionks cCsD|iƒ|itiƒdƒ|iƒ|itiƒdƒdS(Nii(RRRRRR(R((RttestClearClosesAllConnectionsps  cCs|ii}|iddggƒtd|idƒi|ƒƒ|i t ƒi ƒi ƒdƒ|i ƒ|i t ƒi ƒi ƒdƒdS(Ntuser_1tsAnonymous User(RR!t acl_userstuftuserFolderAddUsertnewSecurityManagertNonet getUserByIdt__of__RtgetSecurityManagertgetUsert getUserNameR(RR)((RttestClearLogsOutvs   cCs4g|_|iƒ|iƒ|iddgƒdS(NR(RRRR(R((RttestClearSurvivesDoubleCall~s   cCs1g|_|iƒ|iƒ|idgƒdS(NR(RRt_closeRR(R((Rt!testClearSurvivesClosedConnection„s   cCs0g|_d|_|iƒ|idgƒdS(NR(RRR,R!RR(R((RttestClearSurvivesBrokenAppŠs   cCs4g|_t|dƒ|iƒ|idgƒdS(NR!R(RRtdelattrRR(R((RttestClearSurvivesMissingApps   cCs9g|_t|iƒ|_|iƒ|idgƒdS(NR(RRtaq_baseR!RR(R((RttestClearSurvivesMissingRequest–s  cCsn|it|iƒƒdƒd|i_|it|iƒƒdƒ|iƒ|it|iƒƒdƒdS(Nii(RRRR R!R"R4(R((RttestCloseAbortsTransactionœs   cCs:|itiƒdƒ|iƒ|itiƒdƒdS(Nii(RRRRR4(R((RttestCloseClosesConnection£s cCsD|iƒ|itiƒdƒ|iƒ|itiƒdƒdS(Nii(RRRRRR4(R((RttestCloseClosesAllConnections¨s  cCs|ii}|iddggƒtd|idƒi|ƒƒ|i t ƒi ƒi ƒdƒ|i ƒ|i t ƒi ƒi ƒdƒdS(NR&R'sAnonymous User(RR!R(R)R*R+R,R-R.RR/R0R1tlogout(RR)((RttestLogoutLogsOut®s   cCsOtiƒ}t|dƒo |iSn%t|dƒo |iSn td‚dS(Nt_objectst _resourcessUnknown version(t transactiontgetttthasattrR@RAt Exception(RRD((RR ¶s    (RRRRRRRR#R$R%R2R3R5R6R8R:R;R<R=R?R (((RRKs&                  tTestSetUpRaisescBs6tZdfd„ƒYZd„Zd„Zd„ZRS(NtErrorcBstZRS(N(RR(((RRHÃscCsZyti|ƒWnB|ij o3|idddgƒ|itiƒdƒnXdS(NRR Ri(RRRRHRRRR(R((RRÆs cCsti|ƒ|i‚dS(N(RR RRH(R((RR Îs cCsdS(N((R((Rt testTriggerÒs(RRRHRR RI(((RRGÁs  tTestTearDownRaisescBs6tZdfd„ƒYZd„Zd„Zd„ZRS(NRHcBstZRS(N(RR(((RRHØscCscg|_yti|ƒWnB|ij o3|idddgƒ|itiƒdƒnXdS(NR R Ri( RRRRRHRRRR(R((RRÛs  cCsti|ƒ|i‚dS(N(RR RRH(R((RR äs cCsdS(N((R((RRIès(RRRHRR RI(((RRJÖs tTestConnectionRegistrycBsftZdZdfd„ƒYZeZd„Zd„Zd„Zd„Zd„Z d„Z d „Z RS( s.Test the registry with Connection-like objectstConncBs tZdZd„Zd„ZRS(NicCs d|_dS(Ni(Rt_closed(R((RtcloseñscCs|iS(N(RRM(R((Rtclosedós(RRRMRNRO(((RRLïs cCs[tiƒ|_|iƒ|iƒ|iƒg|_x!|iD]}|ii|ƒq=WdS(N(RtConnectionRegistryRtregtKlasstconnstconntregister(RRT((RR øs $ cCs>t|iƒdjpt‚|iiƒdjpt‚dS(Ni(RRRQtAssertionErrorR(R((Rt testRegisterþscCs¸t|iƒdjpt‚|ii|idƒt|iƒdjpt‚|idiƒdjpt‚|idiƒdjpt‚|idiƒdjpt‚dS(Niiii(RRRQRVRNRSRO(R((RttestCloseConnections !!cCsæt|iƒdjpt‚|ii|idƒt|iƒdjpt‚|idiƒdjpt‚|idiƒdjpt‚|idiƒdjpt‚|ii|idƒt|iƒdjpt‚|idiƒdjpt‚|idiƒdjpt‚|idiƒdjpt‚|ii|idƒt|iƒdjpt‚|idiƒdjpt‚|idiƒdjpt‚|idiƒdjpt‚dS(Niiii(RRRQRVRNRSRO(R((RttestCloseSeveralConnections s !!!!!!!!cCs×t|iƒdjpt‚|iƒ}|ii|ƒt|iƒdjpt‚|idiƒdjpt‚|idiƒdjpt‚|idiƒdjpt‚|iƒdjpt‚dS(Niiii( RRRQRVRRRTRNRSRO(RRT((RttestCloseForeignConnections !!!cCs®t|iƒdjpt‚|iiƒt|iƒdjpt‚|idiƒdjpt‚|idiƒdjpt‚|idiƒdjpt‚dS(Niiii(RRRQRVtcloseAllRSRO(R((RttestCloseAllConnections*s  !!cCs„t|iƒdjpt‚|ii|idƒpt‚|ii|idƒpt‚|ii|idƒpt‚dS(Niiii(RRRQRVtcontainsRS(R((Rt testContains3s!!( RRt__doc__RLRRR RWRXRYRZR\R^(((RRKìs     tTestApplicationRegistrycBs'tZdZdfd„ƒYZeZRS(s/Test the registry with Application-like objectstAppcBs-tZdfd„ƒYZd„Zd„ZRS(NRLcBs tZdZd„Zd„ZRS(NicCs d|_dS(Ni(RRM(R((RRNAscCs|iS(N(RRM(R((RROCs(RRRMRNRO(((RRL?s cCs"|iƒ|_|iƒ|_dS(N(RRLtREQUESTt_p_jar(R((Rt__init__FscCs,|iiƒo|iiƒodSndS(Nii(RRbRORc(R((RROJs (RRRLRdRO(((RRa>s (RRR_RaRR(((RR`;s tTestListConvertercBsqtZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z RS( sTest utils.makelistcCs|itigƒgƒdS(N(RRtutilstmakelist(R((Rt testList0UscCs#|itidgƒdgƒdS(NR"(RRRfRg(R((Rt testList1XscCs)|itiddgƒddgƒdS(NR"tbar(RRRfRg(R((Rt testList2[scCs|itifƒgƒdS(N(RRRfRg(R((Rt testTuple0^scCs |itidƒdgƒdS(NR"(sfoo(RRRfRg(R((Rt testTuple1ascCs#|itidƒddgƒdS(NR"Rj(sfoosbar(RRRfRg(R((Rt testTuple2dscCs|itidƒgƒdS(NR'(RRRfRg(R((Rt testString0gscCs |itidƒdgƒdS(NR"(RRRfRg(R((Rt testString1jscCs |itidƒdgƒdS(Nsfoo, bar(RRRfRg(R((Rt testString2mscCs|ittidƒdS(Ni(Rt assertRaisest ValueErrorRfRg(R((Rt testIntegerpscCs0dfd„ƒY}|itti|ƒƒdS(NtdummycBstZRS(N(RR(((RRuts(RuRRrRsRfRg(RRu((Rt testObjectss(RRR_RhRiRkRlRmRnRoRpRqRtRv(((RReRs           tTestRequestVariablescBstZdZd„ZRS(s2Makes sure the REQUEST contains required variablescCsD|ii}|i|iddƒdƒ|i|iddƒdƒ|i|iddƒdƒ|i|iddƒdƒ|i|iddƒdƒ|i|iddƒdƒ|i|iddƒdƒ|i|id dƒdƒ|i|id dƒdƒ|i|id dƒdƒ|i|id dƒdƒdS( Nt SERVER_NAMER't SERVER_PORTtREQUEST_METHODtURLt SERVER_URLtURL0tURL1tBASE0tBASE1tBASE2t ACTUAL_URL(RR!Rbtrequestt failIfEqualRC(RRƒ((RttestRequestVariables{s (RRR_R…(((RRwxs tTestRequestGarbage1cBs3tZdZdfd„ƒYZd„Zd„ZRS(s;Make sure base.app + base.close does not leak REQUEST._heldtHeldcBstZd„ZRS(NcCstidƒdS(Nt__del__(t _sentinel1R (R((RRˆ”s(RRRˆ(((RR‡“scCs,tiƒ|_|iii|iƒƒdS(N(RR!RtanAppRbt_holdR‡(R((RR —scCs1ti|iƒtiƒ|itdgƒdS(NRˆ(RRNRRŠtgctcollectRR‰(R((RttestBaseCloseClosesRequest›s (RRR_R‡R RŽ(((RR†s  tTestRequestGarbage2cBs3tZdZdfd„ƒYZd„Zd„ZRS(s=Make sure self._app + self._clear does not leak REQUEST._heldR‡cBstZd„ZRS(NcCstidƒdS(NRˆ(t _sentinel2R (R((RRˆ¥s(RRRˆ(((RR‡¤scCs|iii|iƒƒdS(N(RR!RbR‹R‡(R((RR ¨scCs+|iƒtiƒ|itdgƒdS(NRˆ(RRRŒRRR(R((RttestClearClosesRequest«s  (RRR_R‡R R‘(((RR¡s  tTestRequestGarbage3cBs3tZdZdfd„ƒYZd„Zd„ZRS(s=Make sure self._app + self._clear does not leak REQUEST._heldR‡cBstZd„ZRS(NcCstidƒdS(NRˆ(t _sentinel3R (R((RRˆµs(RRRˆ(((RR‡´scCs|iii|iƒƒdS(N(RR!RbR‹R‡(R((RR ¸scCs+|iƒtiƒ|itdgƒdS(NRˆ(RRRŒRRR“(R((RR‘»s  (RRR_R‡R R‘(((RR’±s  cCsÞdkl}l}|ƒ}|i|tƒƒ|i|tƒƒ|i|tƒƒ|i|tƒƒ|i|t ƒƒ|i|t ƒƒ|i|t ƒƒ|i|t ƒƒ|i|t ƒƒ|i|tƒƒ|S(N(s TestSuites makeSuite(tunittestt TestSuitet makeSuitetsuitetaddTestRRGRJRKR`ReRwR†RR’(R•R–R—((Rt test_suiteÁs (&R_tostsysRtexecfiletpathtjoinRBtTesting.ZopeTestCaseRRfRtsandboxt AcquisitionR9t AccessControlR/t AccessControl.SecurityManagementR+RRRRGRJRKR`ReRwRŒR‰RR“R†Rt SandboxedR’R™t framework(RRfR“RR‰RRGRŒRJRRKR9R+R›RR`RBR’RR†R/R R™ReRwRš((Rt?s: $        "vO&