Stop table reset of better persistent tables. (#373)

This commit is contained in:
2023-11-12 14:27:44 +01:00
committed by GitHub
parent d66e4e2b67
commit af8a907cf9
7 changed files with 108 additions and 41 deletions

View File

@ -0,0 +1,38 @@
"""Tests for sql rests."""
import sys
import pandas as pd
import pytest
from _pytest.monkeypatch import MonkeyPatch
from sqlalchemy.orm import Session
from aki_prj23_transparenzregister.utils.sql import entities, reset_sql
def test_reset_sql_all(full_db: Session) -> None:
"""Tests if all sql tables are reset."""
reset_sql.reset_tables(all_tables=True, db=full_db)
assert pd.read_sql_table(
entities.MissingCompany.__tablename__, con=full_db.bind # type:ignore
).empty
assert pd.read_sql_table(
entities.Company.__tablename__, con=full_db.bind # type:ignore
).empty
def test_reset_sql(full_db: Session) -> None:
"""Tests if only most sql tables are reset."""
reset_sql.reset_tables(all_tables=False, db=full_db)
assert pd.read_sql_table(
entities.Company.__tablename__, con=full_db.bind # type:ignore
).empty
assert not pd.read_sql_table(
entities.MissingCompany.__tablename__, con=full_db.bind # type:ignore
).empty
def test_reset_help(monkeypatch: MonkeyPatch) -> None:
"""Tests if all sql tables are reset."""
monkeypatch.setattr(sys, "argv", [sys.argv[0], "-h"])
with pytest.raises(SystemExit):
reset_sql.cli()