From 030ad00c7d7a6cc0abdedcf26347e7bec7242f06 Mon Sep 17 00:00:00 2001 From: Philipp Horstenkamp Date: Wed, 4 Oct 2023 19:36:57 +0200 Subject: [PATCH] Testing speedup with in memory SQLite (#189) If no SQLite File is written and deleted testing is MUCH faster. --- tests/conftest.py | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index ef44986..b223105 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,12 +1,10 @@ """Global configurations and definitions for pytest.""" import datetime -import os from collections.abc import Generator from inspect import getmembers, isfunction from typing import Any import pytest -from sqlalchemy.engine import Engine from sqlalchemy.orm import Session, sessionmaker from aki_prj23_transparenzregister.config.config_template import SQLiteConnectionString @@ -41,20 +39,12 @@ def _clear_caches() -> Generator[None, None, None]: @pytest.fixture() def empty_db() -> Generator[Session, None, None]: """Generates a db Session to a sql_lite db.""" - if os.path.exists("test-db.db"): - os.remove("test-db.db") - db = sessionmaker( - autocommit=False, - autoflush=False, - bind=get_engine(SQLiteConnectionString("test-db.db")), - )() + engine = get_engine(SQLiteConnectionString(":memory:")) + db = sessionmaker(autocommit=False, autoflush=False, bind=engine)() init_db(db) yield db db.close() - bind = db.bind - assert isinstance(bind, Engine) - bind.dispose() - os.remove("test-db.db") + engine.dispose() @pytest.fixture()