"""Test report import models.""" from unittest.mock import call, MagicMock from constants import general from models import reports import common_config def test_import_reconfirmation_report(): """Test import reconfirmation report is executed with correct params.""" today = '2018-9-20' snowflake_executor = MagicMock() report_key = 'soundexchange/reconfirmation/converted/2018_09_20' xls_key = 'soundexchange/reconfirmation/2018-09-20/reconfirmation.xlsx' reports.import_reconfirmation_report( snowflake_executor, today, report_key, xls_key) expected_query_params = { 'db': common_config.SNOWFLAKE_CONFIG['db'], 'schema': common_config.SNOWFLAKE_CONFIG['schema'], 'import_date': today, 'report_file': xls_key, 's3_path': 's3://test-bucket/soundexchange/reconfirmation/converted/2018_09_20', 'aws_access_key_id': common_config.AWS_ACCESS_KEY_ID, 'aws_secret_access_key': common_config.AWS_SECRET_ACCESS_KEY } snowflake_executor.execute_query.assert_has_calls([ call( reports.sql_loader, general.CREATE_S3_STAGE_QUERY, expected_query_params), call(reports.sql_loader, general.IMPORT_DATA_FROM_S3_QUERY, expected_query_params), call(reports.sql_loader, general.SET_DATE_AND_REPORT_NAME_QUERY, expected_query_params) ])