"""Unit tests for GooglePlaySL class overriding StageLoader component.""" import datetime from unittest import mock from unittest.mock import MagicMock from unittest.mock import patch from feed_ingestion.flows.youtube_weekly.stage_loader import ( YoutubeWeekly ) @patch('feed_ingestion.util.youtube_util.get_days') def test_clean_staging_raw_table(mock_get_days, monkeypatch): """Test clean_staging_raw_table method.""" executor = MagicMock() sql_loader = MagicMock() execute_mock = MagicMock() monkeypatch.setattr( YoutubeWeekly, 'resolve_sql_loader_and_execute', execute_mock ) stage_loader = YoutubeWeekly(executor, sql_loader) staging_raw_table = 'test_staging_raw_table' date = '2018-02-12' start_date, end_date = ( datetime.date(2018, 2, 5), datetime.date(2018, 2, 11)) mock_get_days.return_value = ( datetime.date(2018, 2, 12), start_date, end_date) stage_loader.clean_staging_raw_table( staging_raw_table, date ) execute_mock.assert_called_once_with( 'delete_from_staging_raw', params=dict( db=mock.ANY, schema=mock.ANY, staging_raw_table=staging_raw_table, from_date=start_date, to_date=end_date ) )