"""Unit tests for YouTube Video and Claim Summary Workflow.""" from unittest import mock from unittest.mock import MagicMock from feed_ingestion.flows.youtube_video_and_claim_summary.flow import Flow def test_decider(): """Test normal decider execution.""" schedule = MagicMock() flow = Flow() flow.decider(schedule) schedule.assert_has_calls([ mock.call('bootstrap', mock.ANY), mock.call().result.get('bootstrap.stop'), mock.call('grab_drop_files', mock.ANY, requires=mock.ANY), mock.call().result.get('grab_drop_files.stop'), mock.call('load_staging_raw_table', mock.ANY, requires=mock.ANY), mock.call('set_status_to_ingested', mock.ANY, requires=mock.ANY) ]) def test_decider_should_stop_when_data_already_ingested(): """Decider quits if data is already ingested.""" bootstrap = MagicMock() bootstrap.result = {'bootstrap.stop': True} schedule = MagicMock(return_value=bootstrap) flow = Flow() result = flow.decider(schedule) assert result is None schedule.assert_has_calls([mock.call('bootstrap', mock.ANY)])