mς .αΈEc@s€dkZdkZdkZeiƒdkZdkZdklZdkl Z dkl Z dk l Z dk l Z dklZdklZdklZd klZd Zhd d <d d<deƒ}|i|ƒiƒS(N(s DemoStoragetquotaii(tZODBtZODB.DemoStoraget DemoStoragetstDBtopen(R RR((RtmakeConnection=s  tCopySupportTestBasecBstZd„Zd„ZRS(NcCstƒ|_yΑ|iiƒ}tƒ}||d<||_tiƒ}|_ t |id|ƒ|_ t |i dƒt |i dƒt |i dƒ}t |i dƒ}t|dddddƒtiƒWn|iiƒ‚nXtiƒ|i idƒ|i idƒfS( Nt Applicationtstdouttfolder1tfolder2tfilett content_types text/plain(R#Rt connectiontroottrR%tat cStringIOtStringIOt responseOutt makerequesttapptmanage_addFoldertgetattrR'R(Rt transactiontcommittclosetbegint_getOb(RR/R'R(R2R.((Rt _initFoldersFs(       cCsCtiƒ|iiiƒ|iiƒ|`|`|` |`dS(N( R7tabortRR4t_p_jartsyncR,R9R2R-(R((Rt _cleanAppcs  (RRR<R@(((RR$Ds tTestCopySupportcBs}tZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „ZRS(NcCsu|iƒ\}}t|_|_||_||_tƒ|_ti |iƒ|_ t dt ƒi|iƒƒdS(N(RR<R'R(tFILE_META_TYPEStall_meta_typesRtpolicytSecurityManagertsetSecurityPolicyt oldPolicytnewSecurityManagerRRt__of__R-(RR(R'((RtsetUpos   cCs=tƒti|iƒ|`|`|`|`|iƒdS(N( tnoSecurityManagerRERFRRGRDR(R'R@(R((RttearDown|scCs_dkl}dkl}dkl}dkl}dkl}|||ƒ|||ƒdS(N(s CopyContainer(s CopySource(sICopyContainer(s ICopySource(s verifyClass(tOFS.CopySupportt CopyContainert CopySourcetOFS.interfacestICopyContainert ICopySourcetzope.interface.verifyt verifyClass(RRQRTRNRORR((Rttest_z3interfaces‡s      cCsq|id|iiƒjƒ|iiddddƒ|id|iiƒjƒ|id|iiƒjƒdS(NR)tidtnew_idtfilex(Rt failUnlessR't objectIdstmanage_renameObjecttfailIf(R((Rt testRename‘scCs™|id|iiƒjƒ|id|iiƒjƒ|iiddƒ}|ii|ƒ|id|iiƒjƒ|id|iiƒjƒdS(NR)tids(sfile( RRYR'RZR\R(tmanage_copyObjectstcookietmanage_pasteObjects(RR`((RttestCopy—s cCs™|id|iiƒjƒ|id|iiƒjƒ|iiddƒ}|ii|ƒ|id|iiƒjƒ|id|iiƒjƒdS(NR)R^(sfile( RRYR'RZR\R(tmanage_cutObjectsR`Ra(RR`((RttestCutŸs cCs™|id|iiƒjƒt|idddddƒ|iiddƒ}|ii|ƒ|i d|iiƒjƒ|i d|iiƒjƒdS(NtnewfileR)R*R+s text/plainR^(Re( RR\R'RZRR_R`R(RaRY(RR`((RttestCopyNewObject§s cCsΓ|id|iiƒjƒ|id|iiƒjƒ|iiddƒ}|ii|ƒ}|id|iiƒjƒ|id|iiƒjƒ|i|hdd<dd