# # Tests for qPloneCaptchas # import os, sys, re if __name__ == '__main__': execfile(os.path.join(sys.path[0], 'framework.py')) from Products.PloneTestCase import PloneTestCase from AccessControl.SecurityManagement import newSecurityManager from Products.qPloneCaptchas.utils import getWord, decrypt, parseKey PloneTestCase.installProduct('PlacelessTranslationService') PloneTestCase.installProduct('qPloneCaptchas') PloneTestCase.setupPloneSite() class TestCaptchaWidget(PloneTestCase.FunctionalTestCase): def afterSetUp(self): self.loginAsPortalOwner() self.addProduct('qPloneCaptchas') self.portal.invokeFactory('Document', 'index_html') self.portal['index_html'].allow_discussion = True self.absolute_url = self.portal['index_html'].absolute_url_path() self.basic_auth = 'portal_manager:secret' uf = self.app.acl_users uf.userFolderAddUser('portal_manager', 'secret', ['Manager'], []) user = uf.getUserById('portal_manager') if not hasattr(user, 'aq_base'): user = user.__of__(uf) newSecurityManager(None, user) self.captcha_key = self.portal.captcha_key def testImage(self): path = '%s/discussion_reply_form'%self.absolute_url resp1 = self.publish(path, self.basic_auth, request_method='GET').getBody() patt = re.compile('