Changeset 2100 in products for quintagroup.pfg.captcha
- Timestamp:
- Apr 9, 2010 1:37:45 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.pfg.captcha/trunk/quintagroup/pfg/captcha/tests.py
r2099 r2100 11 11 from Products.Archetypes.atapi import StringField 12 12 from Products.Archetypes.Registry import availableWidgets 13 from Products.validation import validation 13 14 14 15 from quintagroup.pfg.captcha import CaptchaField … … 20 21 _marker = object() 21 22 22 P RODUCTS = [23 PACKAGES = [ 23 24 'quintagroup.captcha.core', 24 25 'quintagroup.pfg.captcha', 25 26 ] 26 PROFILES = [p+':default' for p in P RODUCTS]27 PROFILES = [p+':default' for p in PACKAGES] 27 28 28 29 @onsetup … … 132 133 macro = self.portal.restrictedTraverse(CAPTCHA_MACRO) 133 134 self.assertNotEqual(macro, None) 134 135 136 137 class TestCaptchaValidator(ptc.PloneTestCase): 138 139 def getValidator(self): 140 return validation.validatorFor('isCaptchaCorrect') 141 142 def testRegistration(self): 143 self.assertEqual(self.getValidator().__class__, CaptchaValidator) 144 145 def patchCoreValidator(self, status, error=""): 146 # Patch quintagroup.catpcha.core' captcha_validator 147 class MockState: 148 def __init__(self, status, error=""): 149 self.status = status 150 self.errors = {'key':[error,]} 151 152 patch_validator = lambda : MockState(status, error) 153 self.portal.captcha_validator = patch_validator 154 155 def testValidationSuccess(self): 156 # PFG validator must call patched quintagroup.captcha.core' 157 # captcha_validator and successfully validate the data. 158 validator = self.getValidator() 159 self.patchCoreValidator("success") 160 result = validator('test', instance=self.portal) 161 self.assertEqual(result, 1) 162 163 def testValidationFailure(self): 164 # PFG validator must call patched quintagroup.captcha.core' 165 # captcha_validator and return error. 166 validator = self.getValidator() 167 self.patchCoreValidator("failure", "Wrong value") 168 result = validator('test', instance=self.portal) 169 self.assertEqual(result, "Wrong value") 170 135 171 136 172 def test_suite(): … … 139 175 suite.addTest(unittest.makeSuite(TestCaptchaField)) 140 176 suite.addTest(unittest.makeSuite(TestCaptchaWidget)) 177 suite.addTest(unittest.makeSuite(TestCaptchaValidator)) 141 178 return suite
Note: See TracChangeset
for help on using the changeset viewer.