This commit is contained in:
27
tests/test_migration_metadata_coverage.py
Normal file
27
tests/test_migration_metadata_coverage.py
Normal file
@@ -0,0 +1,27 @@
|
||||
import re
|
||||
from pathlib import Path
|
||||
|
||||
from database.manager import Base
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
|
||||
|
||||
def _migration_created_tables():
|
||||
tables = set()
|
||||
for path in (ROOT / "migrations").glob("*.sql"):
|
||||
text = path.read_text(encoding="utf-8", errors="ignore")
|
||||
for match in re.finditer(
|
||||
r"CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?(?:public\.)?([\w_]+)",
|
||||
text,
|
||||
re.IGNORECASE,
|
||||
):
|
||||
tables.add(match.group(1))
|
||||
return tables
|
||||
|
||||
|
||||
def test_all_orm_metadata_tables_have_create_table_migration():
|
||||
metadata_tables = set(Base.metadata.tables)
|
||||
migration_tables = _migration_created_tables()
|
||||
|
||||
assert metadata_tables - migration_tables == set()
|
||||
Reference in New Issue
Block a user