Skip to content

Commit

Permalink
squash pytest
Browse files Browse the repository at this point in the history
  • Loading branch information
tony committed Jun 4, 2023
1 parent b804e13 commit 131bdeb
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 6 deletions.
4 changes: 3 additions & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
34 changes: 29 additions & 5 deletions tests/test_bootstrap.py
Original file line number Diff line number Diff line change
@@ -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()
Expand All @@ -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)
Expand Down

0 comments on commit 131bdeb

Please sign in to comment.