;ò ßAc@sdkZdkZedjo$eeiieiddƒƒndklZdkl Z l Z l Z l Z l Z dklZlZlZdklZdklZdkZeiƒZeiieƒeieƒeiid ƒ\ZZd eeeifZd k l!Z!d k"l#Z#ei$d ƒei$dƒdk%Z%dk&Z&dk'Tydk(l)Z)Wn e*j oe'e+dƒnXe)i,Z-de%i%fd„ƒYZ.de.e&i/fd„ƒYZ0edjoe1ddddƒndk2Z2d„Z3dS(Ns__main__is framework.py(s ZopeTestCase(saccess_contents_informationsviewsadd_documents_images_and_filesschange_images_and_filessview_management_screens(snewSecurityManagersnoSecurityManagersgetSecurityManager(s Unauthorized(sUnrestrictedUserishttp://%s:%d/%s(s IUserFolder(sVerifysGroupUserFoldersLDAPUserFolder(s*(sdefaultssÿ To perform this test case, you must provide a 'LDAPconfig.py' file with the following structure: defaults = { 'title' : 'LDAP User Folder' , 'server' : 'localhost:389' , 'login_attr' : 'cn' , 'uid_attr': 'cn' , 'users_base' : 'ou=people,dc=dataflake,dc=org' , 'users_scope' : 2 , 'roles' : 'Anonymous' , 'groups_base' : 'ou=groups,dc=dataflake,dc=org' , 'groups_scope' : 2 , 'binduid' : 'cn=Manager,dc=dataflake,dc=org' , 'bindpwd' : 'mypass' , 'binduid_usage' : 1 , 'rdn_attr' : 'cn' , 'local_groups' : 1 # Keep this true , 'use_ssl' : 0 , 'encryption' : 'SHA' , 'read_only' : 0 } Of course, you've got to replace all values by some relevant ones for your project. This test case won't complete without. NEVER PUT THIS FILE INTO YOUR CVS ! Unless you want your password to be publicly known... sTestLDAPUserFolderBasicscBs tZdZd„Zd„ZRS(sÇ Basic LDAPUserFolder binding This test just creates a LDAPUF connexion for the user source and performs a few API tests. Heavy LDAP testing is delegated to TestLDAPUserFolder class. c&Csº|iidddtdƒdtdƒdtdƒdtdƒdtdƒd td ƒd td ƒd td ƒd td ƒd td ƒdtdƒdtdƒdtdƒdtdƒdtdƒdtdƒdtdƒƒ|iiiidtdƒdtdƒdtdƒdtdƒd td ƒd td ƒddd td ƒd td ƒd td ƒdtdƒdtdƒdtdƒdtdƒdtdƒdtdƒƒ|iƒdS(sE Basic LDAP initialization inside gruf's user source sUserss9manage_addProduct/LDAPUserFolder/manage_addLDAPUserFolderstitles LDAP_serversservers login_attrsuid_attrs users_bases users_scopesroless groups_bases groups_scopesbinduidsbindpwds binduid_usagesrdn_attrs local_groupss encryptionsuse_ssls read_onlys obj_classesstop,inetOrgPersonN(sselfsgrufsreplaceUserSourcesdgsUserss acl_userss manage_editsdelete_created_users(sself((s\/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testLDAPUserFolder.pysgruf_sources_setupZsJ                              cCs|iiiiƒdS(s&Ensure LDAP is up and running N(sselfsgrufsUserss acl_userssgetUsers(sself((s\/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testLDAPUserFolder.pys test01_LDAPUpŒs(s__name__s __module__s__doc__sgruf_sources_setups test01_LDAPUp(((s\/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testLDAPUserFolder.pysTestLDAPUserFolderBasicsSs  2sTestLDAPUserFolderAPIcBs;tZdZd„Zd„Zd„Zd„Zd„ZRS(sZ Whole API test for GRUF+LDAP Users stored in LDAP Groups stored in ZODB cCsdS(sW The original test didn't work because of LDAPUF's cache -> we disable N((sself((s\/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testLDAPUserFolder.pystest_getPureUsersšscCsdS(sW The original test didn't work because of LDAPUF's cache -> we disable N((sself((s\/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testLDAPUserFolder.pys test_getUsers scCsdS(s. LDAPUF has no domain support N((sself((s\/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testLDAPUserFolder.pystest_userSetDomains¦scCsN|iidƒ}|iddƒ|i|idƒdj|idƒƒdS(sSet user's properties su1ssnsSecond Name ValueN(sselfsgrufsgetUsersu1s setPropertys failUnlesss getProperty(sselfsu1((s\/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testLDAPUserFolder.pystest_setProperty¬sc Cs¤|i|iitddƒdgƒ|i|iitddƒdgƒ|iitddƒ}|iƒ|i|dddddd d d d d dg ƒdS(Ns login_attrsu3sU3sUsu1su10su11su2su4su5su6su7su8su9(sselfsfailUnlessEqualsgrufssearchUsersByAttributesdefaultsssssort(sselfss((s\/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testLDAPUserFolder.pystest_searchUsersByAttribute¹s    (s__name__s __module__s__doc__stest_getPureUserss test_getUsersstest_userSetDomainsstest_setPropertystest_searchUsersByAttribute(((s\/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testLDAPUserFolder.pysTestLDAPUserFolderAPI“s     s descriptionsis verbositycCs*tiƒ}|ititƒƒ|SdS(N(sunittests TestSuitessuitesaddTests makeSuitesTestLDAPUserFolderAPI(ssuite((s\/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testLDAPUserFolder.pys test_suiteÔs (4sosssyss__name__sexecfilespathsjoinsTestings ZopeTestCasesAccessControl.Permissionssaccess_contents_informationsviewsadd_documents_images_and_filesschange_images_and_filessview_management_screenss AccessControl.SecurityManagementsnewSecurityManagersnoSecurityManagersgetSecurityManagers AccessControls UnauthorizedsAccessControl.UsersUnrestrictedUsersurllibsappsutilsssetupSiteErrorLogscloses startZServershostsports _folder_namesbases#Products.GroupUserFolder.interfacess IUserFolders InterfacesVerifysinstallProducts GRUFTestCasestestGroupUserFolderAPIsLogs LDAPconfigsdefaultss ImportErrors LOG_ERRORsgetsdgsTestLDAPUserFolderBasicssTestGroupUserFolderAPIsTestLDAPUserFolderAPIs frameworksunittests test_suite(saccess_contents_informationsTestLDAPUserFolderBasicsstestGroupUserFolderAPIsTestLDAPUserFolderAPIsnoSecurityManagersappsports ZopeTestCasesurllibsVerifysunittestsview_management_screensschange_images_and_filessdefaultss UnauthorizedsnewSecurityManagersdgsUnrestrictedUserssysshostsbases IUserFoldersgetSecurityManagersadd_documents_images_and_filess test_suites GRUFTestCasesossview((s\/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testLDAPUserFolder.pys?s@ $ %             @=