From 131bdebb15952aee69523ba32ceace41ea81e5d1 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Sun, 4 Jun 2023 11:30:31 -0500 Subject: [PATCH] squash pytest --- tests/conftest.py | 4 +++- tests/test_bootstrap.py | 34 +++++++++++++++++++++++++++++----- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index b3f97dbf..19f2b996 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -75,7 +75,9 @@ def metadata() -> sqlalchemy.MetaData: @pytest.fixture(scope="function") -def session(engine: sqlalchemy.Engine, request: pytest.FixtureRequest) -> ScopedSession: +def session( + engine: sqlalchemy.Engine, request: pytest.FixtureRequest +) -> ScopedSession[t.Any]: connection = engine.connect() transaction = connection.begin() session_factory = sessionmaker(bind=engine) diff --git a/tests/test_bootstrap.py b/tests/test_bootstrap.py index ddb34ac2..54b6d51e 100644 --- a/tests/test_bootstrap.py +++ b/tests/test_bootstrap.py @@ -1,12 +1,27 @@ +import pathlib +from sqlalchemy.orm import Session from unihan_db import bootstrap from unihan_db.tables import Base, Unhn +import typing as t +import sqlalchemy -def test_reflect_db(tmpdb_file, unihan_options, metadata): + +class UnihanOptions(t.TypedDict): + source: pathlib.Path + work_dir: pathlib.Path + zip_path: pathlib.Path + + +def test_reflect_db( + tmpdb_file: pathlib.Path, + unihan_options: UnihanOptions, + metadata: sqlalchemy.MetaData, +) -> None: assert not bootstrap.is_bootstrapped(metadata) -def test_import_object(session, engine): +def test_import_object(session: Session, engine: sqlalchemy.Engine) -> None: Base.metadata.create_all(engine) session.add(Unhn(char="好", ucn="U+4E09")) session.commit() @@ -15,12 +30,21 @@ def test_import_object(session, engine): assert session.query(Unhn).count() == 1 -def test_import_unihan(zip_file, session, engine, unihan_options): +def test_import_unihan( + zip_file: pathlib.Path, + session: Session, + engine: sqlalchemy.Engine, + unihan_options: UnihanOptions, +) -> None: Base.metadata.create_all(bind=engine) - # bootstrap.bootstrap_unihan(Base.metadata, unihan_options) -def test_import_unihan_raw(zip_file, session, engine, unihan_options): +def test_import_unihan_raw( + zip_file: pathlib.Path, + session: Session, + engine: sqlalchemy.Engine, + unihan_options: UnihanOptions, +) -> None: Base.metadata.create_all(bind=engine) bootstrap.bootstrap_unihan(session, unihan_options)