mirror of
https://github.com/fhswf/aki_prj23_transparenzregister.git
synced 2025-04-25 20:22:33 +02:00
39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
"""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.connection()
|
|
).empty
|
|
assert pd.read_sql_table(
|
|
entities.Company.__tablename__, con=full_db.connection()
|
|
).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.connection()
|
|
).empty
|
|
assert not pd.read_sql_table(
|
|
entities.MissingCompany.__tablename__, con=full_db.connection()
|
|
).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()
|