updated test fixtures
This commit is contained in:
parent
754cb1235c
commit
f290f49248
|
|
@ -12,10 +12,26 @@ import pytest
|
|||
@pytest.fixture
|
||||
def engine() -> sqlalchemy.engine.Engine:
|
||||
engine = db.get_engine()
|
||||
# make sure db is empty otherwise might be testing a live db
|
||||
# this makes sure that we don't drop all on a live db
|
||||
inspector = sqlalchemy.inspect(engine)
|
||||
schemas = inspector.get_schema_names()
|
||||
assert len(list(schemas)) == 2
|
||||
assert schemas[0] == "information_schema"
|
||||
assert schemas[1] == "public"
|
||||
|
||||
db_tables = inspector.get_table_names(schema="public")
|
||||
assert len(db_tables) == 0
|
||||
|
||||
yield engine
|
||||
db.Base.metadata.drop_all(engine)
|
||||
|
||||
|
||||
def init_db(engine) -> sqlalchemy.engine.Engine:
|
||||
db.create_tables(engine)
|
||||
return engine
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def tables() -> list[db.Base]:
|
||||
tables = []
|
||||
|
|
@ -41,18 +57,9 @@ def test_db_classes(tables):
|
|||
|
||||
|
||||
def test_db_class_creation(tables: list[db.Base], engine: sqlalchemy.engine.Engine):
|
||||
inspector = sqlalchemy.inspect(engine)
|
||||
schemas = inspector.get_schema_names()
|
||||
assert len(list(schemas)) == 2
|
||||
assert schemas[0] == "information_schema"
|
||||
assert schemas[1] == "public"
|
||||
|
||||
db_tables = inspector.get_table_names(schema="public")
|
||||
assert len(db_tables) == 0
|
||||
|
||||
db.create_tables(engine)
|
||||
inspector = sqlalchemy.inspect(engine)
|
||||
db_tables = inspector.get_table_names(schema="public")
|
||||
assert len(db_tables) == len(tables)
|
||||
table_names = [table.__tablename__ for table in tables]
|
||||
assert sorted(db_tables) == sorted(table_names)
|
||||
assert sorted(db_tables) == sorted(table_names)
|
||||
|
|
|
|||
Loading…
Reference in New Issue