Coverage for tests / test_query.py: 100%
20 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-06-10 09:40 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-06-10 09:40 +0000
1import pytest 1ijklmnop
2from sqlmodel import Field, Session, SQLModel, create_engine 1ijklmnop
5def test_query(clear_sqlmodel): 1ijklmnop
6 class Hero(SQLModel, table=True): 1abcdefgh
7 id: int | None = Field(default=None, primary_key=True) 1abcdefgh
8 name: str 1abcdefgh
9 secret_name: str 1abcdefgh
10 age: int | None = None 1abcdefgh
12 hero_1 = Hero(name="Deadpond", secret_name="Dive Wilson") 1abcdefgh
14 engine = create_engine("sqlite://") 1abcdefgh
16 SQLModel.metadata.create_all(engine) 1abcdefgh
17 with Session(engine) as session: 1abcdefgh
18 session.add(hero_1) 1abcdefgh
19 session.commit() 1abcdefgh
20 session.refresh(hero_1) 1abcdefgh
22 with Session(engine) as session: 1abcdefgh
23 with pytest.warns(DeprecationWarning): 1abcdefgh
24 query_hero = session.query(Hero).first() 1abcdefgh
25 assert query_hero 1abcdefgh
26 assert query_hero.name == hero_1.name 1abcdefgh