def test_previous_solution_correct(self): widget = RecaptchaWidget(FAKE_RECAPTCHA_CLIENT) widget_markup = widget.render( _FAKE_FIELD_NAME, _FAKE_FIELD_VALUE, _FAKE_FIELD_ATTRIBUTES, ) assert_false(_RECAPTCHA_INCORRECT_SOLUTION_URL_QUERY in widget_markup)
def test_no_challenge(self): """The field is considered to be absent if there's no challenge Id.""" widget = RecaptchaWidget(FAKE_RECAPTCHA_CLIENT) form_data = {'recaptcha_response_field': RANDOM_SOLUTION_TEXT} field_value = widget.value_from_datadict( form_data, _FAKE_FILES_DATA, _FAKE_FIELD_NAME, ) eq_(None, field_value)
def test_no_solution(self): """The field is considered to be absent if there's no solution.""" widget = RecaptchaWidget(FAKE_RECAPTCHA_CLIENT) form_data = {'recaptcha_challenge_field': RANDOM_CHALLENGE_ID} field_value = widget.value_from_datadict( form_data, _FAKE_FILES_DATA, _FAKE_FIELD_NAME, ) eq_(None, field_value)
def test_challenge_over_ssl(self): widget = RecaptchaWidget( FAKE_RECAPTCHA_CLIENT, transmit_challenge_over_ssl=True, ) widget_markup = widget.render( _FAKE_FIELD_NAME, _FAKE_FIELD_VALUE, _FAKE_FIELD_ATTRIBUTES, ) assert_false('http://' in widget_markup) ok_('https://' in widget_markup)
def test_solution_and_challenge(self): widget = RecaptchaWidget(FAKE_RECAPTCHA_CLIENT) form_data = { 'recaptcha_response_field': RANDOM_SOLUTION_TEXT, 'recaptcha_challenge_field': RANDOM_CHALLENGE_ID, } field_value = widget.value_from_datadict( form_data, _FAKE_FILES_DATA, _FAKE_FIELD_NAME, ) ok_('solution_text' in field_value) eq_(RANDOM_SOLUTION_TEXT, field_value['solution_text']) ok_('challenge_id' in field_value) eq_(RANDOM_CHALLENGE_ID, field_value['challenge_id'])