42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
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)
|