diff --git a/api/app_analytics/influxdb_wrapper.py b/api/app_analytics/influxdb_wrapper.py index 08cbcc19c6f8..4a88c596338b 100644 --- a/api/app_analytics/influxdb_wrapper.py +++ b/api/app_analytics/influxdb_wrapper.py @@ -83,6 +83,10 @@ def influx_query_manager( extra: str = "", bucket: str = read_bucket, ): + # Influx throws an error for an empty range, so just return a list. + if date_start == "-0d" and date_stop == "now()": + return [] + query_api = influxdb_client.query_api() drop_columns_input = str(list(drop_columns)).replace("'", '"') diff --git a/api/tests/unit/app_analytics/test_unit_app_analytics_influxdb_wrapper.py b/api/tests/unit/app_analytics/test_unit_app_analytics_influxdb_wrapper.py index f00f276a519f..85f8607d7947 100644 --- a/api/tests/unit/app_analytics/test_unit_app_analytics_influxdb_wrapper.py +++ b/api/tests/unit/app_analytics/test_unit_app_analytics_influxdb_wrapper.py @@ -440,3 +440,14 @@ def test_get_top_organisations_value_error( # The wrongly typed data does not stop the remaining data # from being returned. assert dataset == {456: 43} + + +def test_early_return_for_empty_range_for_influx_query_manager() -> None: + # When + results = InfluxDBWrapper.influx_query_manager( + date_start="-0d", + date_stop="now()", + ) + + # Then + assert results == []