diff --git a/catalog/dags/database/delete_records/delete_records.py b/catalog/dags/database/delete_records/delete_records.py index d1bf20059b4..5fe0ea0bae5 100644 --- a/catalog/dags/database/delete_records/delete_records.py +++ b/catalog/dags/database/delete_records/delete_records.py @@ -91,8 +91,12 @@ def delete_records_from_media_table( @task -def notify_slack(text: str) -> str: +def notify_slack(deleted_records_count: int, table_name: str, select_query: str) -> str: """Send a message to Slack.""" + text = ( + f"Deleted {deleted_records_count:,} records from the" + f" `{table_name}` table matching query: `{select_query}`" + ) slack.send_message( text, username=constants.SLACK_USERNAME, diff --git a/catalog/dags/database/delete_records/delete_records_dag.py b/catalog/dags/database/delete_records/delete_records_dag.py index 95e9dccf93b..ab92b85c3a9 100644 --- a/catalog/dags/database/delete_records/delete_records_dag.py +++ b/catalog/dags/database/delete_records/delete_records_dag.py @@ -102,10 +102,9 @@ def delete_records(): )(table="{{ params.table_name }}", select_query="{{ params.select_query }}") notify_complete = notify_slack( - text=( - f"Deleted {delete_records} records from the" - " {{ params.table_name }} table matching query: `{{ params.select_query }}`" - ), + deleted_records_count=delete_records, + table_name="{{ params.table_name }}", + select_query="{{ params.select_query }}", ) insert_into_deleted_media_table >> delete_records >> notify_complete diff --git a/catalog/tests/dags/database/test_delete_records.py b/catalog/tests/dags/database/test_delete_records.py index 2faf2c45e11..caf660685c0 100644 --- a/catalog/tests/dags/database/test_delete_records.py +++ b/catalog/tests/dags/database/test_delete_records.py @@ -9,6 +9,7 @@ from database.delete_records.delete_records import ( create_deleted_records, delete_records_from_media_table, + notify_slack, ) @@ -246,3 +247,11 @@ def test_delete_no_records_from_media_table( # All three records are left in the image table assert len(actual_rows) == 3 + + +def test_notify_slack(): + message = notify_slack.function(123456789, "audio", "WHERE provider='foo';") + assert message == ( + "Deleted 123,456,789 records from the `audio` table matching query: " + "`WHERE provider='foo';`" + )