From 92f827d9f6c0561d01214b042b1738d1ba03de58 Mon Sep 17 00:00:00 2001 From: Emmanuel Cazenave Date: Thu, 16 Feb 2023 16:57:13 +0100 Subject: [PATCH] sms: authorize underscore in sms_sender (#74219) --- hobo/sms/forms.py | 2 +- tests/test_manager.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/hobo/sms/forms.py b/hobo/sms/forms.py index 234e89d..08c97e2 100644 --- a/hobo/sms/forms.py +++ b/hobo/sms/forms.py @@ -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.' diff --git a/tests/test_manager.py b/tests/test_manager.py index 0175689..3e4815c 100644 --- a/tests/test_manager.py +++ b/tests/test_manager.py @@ -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'