"""Test iTunes generators module.""" import pytest from feed_ingestion.flows.itunes import config from feed_ingestion.flows.itunes import generators class TestGenerators: """Test generators.""" maxDiff = None @pytest.fixture def context_theorchard(self, mock_reporter_accounts): """Return necessary context.""" context = { 'bootstrap.date': '2020-04-21', 'bootstrap.processed_datetime': '2020-04-21T00:00:00', 'bootstrap.s3_archive_bucket': 's3://dev-cucumbers/iTunes/archives/2020-04-21/', 'bootstrap.reporter_accounts': mock_reporter_accounts['theorchard'], 'bootstrap.snowflake_error_limit': config.snowflake_error_limit, 'licensor': 'theorchard' } return context @pytest.fixture def context_sme(self, mock_reporter_accounts): """Return necessary context.""" context = { 'bootstrap.date': '2020-04-21', 'bootstrap.processed_datetime': '2020-04-21T00:00:00', 'bootstrap.s3_archive_bucket': 's3://dev-cucumbers/iTunes/archives/2020-04-21/', 'bootstrap.reporter_accounts': mock_reporter_accounts['sme'], 'bootstrap.snowflake_error_limit': config.snowflake_error_limit, 'licensor': 'sme' } return context def test_itunes_reports_generator_theorchard( self, context_theorchard, mock_reporter_accounts): """Test itunes_reports_generator.""" generator = list(generators.itunes_reports_generator( context_theorchard)) assert len(generator) == len(mock_reporter_accounts['theorchard']) def test_itunes_reports_generator_sme( self, context_sme, mock_reporter_accounts): """Test itunes_reports_generator.""" generator = list(generators.itunes_reports_generator( context_sme)) assert len(generator) == len(mock_reporter_accounts['sme']) def test_reports_data_theorchard( self, context_theorchard, mock_reporter_accounts): """Test report_data_generator.""" generator = list(generators.report_data_generator( context_theorchard)) assert len(generator) == len(mock_reporter_accounts['theorchard']) def test_reports_data_sme( self, context_sme, mock_reporter_accounts): """Test report_data_generator.""" generator = list(generators.report_data_generator( context_sme)) assert len(generator) == len(mock_reporter_accounts['sme'])