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'),
max_length=11,
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=_(
'Sender name or phone number. It must neither exceed 11 characters nor contain special characters.'

View File

@ -18,6 +18,7 @@
import pytest
from hobo.environment.models import Authentic
from hobo.environment.utils import get_variable
from hobo.profile import models
from hobo.profile.models import AttributeDefinition
@ -156,3 +157,18 @@ def test_debug_home(logged_app):
page = page.form.submit()
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'
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'