"""Unit tests for the create_label_top_releases_table tasks.""" from unittest.mock import call, patch from activity_detector.flows.analytics_digest.tasks.\ create_label_top_releases_table import create_label_top_releases_table def test_create_label_top_releases_table( monkeypatch, mock_snowflake, date_params): """Test creating summary table in Snowflake.""" with patch('activity_detector.flows.analytics_digest.tasks' '.create_label_top_releases_table.sql_loader') as mock_loader: mock_loader.load_query.side_effect = [ 'create_label_top_releases_table', 'alter_streams_table', 'update_releases_streams_table'] create_label_top_releases_table( None, date_params['start_date'], date_params['end_date'], date_params['growth_start_date'], date_params['growth_end_date']) expected_calls = [ call('create_label_top_releases_table', { 'start_date': date_params['start_date'], 'end_date': date_params['end_date'] }), call('alter_streams_table'), call('update_releases_streams_table', { 'start_date': date_params['growth_start_date'], 'end_date': date_params['growth_end_date'] }), ] mock_snowflake.session.execute.assert_has_calls(expected_calls)