From f290f492480c0077e0d21de8f82f423783c0dd50 Mon Sep 17 00:00:00 2001 From: Andrei Stoica Date: Sun, 18 Sep 2022 20:58:00 -0400 Subject: [PATCH] updated test fixtures --- test/test_db.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/test/test_db.py b/test/test_db.py index bcda081..3a41a6b 100644 --- a/test/test_db.py +++ b/test/test_db.py @@ -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) \ No newline at end of file + assert sorted(db_tables) == sorted(table_names)