From 03f15d6af993aa490b8fe700ac925ee8a822f909 Mon Sep 17 00:00:00 2001 From: Nicholas Staples Date: Wed, 11 May 2016 10:56:24 +0100 Subject: [PATCH] Update now to utcnow. All tests passing. --- app/dao/users_dao.py | 4 ++-- app/history_meta.py | 2 +- app/models.py | 8 ++++---- app/status/healthcheck.py | 2 +- app/user/rest.py | 7 +++---- tests/app/authentication/test_authentication.py | 4 ++-- tests/app/celery/test_tasks.py | 2 +- tests/app/dao/test_provider_rates_dao.py | 2 +- tests/app/invite/test_invite_rest.py | 7 ++++--- tests/app/status/test_delivery_status.py | 2 +- tests/app/user/test_rest_verify.py | 2 +- 11 files changed, 21 insertions(+), 21 deletions(-) diff --git a/app/dao/users_dao.py b/app/dao/users_dao.py index 7960ed101..56626b1f9 100644 --- a/app/dao/users_dao.py +++ b/app/dao/users_dao.py @@ -12,7 +12,7 @@ def create_secret_code(): def save_model_user(usr, update_dict={}, pwd=None): if pwd: usr.password = pwd - usr.password_changed_at = datetime.now() + usr.password_changed_at = datetime.utcnow() if update_dict: if update_dict.get('id'): del update_dict['id'] @@ -25,7 +25,7 @@ def save_model_user(usr, update_dict={}, pwd=None): def create_user_code(user, code, code_type): verify_code = VerifyCode(code_type=code_type, - expiry_datetime=datetime.now() + timedelta(hours=1), + expiry_datetime=datetime.utcnow() + timedelta(hours=1), user=user) verify_code.code = code db.session.add(verify_code) diff --git a/app/history_meta.py b/app/history_meta.py index a7ee0f3d9..0ccc06f09 100644 --- a/app/history_meta.py +++ b/app/history_meta.py @@ -205,7 +205,7 @@ def create_history(obj): if not obj.version: obj.version = 1 - obj.created_at = datetime.datetime.now() + obj.created_at = datetime.datetime.utcnow() else: obj.version += 1 diff --git a/app/models.py b/app/models.py index d080a4c5d..3aae8ad2b 100644 --- a/app/models.py +++ b/app/models.py @@ -81,13 +81,13 @@ class Service(db.Model, Versioned): index=False, unique=False, nullable=False, - default=datetime.datetime.now) + default=datetime.datetime.utcnow) updated_at = db.Column( db.DateTime, index=False, unique=False, nullable=True, - onupdate=datetime.datetime.now) + onupdate=datetime.datetime.utcnow) active = db.Column(db.Boolean, index=False, unique=False, nullable=False) message_limit = db.Column(db.BigInteger, index=False, unique=False, nullable=False) users = db.relationship( @@ -114,13 +114,13 @@ class ApiKey(db.Model, Versioned): index=False, unique=False, nullable=False, - default=datetime.datetime.now) + default=datetime.datetime.utcnow) updated_at = db.Column( db.DateTime, index=False, unique=False, nullable=True, - onupdate=datetime.datetime.now) + onupdate=datetime.datetime.utcnow) created_by = db.relationship('User') created_by_id = db.Column(UUID(as_uuid=True), db.ForeignKey('users.id'), index=True, nullable=False) diff --git a/app/status/healthcheck.py b/app/status/healthcheck.py index a7ac8d3be..205906db8 100644 --- a/app/status/healthcheck.py +++ b/app/status/healthcheck.py @@ -35,7 +35,7 @@ def show_delivery_status(): return jsonify(status="ok"), 200 else: notifications_alert = current_app.config['NOTIFICATIONS_ALERT'] - some_number_of_minutes_ago = datetime.now() - timedelta(minutes=notifications_alert) + some_number_of_minutes_ago = datetime.utcnow() - timedelta(minutes=notifications_alert) notifications = Notification.query.filter(Notification.status == 'sending', Notification.created_at < some_number_of_minutes_ago).all() message = "{} notifications in sending state over {} minutes".format(len(notifications), notifications_alert) diff --git a/app/user/rest.py b/app/user/rest.py index d6f0cd7c5..2d46d2d7a 100644 --- a/app/user/rest.py +++ b/app/user/rest.py @@ -1,3 +1,4 @@ +import json from datetime import datetime from flask import (jsonify, request, abort, Blueprint, current_app) from app import encryption @@ -109,7 +110,7 @@ def verify_user_code(user_id): code = get_user_code(user_to_verify, txt_code, txt_type) if not code: return jsonify(result="error", message="Code not found"), 404 - if datetime.now() > code.expiry_datetime or code.code_used: + if datetime.utcnow() > code.expiry_datetime or code.code_used: return jsonify(result="error", message="Code has expired"), 400 use_user_code(code.id) return jsonify({}), 204 @@ -210,8 +211,7 @@ def send_user_reset_password(): def _create_reset_password_url(email): from notifications_utils.url_safe_token import generate_token - import json - data = json.dumps({'email': email, 'created_at': str(datetime.now())}) + data = json.dumps({'email': email, 'created_at': str(datetime.utcnow())}) token = generate_token(data, current_app.config['SECRET_KEY'], current_app.config['DANGEROUS_SALT']) return current_app.config['ADMIN_BASE_URL'] + '/new-password/' + token @@ -219,7 +219,6 @@ def _create_reset_password_url(email): def _create_verification_url(user, secret_code): from notifications_utils.url_safe_token import generate_token - import json data = json.dumps({'user_id': str(user.id), 'email': user.email_address, 'secret_code': secret_code}) token = generate_token(data, current_app.config['SECRET_KEY'], current_app.config['DANGEROUS_SALT']) diff --git a/tests/app/authentication/test_authentication.py b/tests/app/authentication/test_authentication.py index a9ec360d3..d81fba0e3 100644 --- a/tests/app/authentication/test_authentication.py +++ b/tests/app/authentication/test_authentication.py @@ -121,7 +121,7 @@ def test_authentication_passes_when_service_has_multiple_keys_some_expired( with notify_api.test_client() as client: expired_key_data = {'service': sample_api_key.service, 'name': 'expired_key', - 'expiry_date': datetime.now(), + 'expiry_date': datetime.utcnow(), 'created_by': sample_api_key.created_by } expired_key = ApiKey(**expired_key_data) @@ -166,7 +166,7 @@ def test_authentication_returns_token_expired_when_service_uses_expired_key_and_ expire_the_key = {'id': expired_api_key.id, 'service': sample_api_key.service, 'name': 'expired_key', - 'expiry_date': datetime.now() + timedelta(hours=-2), + 'expiry_date': datetime.utcnow() + timedelta(hours=-2), 'created_by': sample_api_key.created_by} save_model_api_key(expired_api_key, expire_the_key) response = client.get( diff --git a/tests/app/celery/test_tasks.py b/tests/app/celery/test_tasks.py index 9536febb1..24ccd2a44 100644 --- a/tests/app/celery/test_tasks.py +++ b/tests/app/celery/test_tasks.py @@ -781,7 +781,7 @@ def test_email_invited_user_should_send_email(notify_api, mocker): 'service_id': '123123', 'service_name': 'Blacksmith Service', 'token': 'the-token', - 'expiry_date': str(datetime.now() + timedelta(days=1)) + 'expiry_date': str(datetime.utcnow() + timedelta(days=1)) } mocker.patch('app.aws_ses_client.send_email') diff --git a/tests/app/dao/test_provider_rates_dao.py b/tests/app/dao/test_provider_rates_dao.py index c49584f2c..d9ce53e41 100644 --- a/tests/app/dao/test_provider_rates_dao.py +++ b/tests/app/dao/test_provider_rates_dao.py @@ -5,7 +5,7 @@ from app.models import ProviderRates def test_create_provider_rates(notify_db, notify_db_session, mmg_provider_name): - now = datetime.now() + now = datetime.utcnow() rate = Decimal("1.00000") create_provider_rates(mmg_provider_name, now, rate) assert ProviderRates.query.count() == 1 diff --git a/tests/app/invite/test_invite_rest.py b/tests/app/invite/test_invite_rest.py index 8ef85e71b..65a6bff5a 100644 --- a/tests/app/invite/test_invite_rest.py +++ b/tests/app/invite/test_invite_rest.py @@ -41,9 +41,10 @@ def test_create_invited_user(notify_api, sample_service, mocker): assert json_resp['data']['permissions'] == 'send_messages,manage_service,manage_api_keys' assert json_resp['data']['id'] invitation_expiration_days = notify_api.config['INVITATION_EXPIRATION_DAYS'] - expiry_date = (datetime.now() + timedelta(days=invitation_expiration_days)).replace(hour=0, minute=0, - second=0, - microsecond=0) + expiry_date = (datetime.utcnow() + timedelta(days=invitation_expiration_days)).replace(hour=0, + minute=0, + second=0, + microsecond=0) encrypted_invitation = {'to': email_address, 'user_name': invite_from.name, 'service_id': str(sample_service.id), diff --git a/tests/app/status/test_delivery_status.py b/tests/app/status/test_delivery_status.py index a46cea93a..d8b3f6bb3 100644 --- a/tests/app/status/test_delivery_status.py +++ b/tests/app/status/test_delivery_status.py @@ -19,7 +19,7 @@ def test_get_delivery_status_all_ok(notify_api, notify_db): def test_get_delivery_status_with_undelivered_notification(notify_api, notify_db, sample_notification): - more_than_five_mins_ago = datetime.now() - timedelta(minutes=10) + more_than_five_mins_ago = datetime.utcnow() - timedelta(minutes=10) sample_notification.created_at = more_than_five_mins_ago notify_db.session.add(sample_notification) notify_db.session.commit() diff --git a/tests/app/user/test_rest_verify.py b/tests/app/user/test_rest_verify.py index dd5b297fc..c426a3469 100644 --- a/tests/app/user/test_rest_verify.py +++ b/tests/app/user/test_rest_verify.py @@ -110,7 +110,7 @@ def test_user_verify_code_email_expired_code(notify_api, with notify_api.test_client() as client: assert not VerifyCode.query.first().code_used sample_email_code.expiry_datetime = ( - datetime.now() - timedelta(hours=1)) + datetime.utcnow() - timedelta(hours=1)) db.session.add(sample_email_code) db.session.commit() data = json.dumps({