diff --git a/app/dao/fact_notification_status_dao.py b/app/dao/fact_notification_status_dao.py index 10f1cf976a..073d506289 100644 --- a/app/dao/fact_notification_status_dao.py +++ b/app/dao/fact_notification_status_dao.py @@ -173,7 +173,7 @@ def fetch_notification_status_for_service_by_month(start_date, end_date, service ) -def fetch_delivered_notification_stats_by_month(filter_heartbeats=None): +def fetch_delivered_notification_stats_by_month(): query = ( db.session.query( func.date_trunc("month", FactNotificationStatus.bst_date).cast(db.Text).label("month"), @@ -194,10 +194,6 @@ def fetch_delivered_notification_stats_by_month(filter_heartbeats=None): FactNotificationStatus.notification_type, ) ) - if filter_heartbeats: - query = query.filter( - FactNotificationStatus.service_id != current_app.config["NOTIFY_SERVICE_ID"], - ) return query.all() diff --git a/app/dao/services_dao.py b/app/dao/services_dao.py index dcf988f8d3..f89f06da5c 100644 --- a/app/dao/services_dao.py +++ b/app/dao/services_dao.py @@ -85,7 +85,7 @@ def dao_count_live_services(): ).count() -def dao_fetch_live_services_data(filter_heartbeats=None): +def dao_fetch_live_services_data(): year_start_date, year_end_date = get_current_financial_year() most_recent_annual_billing = ( @@ -177,11 +177,9 @@ def dao_fetch_live_services_data(filter_heartbeats=None): AnnualBilling.free_sms_fragment_limit, ) .order_by(asc(Service.go_live_at)) + .all() ) - if filter_heartbeats: - data = data.filter(Service.id != current_app.config["NOTIFY_SERVICE_ID"]) - data = data.all() results = [] for row in data: existing_service = next((x for x in results if x["service_id"] == row.service_id), None) diff --git a/app/service/rest.py b/app/service/rest.py index fcbdeb96a0..724fe72a96 100644 --- a/app/service/rest.py +++ b/app/service/rest.py @@ -205,15 +205,13 @@ def find_services_by_name(): @service_blueprint.route("/live-services-data", methods=["GET"]) def get_live_services_data(): - filter_heartbeats = request.args.get("filter_heartbeats", None) == "True" - data = dao_fetch_live_services_data(filter_heartbeats=filter_heartbeats) + data = dao_fetch_live_services_data() return jsonify(data=data) @service_blueprint.route("/delivered-notifications-stats-by-month-data", methods=["GET"]) def get_delivered_notification_stats_by_month_data(): - filter_heartbeats = request.args.get("filter_heartbeats", None) == "True" - return jsonify(data=fetch_delivered_notification_stats_by_month(filter_heartbeats=filter_heartbeats)) + return jsonify(data=fetch_delivered_notification_stats_by_month()) @service_blueprint.route("/", methods=["GET"]) diff --git a/tests/app/dao/test_fact_notification_status_dao.py b/tests/app/dao/test_fact_notification_status_dao.py index 409eaef2f8..62af36ac1a 100644 --- a/tests/app/dao/test_fact_notification_status_dao.py +++ b/tests/app/dao/test_fact_notification_status_dao.py @@ -54,7 +54,6 @@ create_template, save_notification, ) -from tests.conftest import set_config def test_update_fact_notification_status(notify_db_session): @@ -887,62 +886,6 @@ def test_fetch_delivered_notification_stats_by_month(sample_service): assert results[3].count == 6 -@freeze_time("2020-11-02 14:00") -def test_fetch_delivered_notification_stats_by_month_filter_heartbeats(notify_api, sample_service): - sms_template = create_template(service=sample_service, template_type="sms", template_name="a") - email_template = create_template(service=sample_service, template_type="email", template_name="b") - - # Not counted: before GC Notify started - create_ft_notification_status( - utc_date=date(2019, 10, 10), - service=sample_service, - template=email_template, - count=3, - ) - - create_ft_notification_status( - utc_date=date(2019, 12, 10), - service=sample_service, - template=email_template, - count=3, - ) - - create_ft_notification_status( - utc_date=date(2019, 12, 5), - service=sample_service, - template=sms_template, - notification_status=NOTIFICATION_DELIVERED, - count=6, - ) - - create_ft_notification_status( - utc_date=date(2020, 1, 1), - service=sample_service, - template=sms_template, - notification_status=NOTIFICATION_SENT, - count=4, - ) - - # Not counted: failed notifications - create_ft_notification_status( - utc_date=date(2020, 1, 1), - service=sample_service, - template=sms_template, - notification_status=NOTIFICATION_FAILED, - count=10, - ) - - create_ft_notification_status( - utc_date=date(2020, 3, 1), - service=sample_service, - template=email_template, - count=5, - ) - with set_config(notify_api, "NOTIFY_SERVICE_ID", email_template.service_id): - results = fetch_delivered_notification_stats_by_month(filter_heartbeats=True) - assert len(results) == 0 - - def test_fetch_delivered_notification_stats_by_month_empty(): assert fetch_delivered_notification_stats_by_month() == [] diff --git a/tests/app/dao/test_services_dao.py b/tests/app/dao/test_services_dao.py index 929ffcb231..54943768d4 100644 --- a/tests/app/dao/test_services_dao.py +++ b/tests/app/dao/test_services_dao.py @@ -90,7 +90,6 @@ create_user, save_notification, ) -from tests.conftest import set_config # from unittest import mock @@ -498,8 +497,7 @@ def test_get_all_user_services_should_return_empty_list_if_no_services_for_user( @freeze_time("2019-04-23T10:00:00") -@pytest.mark.parametrize("filter_heartbeats", [True, False]) -def test_dao_fetch_live_services_data_filter_heartbeats(notify_api, sample_user, filter_heartbeats): +def test_dao_fetch_live_services_data(notify_api, sample_user): org = create_organisation(organisation_type="nhs_central") service = create_service(go_live_user=sample_user, go_live_at="2014-04-20T10:00:00") template = create_template(service=service) @@ -567,12 +565,8 @@ def test_dao_fetch_live_services_data_filter_heartbeats(notify_api, sample_user, # 3rd service: billing from 2019 create_annual_billing(service_3.id, 200, 2019) - with set_config(notify_api, "NOTIFY_SERVICE_ID", template.service_id): - results = dao_fetch_live_services_data(filter_heartbeats=filter_heartbeats) - if not filter_heartbeats: - assert len(results) == 3 - else: - assert len(results) == 2 + results = dao_fetch_live_services_data() + assert len(results) == 3 # checks the results and that they are ordered by date: # @todo: this test is temporarily forced to pass until we can add the fiscal year back into # the query and create a new endpoint for the homepage stats diff --git a/tests/app/service/test_rest.py b/tests/app/service/test_rest.py index 9a69a5795d..49c43deb1c 100644 --- a/tests/app/service/test_rest.py +++ b/tests/app/service/test_rest.py @@ -68,7 +68,6 @@ create_user, save_notification, ) -from tests.conftest import set_config def test_get_service_list(client, service_factory): @@ -252,20 +251,6 @@ def test_get_delivered_notification_stats_by_month_data(admin_request, sample_se assert first["count"] == 3 -def test_get_delivered_notification_stats_by_month_data_without_heartbeat(notify_api, admin_request, sample_service): - email_template = create_template(service=sample_service, template_type="email", template_name="b") - - create_ft_notification_status( - utc_date=date(2019, 12, 10), - service=sample_service, - template=email_template, - count=3, - ) - with set_config(notify_api, "NOTIFY_SERVICE_ID", email_template.service_id): - response = admin_request.get("service.get_delivered_notification_stats_by_month_data", filter_heartbeats=True)["data"] - assert len(response) == 0 - - def test_get_service_by_id(admin_request, sample_service): json_resp = admin_request.get("service.get_service_by_id", service_id=sample_service.id) assert json_resp["data"]["name"] == sample_service.name