"""Test for snapshot_run_summaries task.""" from unittest.mock import MagicMock, patch from lib.config import S3_SALES_BUCKET_NAME as S3_BUCKET from tasks.accounting_period_calculate_vat.snapshot_run_summaries import \ snapshot_run_summaries_task @patch('lib.utils.aws.split_path') @patch('lib.utils.aws.copy_file') @patch('tasks.accounting_period_calculate_vat.snapshot_run_summaries.' 'helpers.get_accounting_run_export_urls_by_period') @patch('tasks.accounting_period_calculate_vat.snapshot_run_summaries.' 'ows.get_accounting_period_details') def test_snapshot_run_summaries_task( mock_ows_get_accounting_period_details: MagicMock, mock_helpers_get_accounting_run_export_urls_by_period: MagicMock, mock_aws_copy_file: MagicMock, mock_aws_split_path: MagicMock, mock_accounting_period_calc_vat_dag_run, mock_ows_requests ): """Test copying run summaries' files to vat s3 subdir.""" mock_ows_get_accounting_period_details.return_value =\ mock_ows_requests['mock_accounting_period'] mock_helpers_get_accounting_run_export_urls_by_period.return_value = [ mock_ows_requests['mock_accounting_runs']['items'][0]['summary_export_url']] source_key = 'sales-files/2-mock-period-2/monthly-summary.tsv' mock_aws_split_path.return_value = MagicMock( key=source_key) snapshot_run_summaries_task(mock_accounting_period_calc_vat_dag_run) mock_aws_copy_file.assert_called_once_with( source_bucket=S3_BUCKET, source_key=source_key, dest_key='2-mock-period-2/vat/snapshots/summaries/monthly-summary.tsv' )