Fix linting error and linting config
This commit is contained in:
@@ -89,12 +89,10 @@ def test_run_migrations_0_to_1(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
with engine.connect() as conn:
|
||||
# check tables exist
|
||||
rows = conn.execute(
|
||||
text("SELECT name FROM sqlite_master WHERE type='table'")
|
||||
text("SELECT name FROM sqlite_master WHERE type='table'"),
|
||||
).fetchall()
|
||||
found_tables = {r[0] for r in rows}
|
||||
assert set(expected_schema.keys()).issubset(found_tables), (
|
||||
f"missing tables: {set(expected_schema.keys()) - found_tables}"
|
||||
)
|
||||
assert set(expected_schema.keys()).issubset(found_tables), f"missing tables: {set(expected_schema.keys()) - found_tables}"
|
||||
|
||||
# check user_version
|
||||
uv = conn.execute(text("PRAGMA user_version")).fetchone()
|
||||
@@ -103,14 +101,9 @@ def test_run_migrations_0_to_1(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
|
||||
# validate each table columns
|
||||
for tbl_name, cols in expected_schema.items():
|
||||
info_rows = conn.execute(
|
||||
text(f"PRAGMA table_info({tbl_name})")
|
||||
).fetchall()
|
||||
info_rows = conn.execute(text(f"PRAGMA table_info({tbl_name})")).fetchall()
|
||||
# map: name -> (type, notnull, pk)
|
||||
actual = {
|
||||
r[1]: ((r[2] or "").upper(), int(r[3]), int(r[5]))
|
||||
for r in info_rows
|
||||
}
|
||||
actual = {r[1]: ((r[2] or "").upper(), int(r[3]), int(r[5])) for r in info_rows}
|
||||
for colname, (exp_type, exp_notnull, exp_pk) in cols.items():
|
||||
assert colname in actual, f"{tbl_name}: missing column {colname}"
|
||||
act_type, act_notnull, act_pk = actual[colname]
|
||||
@@ -122,20 +115,12 @@ def test_run_migrations_0_to_1(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
assert exp_type in act_base or act_base in exp_type, (
|
||||
f"type mismatch {tbl_name}.{colname}: expected {exp_type}, got {act_base}"
|
||||
)
|
||||
assert act_notnull == exp_notnull, (
|
||||
f"notnull mismatch {tbl_name}.{colname}: expected {exp_notnull}, got {act_notnull}"
|
||||
)
|
||||
assert act_pk == exp_pk, (
|
||||
f"pk mismatch {tbl_name}.{colname}: expected {exp_pk}, got {act_pk}"
|
||||
)
|
||||
assert act_notnull == exp_notnull, f"notnull mismatch {tbl_name}.{colname}: expected {exp_notnull}, got {act_notnull}"
|
||||
assert act_pk == exp_pk, f"pk mismatch {tbl_name}.{colname}: expected {exp_pk}, got {act_pk}"
|
||||
for tbl_name, fks in expected_fks.items():
|
||||
fk_rows = conn.execute(
|
||||
text(f"PRAGMA foreign_key_list('{tbl_name}')")
|
||||
).fetchall()
|
||||
fk_rows = conn.execute(text(f"PRAGMA foreign_key_list('{tbl_name}')")).fetchall()
|
||||
# fk_rows columns: (id, seq, table, from, to, on_update, on_delete, match)
|
||||
actual_fk_list = [
|
||||
{"table": r[2], "from": r[3], "to": r[4]} for r in fk_rows
|
||||
]
|
||||
actual_fk_list = [{"table": r[2], "from": r[3], "to": r[4]} for r in fk_rows]
|
||||
for efk in fks:
|
||||
assert efk in actual_fk_list, f"missing FK on {tbl_name}: {efk}"
|
||||
finally:
|
||||
|
||||
Reference in New Issue
Block a user