mirror of
https://github.com/fhswf/aki_prj23_transparenzregister.git
synced 2025-05-13 19:08:45 +02:00
Testing speedup with in memory SQLite (#189)
If no SQLite File is written and deleted testing is MUCH faster.
This commit is contained in:
parent
aa6c0efc87
commit
030ad00c7d
@ -1,12 +1,10 @@
|
|||||||
"""Global configurations and definitions for pytest."""
|
"""Global configurations and definitions for pytest."""
|
||||||
import datetime
|
import datetime
|
||||||
import os
|
|
||||||
from collections.abc import Generator
|
from collections.abc import Generator
|
||||||
from inspect import getmembers, isfunction
|
from inspect import getmembers, isfunction
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from sqlalchemy.engine import Engine
|
|
||||||
from sqlalchemy.orm import Session, sessionmaker
|
from sqlalchemy.orm import Session, sessionmaker
|
||||||
|
|
||||||
from aki_prj23_transparenzregister.config.config_template import SQLiteConnectionString
|
from aki_prj23_transparenzregister.config.config_template import SQLiteConnectionString
|
||||||
@ -41,20 +39,12 @@ def _clear_caches() -> Generator[None, None, None]:
|
|||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
def empty_db() -> Generator[Session, None, None]:
|
def empty_db() -> Generator[Session, None, None]:
|
||||||
"""Generates a db Session to a sql_lite db."""
|
"""Generates a db Session to a sql_lite db."""
|
||||||
if os.path.exists("test-db.db"):
|
engine = get_engine(SQLiteConnectionString(":memory:"))
|
||||||
os.remove("test-db.db")
|
db = sessionmaker(autocommit=False, autoflush=False, bind=engine)()
|
||||||
db = sessionmaker(
|
|
||||||
autocommit=False,
|
|
||||||
autoflush=False,
|
|
||||||
bind=get_engine(SQLiteConnectionString("test-db.db")),
|
|
||||||
)()
|
|
||||||
init_db(db)
|
init_db(db)
|
||||||
yield db
|
yield db
|
||||||
db.close()
|
db.close()
|
||||||
bind = db.bind
|
engine.dispose()
|
||||||
assert isinstance(bind, Engine)
|
|
||||||
bind.dispose()
|
|
||||||
os.remove("test-db.db")
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user