"""Bootstrap task tests.""" from unittest.mock import MagicMock, patch import pytest from dim_refresh_etl import dimension from dim_refresh_etl.tasks import bootstrap @pytest.fixture def mock_activity(mocker): """Mock garcon.Activity.""" return mocker.patch('garcon.activity.Activity') @patch.dict( 'dim_refresh_etl.tasks.bootstrap.SF_CONFIG', {'db': 'testdb', 'schema': 'testschema'}) def test_bootstrap_task(mock_activity, monkeypatch): """Test bootstrap contains expected context vars.""" dim_entity_mock = MagicMock() monkeypatch.setattr( dimension, 'create_entity', MagicMock(return_value=dim_entity_mock)) context = bootstrap.bootstrap_task(mock_activity, 'dim_type') assert 'dim_refresh.dim_type' in context assert 'dim_refresh.staging_table' in context assert 'dim_refresh.dim_table' in context assert 'dim_refresh.export_sql' in context assert 'dim_refresh.update_sql' in context assert 'dim_refresh.insert_sql' in context assert 'dim_refresh.delete_sql' in context assert 'dim_refresh.related_sql' in context assert 'dim_refresh.insert_count_sql' in context assert 'dim_refresh.update_count_sql' in context assert 'dim_refresh.empty_staging_table_sql' in context assert 'dim_refresh.staging_bucket' in context assert 'dim_refresh.staging_key' in context assert 'dim_refresh.staging_path' in context assert 'dim_refresh.current_timestamp' in context