updated test fixtures

This commit is contained in:
Andrei Stoica 2022-09-18 20:58:00 -04:00
parent 754cb1235c
commit f290f49248
1 changed files with 17 additions and 10 deletions

View File

@ -12,10 +12,26 @@ import pytest
@pytest.fixture @pytest.fixture
def engine() -> sqlalchemy.engine.Engine: def engine() -> sqlalchemy.engine.Engine:
engine = db.get_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 yield engine
db.Base.metadata.drop_all(engine) db.Base.metadata.drop_all(engine)
def init_db(engine) -> sqlalchemy.engine.Engine:
db.create_tables(engine)
return engine
@pytest.fixture @pytest.fixture
def tables() -> list[db.Base]: def tables() -> list[db.Base]:
tables = [] tables = []
@ -41,15 +57,6 @@ def test_db_classes(tables):
def test_db_class_creation(tables: list[db.Base], engine: sqlalchemy.engine.Engine): 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) db.create_tables(engine)
inspector = sqlalchemy.inspect(engine) inspector = sqlalchemy.inspect(engine)
db_tables = inspector.get_table_names(schema="public") db_tables = inspector.get_table_names(schema="public")