From 8fbe60bb904932fa346d59f1310321fb068d5639 Mon Sep 17 00:00:00 2001 From: Rebecca Law Date: Mon, 7 Jan 2019 15:37:26 +0000 Subject: [PATCH] Remove unused query --- app/dao/services_dao.py | 45 ----------------- tests/app/dao/test_services_dao.py | 78 ------------------------------ 2 files changed, 123 deletions(-) diff --git a/app/dao/services_dao.py b/app/dao/services_dao.py index 40918f7e7..fb5cba297 100644 --- a/app/dao/services_dao.py +++ b/app/dao/services_dao.py @@ -335,51 +335,6 @@ def dao_fetch_todays_stats_for_all_services(include_from_test_key=True, only_act return query.all() -@statsd(namespace='dao') -def fetch_stats_by_date_range_for_all_services(start_date, end_date, include_from_test_key=True, only_active=True): - start_date = get_london_midnight_in_utc(start_date) - end_date = get_london_midnight_in_utc(end_date + timedelta(days=1)) - table = NotificationHistory - - if start_date >= datetime.utcnow() - timedelta(days=7): - table = Notification - subquery = db.session.query( - table.notification_type, - table.status, - table.service_id, - func.count(table.id).label('count') - ).filter( - table.created_at >= start_date, - table.created_at < end_date - ).group_by( - table.notification_type, - table.status, - table.service_id - ) - if not include_from_test_key: - subquery = subquery.filter(table.key_type != KEY_TYPE_TEST) - subquery = subquery.subquery() - - query = db.session.query( - Service.id.label('service_id'), - Service.name, - Service.restricted, - Service.research_mode, - Service.active, - Service.created_at, - subquery.c.notification_type, - subquery.c.status, - subquery.c.count - ).outerjoin( - subquery, - subquery.c.service_id == Service.id - ).order_by(Service.id) - if only_active: - query = query.filter(Service.active) - - return query.all() - - @transactional @version_class(Service) @version_class(ApiKey) diff --git a/tests/app/dao/test_services_dao.py b/tests/app/dao/test_services_dao.py index 6ea7123e3..024b1c019 100644 --- a/tests/app/dao/test_services_dao.py +++ b/tests/app/dao/test_services_dao.py @@ -27,7 +27,6 @@ from app.dao.services_dao import ( dao_fetch_todays_stats_for_service, fetch_todays_total_message_count, dao_fetch_todays_stats_for_all_services, - fetch_stats_by_date_range_for_all_services, dao_suspend_service, dao_resume_service, dao_fetch_active_users_for_service, @@ -775,25 +774,6 @@ def test_dao_fetch_todays_stats_for_all_services_can_exclude_from_test_key(notif assert stats[0].count == 2 -def test_fetch_stats_by_date_range_for_all_services(notify_db_session): - template = create_template(service=create_service()) - create_notification(template=template, created_at=datetime.now() - timedelta(days=4)) - create_notification(template=template, created_at=datetime.now() - timedelta(days=3)) - result_one = create_notification(template=template, created_at=datetime.now() - timedelta(days=2)) - create_notification(template=template, created_at=datetime.now() - timedelta(days=1)) - create_notification(template=template, created_at=datetime.now()) - - start_date = (datetime.utcnow() - timedelta(days=2)).date() - end_date = (datetime.utcnow() - timedelta(days=1)).date() - - results = fetch_stats_by_date_range_for_all_services(start_date, end_date) - - assert len(results) == 1 - assert results[0] == (result_one.service.id, result_one.service.name, result_one.service.restricted, - result_one.service.research_mode, result_one.service.active, - result_one.service.created_at, 'sms', 'created', 2) - - @freeze_time('2001-01-01T23:59:00') def test_dao_suspend_service_marks_service_as_inactive_and_expires_api_keys(notify_db_session): service = create_service() @@ -807,64 +787,6 @@ def test_dao_suspend_service_marks_service_as_inactive_and_expires_api_keys(noti assert api_key.expiry_date == datetime(2001, 1, 1, 23, 59, 00) -@pytest.mark.parametrize("start_delta, end_delta, expected", - [("5", "1", "4"), # a date range less than 7 days ago returns test and normal notifications - ("9", "8", "1"), # a date range older than 9 days does not return test notifications. - ("8", "4", "2")]) # a date range that starts more than 7 days ago -@freeze_time('2017-10-23T00:00:00') -def test_fetch_stats_by_date_range_for_all_services_returns_test_notifications(notify_db_session, - start_delta, - end_delta, - expected): - template = create_template(service=create_service()) - result_one = create_notification(template=template, created_at=datetime.now(), key_type='test') - create_notification(template=template, created_at=datetime.now() - timedelta(days=2), key_type='test') - create_notification(template=template, created_at=datetime.now() - timedelta(days=3), key_type='test') - create_notification(template=template, created_at=datetime.now() - timedelta(days=4), key_type='normal') - create_notification(template=template, created_at=datetime.now() - timedelta(days=4), key_type='test') - create_notification(template=template, created_at=datetime.now() - timedelta(days=8), key_type='test') - create_notification(template=template, created_at=datetime.now() - timedelta(days=8), key_type='normal') - - start_date = (datetime.utcnow() - timedelta(days=int(start_delta))).date() - end_date = (datetime.utcnow() - timedelta(days=int(end_delta))).date() - - results = fetch_stats_by_date_range_for_all_services(start_date, end_date, include_from_test_key=True) - - assert len(results) == 1 - assert results[0] == (result_one.service.id, result_one.service.name, result_one.service.restricted, - result_one.service.research_mode, result_one.service.active, result_one.service.created_at, - 'sms', 'created', int(expected)) - - -@pytest.mark.parametrize("start_delta, end_delta, expected", - [("5", "1", "4"), # a date range less than 7 days ago returns test and normal notifications - ("9", "8", "1"), # a date range older than 9 days does not return test notifications. - ("8", "4", "2")]) # a date range that starts more than 7 days ago -@freeze_time('2017-10-23T23:00:00') -def test_fetch_stats_by_date_range_during_bst_hour_for_all_services_returns_test_notifications( - notify_db_session, start_delta, end_delta, expected -): - template = create_template(service=create_service()) - result_one = create_notification(template=template, created_at=datetime.now(), key_type='test') - create_notification(template=template, created_at=datetime.now() - timedelta(days=2), key_type='test') - create_notification(template=template, created_at=datetime.now() - timedelta(days=3), key_type='test') - create_notification(template=template, created_at=datetime.now() - timedelta(days=4), key_type='normal') - create_notification(template=template, created_at=datetime.now() - timedelta(days=4), key_type='test') - create_notification(template=template, created_at=datetime.now() - timedelta(days=8), key_type='normal') - create_notification(template=template, created_at=datetime.now() - timedelta(days=9), key_type='normal') - create_notification(template=template, created_at=datetime.now() - timedelta(days=9), key_type='test') - - start_date = (datetime.utcnow() - timedelta(days=int(start_delta))).date() - end_date = (datetime.utcnow() - timedelta(days=int(end_delta))).date() - - results = fetch_stats_by_date_range_for_all_services(start_date, end_date, include_from_test_key=True) - - assert len(results) == 1 - assert results[0] == (result_one.service.id, result_one.service.name, result_one.service.restricted, - result_one.service.research_mode, result_one.service.active, result_one.service.created_at, - 'sms', 'created', int(expected)) - - @freeze_time('2001-01-01T23:59:00') def test_dao_resume_service_marks_service_as_active_and_api_keys_are_still_revoked(notify_db_session): service = create_service()