"""Unit tests for iTunes Marketshare Workflow.""" from unittest import mock from unittest.mock import MagicMock from feed_ingestion.flows.itunes_marketshare.flow import Flow def test_decider(): """Test normal decider execution.""" schedule = MagicMock() flow = Flow() context = {} flow.decider(schedule, context) schedule.assert_has_calls([ mock.call('get_first_day_of_month', mock.ANY), mock.call('bootstrap', mock.ANY, requires=mock.ANY), mock.call('get_vendors_and_regions', mock.ANY, requires=mock.ANY), mock.call('reporter_to_s3', mock.ANY, requires=mock.ANY), mock.call('check_files_on_s3', mock.ANY, requires=mock.ANY), mock.call().result.get('check_files_on_s3.stop'), mock.call('reset_dynamo_db_status', mock.ANY, requires=mock.ANY), mock.call('process_drop_files', mock.ANY, requires=mock.ANY), mock.call('load_staging_raw_table', mock.ANY, requires=mock.ANY), mock.call('load_market_share_table', mock.ANY, requires=mock.ANY), mock.call('mark_ingested_files', mock.ANY, requires=mock.ANY) ])