def test_object(self): captcha = MathCaptcha('1 * 2') self.assertFalse(captcha.validate(1)) self.assertTrue(captcha.validate(2)) restored = MathCaptcha.unserialize(captcha.serialize()) self.assertEqual(captcha.question, restored.question) self.assertTrue(restored.validate(2))
def __init__(self, request, form=None, data=None, *args, **kwargs): super().__init__(data, *args, **kwargs) self.fresh = False self.request = request self.form = form if data is None or "captcha" not in request.session: self.generate_captcha() self.fresh = True else: self.captcha = MathCaptcha.unserialize(request.session.pop("captcha"))