from __future__ import annotations from sqlalchemy import create_engine, inspect from app.db.schema_ownership import MIGRATION_OWNED_TABLES, create_legacy_schema def test_create_legacy_schema_never_creates_migration_owned_tables() -> None: engine = create_engine("sqlite+pysqlite:///:memory:") try: create_legacy_schema(engine) table_names = set(inspect(engine).get_table_names()) finally: engine.dispose() assert MIGRATION_OWNED_TABLES == frozenset( { "ai_application_preview_decisions", "ai_decision_feedback", "ai_decisions", "approval_action_ledgers", "approval_task_events", "approval_tasks", "auth_sessions", "attachment_association_jobs", "business_events", "expense_case_links", "expense_cases", "memory_entries", "memory_evidence_links", "risk_observations", "risk_observation_feedback", "risk_disposition_events", "risk_dispositions", "few_shot_samples", "workflow_outcomes", } ) assert table_names assert table_names.isdisjoint(MIGRATION_OWNED_TABLES)