"""Test for ECS task schemas.""" from moneyhub.schemas.ecs_task import DbtRefreshRequest from moneyhub.schemas.ecs_task import DbtRefreshResponse def test_dbt_refresh_request_schema_with_defaults(): """Test DbtRefreshRequest schema with default values.""" expected = DbtRefreshRequest( full_refresh=True, select_models='ledger_summary_dbt account_statement_periods_dbt combined_expenses_dbt combined_expenses_by_artist_dbt expenses_by_subaccount_dbt combined_advances_dbt combined_adjustments_dbt combined_adjustments_by_type_dbt combined_payments_dbt', # noqa: E501 exclude_models='abacus_fact_sales_unified_dbt workstation_fact_sales_unified_dbt' ) actual = DbtRefreshRequest() assert actual == expected def test_dbt_refresh_request_schema_with_custom_values(): """Test DbtRefreshRequest schema with custom values.""" expected = DbtRefreshRequest( full_refresh=False, select_models='model1 model2', exclude_models='legacy_model' ) data = { 'full_refresh': False, 'select_models': 'model1 model2', 'exclude_models': 'legacy_model' } actual = DbtRefreshRequest(**data) assert actual == expected def test_dbt_refresh_response_schema(): """Test DbtRefreshResponse schema.""" expected = DbtRefreshResponse( execution_arn='arn:aws:states:us-east-1:123456789:execution:test-dbt-sm:exec-id', start_date='2025-11-28T12:00:00', status='RUNNING', message='dbt refresh Step Function triggered successfully' ) data = { 'execution_arn': 'arn:aws:states:us-east-1:123456789:execution:test-dbt-sm:exec-id', 'start_date': '2025-11-28T12:00:00', 'status': 'RUNNING', 'message': 'dbt refresh Step Function triggered successfully' } actual = DbtRefreshResponse(**data) assert actual == expected