mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-24 00:07:02 -04:00
@@ -160,7 +160,7 @@ def password(label='Password'):
|
|||||||
class SMSCode(StringField):
|
class SMSCode(StringField):
|
||||||
validators = [
|
validators = [
|
||||||
DataRequired(message='Can’t be empty'),
|
DataRequired(message='Can’t be empty'),
|
||||||
Regexp(regex='^\d+$', message='Numbers only'),
|
Regexp(regex=r'^\d+$', message='Numbers only'),
|
||||||
Length(min=5, message='Not enough numbers'),
|
Length(min=5, message='Not enough numbers'),
|
||||||
Length(max=5, message='Too many numbers'),
|
Length(max=5, message='Too many numbers'),
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ def two_factor_email(token):
|
|||||||
current_app.config['DANGEROUS_SALT'],
|
current_app.config['DANGEROUS_SALT'],
|
||||||
current_app.config['EMAIL_2FA_EXPIRY_SECONDS']
|
current_app.config['EMAIL_2FA_EXPIRY_SECONDS']
|
||||||
))
|
))
|
||||||
except SignatureExpired as exc:
|
except SignatureExpired:
|
||||||
# lets decode again, without the expiry, to get the user id out
|
# lets decode again, without the expiry, to get the user id out
|
||||||
orig_data = json.loads(check_token(
|
orig_data = json.loads(check_token(
|
||||||
token,
|
token,
|
||||||
|
|||||||
@@ -14,15 +14,12 @@ pyexcel-xlsx==0.5.6
|
|||||||
pyexcel-ods3==0.5.2
|
pyexcel-ods3==0.5.2
|
||||||
pytz==2018.7
|
pytz==2018.7
|
||||||
gunicorn==19.7.1 # >19.8 stops eventlet workers after a timeout
|
gunicorn==19.7.1 # >19.8 stops eventlet workers after a timeout
|
||||||
whitenoise==4.1 #manages static assets
|
whitenoise==4.1.1 #manages static assets
|
||||||
eventlet==0.24.1
|
eventlet==0.24.1
|
||||||
notifications-python-client==5.2.0
|
notifications-python-client==5.2.0
|
||||||
|
|
||||||
# PaaS
|
# PaaS
|
||||||
awscli-cwlogs>=1.4,<1.5
|
awscli-cwlogs>=1.4,<1.5
|
||||||
awscli==1.15.82
|
|
||||||
botocore<1.11.0
|
|
||||||
|
|
||||||
|
|
||||||
# Putting upgrade on hold due to v1.0.0 using sha512 instead of sha1 by default
|
# Putting upgrade on hold due to v1.0.0 using sha512 instead of sha1 by default
|
||||||
itsdangerous==0.24 # pyup: <1.0.0
|
itsdangerous==0.24 # pyup: <1.0.0
|
||||||
|
|||||||
@@ -16,15 +16,12 @@ pyexcel-xlsx==0.5.6
|
|||||||
pyexcel-ods3==0.5.2
|
pyexcel-ods3==0.5.2
|
||||||
pytz==2018.7
|
pytz==2018.7
|
||||||
gunicorn==19.7.1 # >19.8 stops eventlet workers after a timeout
|
gunicorn==19.7.1 # >19.8 stops eventlet workers after a timeout
|
||||||
whitenoise==4.1 #manages static assets
|
whitenoise==4.1.1 #manages static assets
|
||||||
eventlet==0.24.1
|
eventlet==0.24.1
|
||||||
notifications-python-client==5.2.0
|
notifications-python-client==5.2.0
|
||||||
|
|
||||||
# PaaS
|
# PaaS
|
||||||
awscli-cwlogs>=1.4,<1.5
|
awscli-cwlogs>=1.4,<1.5
|
||||||
awscli==1.15.82
|
|
||||||
botocore<1.11.0
|
|
||||||
|
|
||||||
|
|
||||||
# Putting upgrade on hold due to v1.0.0 using sha512 instead of sha1 by default
|
# Putting upgrade on hold due to v1.0.0 using sha512 instead of sha1 by default
|
||||||
itsdangerous==0.24 # pyup: <1.0.0
|
itsdangerous==0.24 # pyup: <1.0.0
|
||||||
@@ -32,8 +29,10 @@ itsdangerous==0.24 # pyup: <1.0.0
|
|||||||
git+https://github.com/alphagov/notifications-utils.git@30.6.0#egg=notifications-utils==30.6.0
|
git+https://github.com/alphagov/notifications-utils.git@30.6.0#egg=notifications-utils==30.6.0
|
||||||
|
|
||||||
## The following requirements were added by pip freeze:
|
## The following requirements were added by pip freeze:
|
||||||
|
awscli==1.16.53
|
||||||
bleach==2.1.3
|
bleach==2.1.3
|
||||||
boto3==1.6.16
|
boto3==1.6.16
|
||||||
|
botocore==1.12.43
|
||||||
certifi==2018.10.15
|
certifi==2018.10.15
|
||||||
chardet==3.0.4
|
chardet==3.0.4
|
||||||
Click==7.0
|
Click==7.0
|
||||||
@@ -64,7 +63,7 @@ PyJWT==1.6.4
|
|||||||
PyPDF2==1.26.0
|
PyPDF2==1.26.0
|
||||||
python-dateutil==2.7.5
|
python-dateutil==2.7.5
|
||||||
python-json-logger==0.1.8
|
python-json-logger==0.1.8
|
||||||
PyYAML==3.13
|
PyYAML==3.12
|
||||||
redis==2.10.6
|
redis==2.10.6
|
||||||
requests==2.20.1
|
requests==2.20.1
|
||||||
rsa==3.4.2
|
rsa==3.4.2
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
-r requirements.txt
|
-r requirements.txt
|
||||||
isort==4.3.4
|
isort==4.3.4
|
||||||
pytest==3.10.0
|
pytest==3.10.1
|
||||||
pytest-env==0.6.2
|
pytest-env==0.6.2
|
||||||
pytest-mock==1.10.0
|
pytest-mock==1.10.0
|
||||||
pytest-cov==2.6.0
|
pytest-cov==2.6.0
|
||||||
pytest-xdist==1.24.0
|
pytest-xdist==1.24.1
|
||||||
coveralls==1.5.1
|
coveralls==1.5.1
|
||||||
beautifulsoup4==4.6.3
|
beautifulsoup4==4.6.3
|
||||||
freezegun==0.3.11
|
freezegun==0.3.11
|
||||||
flake8==3.5.0
|
flake8==3.6.0
|
||||||
flake8-print==3.1.0
|
flake8-print==3.1.0
|
||||||
requests-mock==1.5.2
|
requests-mock==1.5.2
|
||||||
|
|||||||
@@ -9,3 +9,7 @@ multi_line_output=3
|
|||||||
known_third_party=notifications_utils,notifications_python_client
|
known_third_party=notifications_utils,notifications_python_client
|
||||||
known_first_party=app,tests
|
known_first_party=app,tests
|
||||||
include_trailing_comma=True
|
include_trailing_comma=True
|
||||||
|
|
||||||
|
[flake8]
|
||||||
|
# W504 line break after binary operator
|
||||||
|
extend_ignore=W504
|
||||||
|
|||||||
@@ -1368,7 +1368,7 @@ def test_incorrect_letter_contact_block_input(
|
|||||||
('11 chars', None),
|
('11 chars', None),
|
||||||
('', 'Can’t be empty'),
|
('', 'Can’t be empty'),
|
||||||
('abcdefghijkhgkg', 'Enter 11 characters or fewer'),
|
('abcdefghijkhgkg', 'Enter 11 characters or fewer'),
|
||||||
(' ¯\_(ツ)_/¯ ', 'Use letters and numbers only'),
|
(r' ¯\_(ツ)_/¯ ', 'Use letters and numbers only'),
|
||||||
('blood.co.uk', None),
|
('blood.co.uk', None),
|
||||||
('00123', "Can't start with 00")
|
('00123', "Can't start with 00")
|
||||||
])
|
])
|
||||||
|
|||||||
Reference in New Issue
Block a user