Coverage for tests / test_tutorial / test_insert / test_tutorial001.py: 100%
30 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-11-09 00:02 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-11-09 00:02 +0000
1import importlib 1jklmnopqr
2from types import ModuleType 1jklmnopqr
4import pytest 1jklmnopqr
5from sqlalchemy import Engine 1jklmnopqr
6from sqlmodel import Session, select 1jklmnopqr
9@pytest.fixture( 1jklmnopqr
10 name="mod",
11 params=[
12 pytest.param("tutorial001_py310"),
13 ],
14)
15def get_module(request: pytest.FixtureRequest, database_engine: Engine) -> ModuleType: 1jklmnopqr
16 mod = importlib.import_module(f"docs_src.tutorial.insert.{request.param}") 1jklmnopqr
17 mod.engine = database_engine 1jklmnopqr
18 return mod 1jklmnopqr
21def test_tutorial(mod: ModuleType): 1jklmnopqr
22 mod.main() 1abcdefghi
23 with Session(mod.engine) as session: 1abcdefghi
24 heroes = session.exec(select(mod.Hero)).all() 1abcdefghi
25 heroes_by_name = {hero.name: hero for hero in heroes} 1abcdefghi
26 deadpond = heroes_by_name["Deadpond"] 1abcdefghi
27 spider_boy = heroes_by_name["Spider-Boy"] 1abcdefghi
28 rusty_man = heroes_by_name["Rusty-Man"] 1abcdefghi
29 assert deadpond.name == "Deadpond" 1abcdefghi
30 assert deadpond.age is None 1abcdefghi
31 assert deadpond.id is not None 1abcdefghi
32 assert deadpond.secret_name == "Dive Wilson" 1abcdefghi
33 assert spider_boy.name == "Spider-Boy" 1abcdefghi
34 assert spider_boy.age is None 1abcdefghi
35 assert spider_boy.id is not None 1abcdefghi
36 assert spider_boy.secret_name == "Pedro Parqueador" 1abcdefghi
37 assert rusty_man.name == "Rusty-Man" 1abcdefghi
38 assert rusty_man.age == 48 1abcdefghi
39 assert rusty_man.id is not None 1abcdefghi
40 assert rusty_man.secret_name == "Tommy Sharp" 1abcdefghi