Coverage for tests / test_query.py: 100%
21 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 pytest 1jklmnopqr
2from sqlalchemy import Engine 1jklmnopqr
3from sqlmodel import Field, Session, SQLModel 1jklmnopqr
6def test_query(database_engine: Engine): 1jklmnopqr
7 class Hero(SQLModel, table=True): 1abcdefghi
8 id: int | None = Field(default=None, primary_key=True) 1abcdefghi
9 name: str 1abcdefghi
10 secret_name: str 1abcdefghi
11 age: int | None = None 1abcdefghi
13 hero_1 = Hero(name="Deadpond", secret_name="Dive Wilson") 1abcdefghi
15 engine = database_engine 1abcdefghi
17 SQLModel.metadata.create_all(engine) 1abcdefghi
18 with Session(engine) as session: 1abcdefghi
19 session.add(hero_1) 1abcdefghi
20 session.commit() 1abcdefghi
21 session.refresh(hero_1) 1abcdefghi
23 with Session(engine) as session: 1abcdefghi
24 with pytest.warns(DeprecationWarning): 1abcdefghi
25 query_hero = session.query(Hero).first() 1abcdefghi
26 assert query_hero 1abcdefghi
27 assert query_hero.name == hero_1.name 1abcdefghi