| OLD | NEW |
| 1 # This file is part of the Adblock Plus web scripts, | 1 # This file is part of the Adblock Plus web scripts, |
| 2 # Copyright (C) 2006-present eyeo GmbH | 2 # Copyright (C) 2006-present eyeo GmbH |
| 3 # | 3 # |
| 4 # Adblock Plus is free software: you can redistribute it and/or modify | 4 # Adblock Plus is free software: you can redistribute it and/or modify |
| 5 # it under the terms of the GNU General Public License version 3 as | 5 # it under the terms of the GNU General Public License version 3 as |
| 6 # published by the Free Software Foundation. | 6 # published by the Free Software Foundation. |
| 7 # | 7 # |
| 8 # Adblock Plus is distributed in the hope that it will be useful, | 8 # Adblock Plus is distributed in the hope that it will be useful, |
| 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 | 94 |
| 95 @pytest.mark.parametrize('key,message', [ | 95 @pytest.mark.parametrize('key,message', [ |
| 96 ('url', 'No URL configured for form handler: test'), | 96 ('url', 'No URL configured for form handler: test'), |
| 97 ('fields', 'No fields configured for form handler: test'), | 97 ('fields', 'No fields configured for form handler: test'), |
| 98 ('template', 'No template configured for form handler: test'), | 98 ('template', 'No template configured for form handler: test'), |
| 99 ]) | 99 ]) |
| 100 def test_config_errors(key, message, form_config): | 100 def test_config_errors(key, message, form_config): |
| 101 del form_config[key] | 101 del form_config[key] |
| 102 with pytest.raises(Exception) as error: | 102 with pytest.raises(Exception) as error: |
| 103 formmail.make_handler('test', form_config)[1] | 103 formmail.make_handler('test', form_config)[1] |
| 104 assert error.value.message == message | 104 assert str(error.value) == message |
| 105 | 105 |
| 106 | 106 |
| 107 @pytest.mark.parametrize('field,message', [ | 107 @pytest.mark.parametrize('field,message', [ |
| 108 (('new_field', 'foo'), 'Unexpected field/fields: new_field'), | 108 (('new_field', 'foo'), 'Unexpected field/fields: new_field'), |
| 109 (('mandatory', ''), 'No mandatory entered'), | 109 (('mandatory', ''), 'No mandatory entered'), |
| 110 (('non_mandatory_email', 'asfaf'), 'Invalid email'), | 110 (('non_mandatory_email', 'asfaf'), 'Invalid email'), |
| 111 (('email', 'asfaf'), 'You failed the email validation'), | 111 (('email', 'asfaf'), 'You failed the email validation'), |
| 112 (('email', ''), 'You failed the email test'), | 112 (('email', ''), 'You failed the email test'), |
| 113 ]) | 113 ]) |
| 114 def test_http_errs(field, message, response_for, form_data, sm_mock): | 114 def test_http_errs(field, message, response_for, form_data, sm_mock): |
| (...skipping 30 matching lines...) Expand all Loading... |
| 145 row = reader.next() | 145 row = reader.next() |
| 146 # rows should not be equal because the time field | 146 # rows should not be equal because the time field |
| 147 # is added by the logging function. | 147 # is added by the logging function. |
| 148 assert row != reader.next() | 148 assert row != reader.next() |
| 149 | 149 |
| 150 | 150 |
| 151 def test_config_field_errors(form_config): | 151 def test_config_field_errors(form_config): |
| 152 form_config['fields'] = {} | 152 form_config['fields'] = {} |
| 153 with pytest.raises(Exception) as error: | 153 with pytest.raises(Exception) as error: |
| 154 formmail.make_handler('test', form_config)[1] | 154 formmail.make_handler('test', form_config)[1] |
| 155 assert error.value.message == 'No fields configured for form handler: test' | 155 assert str(error.value) == 'No fields configured for form handler: test' |
| 156 | 156 |
| 157 | 157 |
| 158 def test_config_template_errors(form_config): | 158 def test_config_template_errors(form_config): |
| 159 form_config['template'].value = 'no' | 159 form_config['template'].value = 'no' |
| 160 with pytest.raises(Exception) as error: | 160 with pytest.raises(Exception) as error: |
| 161 formmail.make_handler('test', form_config)[1] | 161 formmail.make_handler('test', form_config)[1] |
| 162 assert error.value.message == 'Template not found at: no' | 162 assert str(error.value) == 'Template not found at: no' |
| 163 | 163 |
| 164 | 164 |
| 165 def test_config_parse(form_config): | 165 def test_config_parse(form_config): |
| 166 assert form_config['url'].value == 'test/apply/submit' | 166 assert form_config['url'].value == 'test/apply/submit' |
| 167 assert form_config['fields']['email'].value == 'mandatory, email' | 167 assert form_config['fields']['email'].value == 'mandatory, email' |
| 168 | 168 |
| 169 | 169 |
| 170 def test_sendmail_fail(log_path, response_for, form_data, sm_mock): | 170 def test_sendmail_fail(log_path, response_for, form_data, sm_mock): |
| 171 sm_mock.side_effect = Exception('Sendmail Fail') | 171 sm_mock.side_effect = Exception('Sendmail Fail') |
| 172 with pytest.raises(HTTPError): | 172 with pytest.raises(HTTPError): |
| (...skipping 17 matching lines...) Expand all Loading... |
| 190 # this should append the second form to the error log file | 190 # this should append the second form to the error log file |
| 191 with pytest.raises(Exception): | 191 with pytest.raises(Exception): |
| 192 formmail.log_formdata(form_data, log_path) | 192 formmail.log_formdata(form_data, log_path) |
| 193 with pytest.raises(Exception): | 193 with pytest.raises(Exception): |
| 194 formmail.log_formdata(form_data, log_path) | 194 formmail.log_formdata(form_data, log_path) |
| 195 | 195 |
| 196 with open(log_path + '_error') as error_log: | 196 with open(log_path + '_error') as error_log: |
| 197 reader = DictReader(error_log) | 197 reader = DictReader(error_log) |
| 198 assert reader.next() == form_data | 198 assert reader.next() == form_data |
| 199 assert reader.next() == form_data | 199 assert reader.next() == form_data |
| OLD | NEW |