Changeset 2077 in products
- Timestamp:
- Apr 7, 2010 3:38:19 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.z3cform.captcha/branches/captchas-refactoring/quintagroup/z3cform/captcha/tests.py
r2076 r2077 19 19 from Products.PloneTestCase import PloneTestCase as ptc 20 20 21 from quintagroup.captcha.core.utils import * 22 from quintagroup.captcha.core.tests.base import testPatch 23 from quintagroup.captcha.core.tests.testWidget import addTestLayer 24 21 25 from quintagroup.z3cform.captcha import Captcha 22 26 from quintagroup.z3cform.captcha import CaptchaWidget 23 from quintagroup.z3cform.captcha.widget import CaptchaWidgetFactory 27 from quintagroup.z3cform.captcha import CaptchaWidgetFactory 28 from quintagroup.z3cform.captcha.validator import CaptchaValidator 24 29 25 30 @onsetup … … 43 48 44 49 def afterSetUp(self): 45 super(TestRegistrations, self).afterSetUp()46 50 self.request = self.app.REQUEST 47 51 alsoProvides(self.request, IFormLayer) … … 77 81 78 82 def afterSetUp(self): 79 super(TestCaptchaWidget, self).afterSetUp()80 83 self.request = self.app.REQUEST 81 84 alsoProvides(self.request, IFormLayer) … … 109 112 110 113 114 class TestCaptchaValidator(ptc.PloneTestCase): 115 116 def afterSetUp(self): 117 self.request = self.app.REQUEST 118 alsoProvides(self.request, IFormLayer) 119 # prepare context 120 self.loginAsPortalOwner() 121 testPatch() 122 addTestLayer(self) 123 self.captcha_key = self.portal.captcha_key 124 # prepare captcha data 125 self.hashkey = self.portal.getCaptcha() 126 self.request.form['hashkey'] = self.hashkey 127 # prepare validator 128 cform = form.BaseForm(self.portal, self.request) 129 cform.prefix = "" 130 cwidget = CaptchaWidget(self.request) 131 cwidget.form = cform 132 self.validator = CaptchaValidator(self.portal, self.request, None, None, cwidget) 133 134 def testSubmitRightCaptcha(self): 135 decrypted = decrypt(self.captcha_key, self.hashkey) 136 key = getWord(int(parseKey(decrypted)['key'])-1 ) 137 try: 138 res = self.validator.validate(key) 139 except ConversionError, e: 140 self.fail("Rised unexpected %s error on right captcha submit" % e) 141 142 def testSubmitWrongCaptcha(self): 143 try: 144 res = self.validator.validate("wrong key") 145 except ValueError, e: 146 self.assertEqual(str(e), u'Please re-enter validation code.') 147 else: 148 self.fail("No ValueError rised on wrong captcha key submit") 149 150 def testSubmitRightCaptchaTwice(self): 151 decrypted = decrypt(self.captcha_key, self.hashkey) 152 key = getWord(int(parseKey(decrypted)['key'])-1 ) 153 self.validator.validate(key) 154 try: 155 res = self.validator.validate(key) 156 except ValueError, e: 157 self.assertEqual(str(e), u'Please re-enter validation code.') 158 else: 159 self.fail("No ValueError rised on right captcha key " \ 160 "submitting twice") 161 162 111 163 def test_suite(): 112 164 suite = unittest.TestSuite() 113 165 suite.addTest(unittest.makeSuite(TestRegistrations)) 114 166 suite.addTest(unittest.makeSuite(TestCaptchaWidget)) 167 suite.addTest(unittest.makeSuite(TestCaptchaValidator)) 115 168 return suite
Note: See TracChangeset
for help on using the changeset viewer.