mò 0á¸Ec@sodZdkZdkZedjo$eeiieiddƒƒndklZdk l Z dk l Z dk l Z d k l Z d klZd klZd klZdkZd „Zdeifd„ƒYZdklZdklZlZlZdefd„ƒYZdeifd„ƒYZdeifd„ƒYZd„Zedjo e ƒndS(sMTests the ZopeTestCase, eating its own dogfood 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: testZopeTestCase.py 30565 2005-05-30 22:07:11Z shh $ Nt__main__is framework.py(s ZopeTestCase(s folder_name(s user_name(s user_role(sstandard_permissions(saq_base(sgetSecurityManager(sListTypecCstt|ƒ|ƒS(N(thasattrtaq_basetobtattr(RR((tD/data/zmath/zope/lib/python/Testing/ZopeTestCase/testZopeTestCase.pythasattr_+stTestZopeTestCasecBsLtZdZeiiZeiiZd„Zd„Zd„Z d„Z d„Z d„Z d„Z d„Zd „Zd „Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#e$d„Z%e$d„Z&d „Z'RS(!s,Incrementally exercise the ZopeTestCase API.cCsg|_tiƒdS(N(tselft_calledt transactiontbegin(R((RtsetUp5s cCs|iidƒdS(Nt beforeSetUp(RR tappend(R((RR <scCs|iidƒdS(Nt afterSetUp(RR R(R((RR?scCs|iidƒdS(NtbeforeTearDown(RR R(R((RRBscCs|iidƒdS(Nt beforeClose(RR R(R((RREscCs|iidƒdS(Nt afterClear(RR R(R((RRHscCsx|iƒ|_|iƒ|it|itƒƒ|it|dƒƒ|it|ii ƒjƒ|i t tƒdS(Ntfolder( Rt_apptappt _setupFoldert failUnlessRt folder_namet user_roleRtuserdefined_rolestassertPermissionsOfRoletstandard_permissions(R((Rttest_setupFolderKs  cCs@|iƒ|_|iƒ|iƒ|it|idƒƒdS(Nt acl_users(RRRRt_setupUserFolderRRR(R((Rttest_setupUserFolderTs  cCsˆ|iƒ|_|iƒ|iƒ|iƒ|iiit ƒ}|i |ƒ|i |i ƒtdfƒ|i t|iƒtƒdS(Nt Authenticated(RRRRRt _setupUserRRt getUserByIdt user_nametacl_userRt assertEqualtgetRolesRttypetrolestListType(RR%((Rttest_setupUser[s    cCso|iƒ|_|iƒ|iƒ|iƒdtg}|i|ƒ|i i i t ƒ}|i||ƒdS(NtManager(RRRRRR"Rt test_rolestsetRolesRRR#R$R%tassertRolesOfUser(RR%R-((Rt test_setRolesfs     cCss|iƒ|_|iƒ|iƒ|iƒ|iƒdtg}|i |ƒt ƒi ƒ}|i ||ƒdS(NR,(RRRRRR"tloginRR-R.tgetSecurityManagertgetUsert auth_userR/(RR4R-((Rttest_setRoles_2qs      cCs„|iƒ|_|iƒ|iƒ|iiiddggƒdtg}|i |dƒ|iii dƒ}|i ||ƒdS(Ntuser_2tsecretR,(RRRRRRRtuserFolderAddUserRR-R.R#R%R/(RR%R-((Rttest_setRoles_3}s   cCsu|iƒ|_|iƒ|iƒ|iƒdtg}|it |ƒƒ|i i i t ƒ}|i||ƒdS(NR,(RRRRRR"RR-R.ttupleRRR#R$R%R/(RR%R-((Rttest_setRoles_4ˆs    cCsl|iƒ|_|iƒ|iƒ|iƒdg}|idƒ|ii i t ƒ}|i ||ƒdS(NR,(RRRRRR"R-R.RRR#R$R%R/(RR-R%((Rttest_setRoles_5“s     cCsV|iƒ|_|iƒddg}|ittƒ|i|ƒ|i|tƒdS(Ns Add FolderssDelete objects( RRRRt test_permsRRRtsetPermissions(RR=((Rttest_setPermissionsžs    cCs]|iƒ|_|iƒ|iidƒ|igdƒ|itdƒ|itdƒdS(Ntrole_2( RRRRRt_addRoleRR>R(R((Rttest_setPermissions_2§s  cCs\|iƒ|_|iƒddg}|ittƒ|it |ƒƒ|i|tƒdS(Ns Add FolderssDelete objects( RRRRR=RRRR>R:(RR=((Rttest_setPermissions_3°s   cCsS|iƒ|_|iƒdg}|ittƒ|idƒ|i|tƒdS(Ns Add Folders( RRRRR=RRRR>(RR=((Rttest_setPermissions_4¹s    cCs…|iƒ|_|iƒ|iƒ|iƒtƒiƒiƒ}|i |dƒ|i ƒtƒiƒi ƒ}|i |t ƒdS(NsAnonymous User(RRRRRR"R2R3t getUserNamet auth_nameR&R1tgetIdR$(RRF((Rt test_loginÂs    cCsš|iƒ|_|iƒ|iƒ|iiiddggƒtƒi ƒi ƒ}|i |dƒ|i dƒtƒi ƒiƒ}|i |dƒdS(NR6R7sAnonymous User(RRRRRRRR8R2R3RERFR&R1RG(RRF((Rt test_login_2Îs   cCs=|iƒ|_|iƒ|iƒ|it|idƒdS(Ntuser_3(RRRRRt assertRaisestAttributeErrorR1(R((Rt test_login_3Ús  cCsj|iƒ|_|iƒ|iƒ|iƒ|iƒ|iƒtƒi ƒi ƒ}|i |dƒdS(NsAnonymous User( RRRRRR"R1tlogoutR2R3RERFR&(RRF((Rt test_logoutás     cCs¬|iƒ|_|iƒ|iƒ|iƒ|iƒ|idƒ|i|ii i t ƒƒt ƒi ƒiƒ}|i|dƒ|i|iddgƒ|iƒdS(NisAnonymous UserRR(RRRRRR"R1t_cleartfailIft__dict__thas_keyRR2R3RERFR&R (RRF((Rt test_clearìs     cCs|iƒ|it|itƒƒ|it|dƒƒ|it|iiƒjƒ|i t tƒ|it|idƒƒ|ii i t ƒ}|i|ƒ|i|iƒtdfƒ|it|iƒtƒtƒiƒiƒ}|i|t ƒ|i|iddgƒdS(NRRR!R R(Rt_setUpRRRRRRRRRRR#R$R%R&R'R(R)R*R2R3RGRFR (RRFR%((Rt test_setUpûs  cCs~|iƒg|_|iƒ|i|iiitƒƒt ƒi ƒi ƒ}|i |dƒ|i |idddgƒdS(NsAnonymous UserRRR(RRUR t _tearDownRQRRRRSRR2R3RERFR&(RRF((Rt test_tearDown s   cCsnd|_|iƒ|it|itƒƒtƒiƒi ƒ}|i |dƒ|i |i ddgƒdS(NisAnonymous UserR R( Rt_setup_fixtureRURQRRRR2R3RERFR&R (RRF((Rttest_setupFlags   cCsM|iƒ|_|iƒ|igdƒ|itdƒ|itdƒdS(NtOwner(RRRRRR>R(R((Rttest_setOwnerPermissions$s  cCsL|iƒ|_|iƒ|idƒ}|itdƒ|i|dƒdS(NR,( RRRRtgetPermissionsOfRolet manager_permsR>RR(RR^((Rttest_setManagerPermissions,s  cCsx|iƒ|_|iƒ|idƒ}|iiddgddƒ|idgdƒ|i dƒ|i|dƒdS(NR,sTake ownershipR[tacquirei( RRRRR]R^Rtmanage_permissionRtremove(RR^((Rttest_setManagerPermissions_26s  cCs[|djo |i}n|i|ƒ}g}|D] }|do||dq4q4~S(scReturns sorted list of permission names of the given role in the given context. tselectedtnameN( tcontexttNoneRRtpermissionsOfRoletroletpermst_[1]tp(RRiRfRjRkRl((RR]Ds   cCsGt|ƒ}|iƒ|i||ƒ}|iƒ|i ||ƒdS(sŸCompares list of permission names to permissions of the given role in the given context. Fails if the lists are not found equal. N( tlistt permissionstlhstsortRR]RiRftrhsR&(RRnRiRfRoRq((RRMs    cCsUt|ƒ}|iƒt|iƒƒ}|idƒ|iƒ|i ||ƒdS(siCompares list of role names to roles of user. Fails if the lists are not found equal. R!N( RmR)RoRptuserR'RqRbRR&(RR)RrRqRo((RR/Xs    ((t__name__t __module__t__doc__t ZopeTestCaseR RUttearDownRWR RRRRRR R+R0R5R9R;R<R?RBRCRDRHRIRMRORTRVRXRZR\R_RcRgR]RR/(((RR/sF                (s UserFolder(saq_inners aq_parentsaq_chaintWrappingUserFoldercBstZdZd„ZRS(s*User folder returning wrapped user objectscCsti||ƒi|ƒS(N(t UserFolderR3RRet__of__(RRe((RR3js(RsRtRuR3(((RRxgs tTestPlainUserFoldercBs tZdZd„Zd„ZRS(s/Tests whether user objects are properly wrappedcCsH|iiitƒ}|it|dƒƒ|i|t |ƒjƒdS(NR( RRRR#R$RrRQRRR(RRr((RttestGetUserDoesNotWrapUserqscCsŠtƒiƒ}|i|iƒtƒ|it|dƒƒ|i|i i dƒ|i|i i i dƒ|i|i i i i dƒdS(NRtUserRytFolder( R2R3RrRR&RGR$RRt __class__Rst aq_parent(RRr((RttestLoggedInUserIsWrappedvs (RsRtRuR|R(((RR{ns  tTestWrappingUserFoldercBs)tZdZd„Zd„Zd„ZRS(s/Tests whether user objects are properly wrappedcCs|iidtƒƒdS(NR(RRt _setObjectRx(R((RR‚scCsa|iiitƒ}|it|dƒƒ|i|t |ƒjƒ|i|i i i dƒdS(NRRx( RRRR#R$RrRRRQRR€RRs(RRr((RttestGetUserWrapsUser…scCsŠtƒiƒ}|i|iƒtƒ|it|dƒƒ|i|i i dƒ|i|i i i dƒ|i|i i i i dƒdS(NRR}RxR~( R2R3RrRR&RGR$RRRRsR€(RRr((RR‹s (RsRtRuRR„R(((RR‚s   cCsYdkl}l}|ƒ}|i|tƒƒ|i|tƒƒ|i|tƒƒ|S(N(s TestSuites makeSuite(tunittestt TestSuitet makeSuitetsuitetaddTestRR{R‚(R†R‡Rˆ((Rt test_suite”s  (!RutostsysRstexecfiletpathtjointTestingRvtTesting.ZopeTestCaseRR$RRt AcquisitionRt AccessControlR2ttypesR*R RRtAccessControl.UserRytaq_innerR€taq_chainRxR{R‚RŠt framework(R‚R—RR€RRyRvRxR$R–RRRRŒRR*R R2R{RŠR‹((Rt?s. $          ÿ6