"""Unit tests for Snapchat tasks workflow.""" from unittest.mock import MagicMock, patch from feed_ingestion.flows.snapchat import tasks _date = '2024-08-01' @patch('feed_ingestion.flows.snapchat.tasks.garcon_feed_status') def test_bootstrap_creations(garcon_feed_status): """Test bootstrap.""" report = 'creations' result = tasks.bootstrap(MagicMock(), _date, report, reload='False') destination_key_name = 'Snapchat/archives/2024/08/01/Orchard_PYS6_D' \ '_20240801_20240801_analyticreporting' \ '_creations.csv' source_key_name = 'snapchat/in/orchard/daily/Orchard_PYS6_D' \ '_20240801_20240801_analyticreporting_creations.csv' assert result == {'archive_path': 'Snapchat/archives/2024/08/01', 'date': '2024-08-01', 'destination_key_name': destination_key_name, 'expected_files': [ 'Orchard_PYS6_D' '_20240801_20240801_analyticreporting' '_creations.csv'], 'file_pattern': '.*analyticreporting_creations.csv', 'replace_archive_files': True, 'report_feed_name': 'snapchat_creations', 's3_full_path': 's3://dev-cucumbers/Snapchat/' 'archives/2024/08/01/', 'source_key_name': source_key_name, 'staging_raw_table': 'staging_raw_snapchat_creations'} @patch('feed_ingestion.flows.snapchat.tasks.garcon_feed_status') def test_bootstrap_views(garcon_feed_status): """Test bootstrap.""" report = 'views' result = tasks.bootstrap(MagicMock(), _date, report, reload='True') destination_key_name = 'Snapchat/archives/2024/08/01/Orchard_PYS6_D' \ '_20240801_20240801_analyticreporting_views.csv' source_key_name = 'snapchat/in/orchard/daily/Orchard_PYS6_D' \ '_20240801_20240801_analyticreporting_views.csv' assert result == {'archive_path': 'Snapchat/archives/2024/08/01', 'date': '2024-08-01', 'destination_key_name': destination_key_name, 'expected_files': [ 'Orchard_PYS6_D_20240801_20240801' '_analyticreporting_views.csv'], 'file_pattern': '.*analyticreporting_views.csv', 'replace_archive_files': True, 'report_feed_name': 'snapchat_views', 's3_full_path': 's3://dev-cucumbers/Snapchat/' 'archives/2024/08/01/', 'source_key_name': source_key_name, 'staging_raw_table': 'staging_raw_snapchat_views'}