sms: authorize underscore in sms_sender (#74219)
gitea/hobo/pipeline/head This commit looks good Details

This commit is contained in:
Emmanuel Cazenave 2023-02-16 16:57:13 +01:00 committed by Gitea
parent 266f691c99
commit 92f827d9f6
2 changed files with 17 additions and 1 deletions

View File

@ -27,7 +27,7 @@ class SMSForm(forms.Form):
label=_('Sender'), label=_('Sender'),
max_length=11, max_length=11,
validators=[ validators=[
RegexValidator('^[A-Za-z0-9 ]{0,11}$', _('Only alphanumeric characters and spaces are allowed.')) RegexValidator('^[A-Za-z0-9_ ]{0,11}$', _('Only alphanumeric characters and spaces are allowed.'))
], ],
help_text=_( help_text=_(
'Sender name or phone number. It must neither exceed 11 characters nor contain special characters.' 'Sender name or phone number. It must neither exceed 11 characters nor contain special characters.'

View File

@ -18,6 +18,7 @@
import pytest import pytest
from hobo.environment.models import Authentic from hobo.environment.models import Authentic
from hobo.environment.utils import get_variable
from hobo.profile import models from hobo.profile import models
from hobo.profile.models import AttributeDefinition from hobo.profile.models import AttributeDefinition
@ -156,3 +157,18 @@ def test_debug_home(logged_app):
page = page.form.submit() page = page.form.submit()
assert 'Enter a valid IPv4 or IPv6 address' in page.text assert 'Enter a valid IPv4 or IPv6 address' in page.text
assert page.form['debug_ips']._value == 'not_an_IP' # get 'n o t _ a n _ I P' assert page.form['debug_ips']._value == 'not_an_IP' # get 'n o t _ a n _ I P'
def test_sms(logged_app):
resp = logged_app.get('/sms/')
resp.form['sms_sender'] = 'foo'
resp.form['sms_url'] = 'https://foo.invalid'
resp = resp.form.submit().follow()
assert get_variable('sms_sender').value == 'foo'
assert get_variable('sms_url').value == 'https://foo.invalid'
resp.form['sms_sender'] = 'foo_bar'
resp.form['sms_url'] = 'https://foo.invalid'
resp = resp.form.submit()
assert get_variable('sms_sender').value == 'foo_bar'
assert get_variable('sms_url').value == 'https://foo.invalid'