Coverage for tests/test_query.py: 100%
21 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-27 00:03 +0000
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-27 00:03 +0000
1from typing import Optional 1klmnopqrst
3import pytest 1klmnopqrst
4from sqlmodel import Field, Session, SQLModel, create_engine 1klmnopqrst
7def test_query(clear_sqlmodel): 1klmnopqrst
8 class Hero(SQLModel, table=True): 1abcdefghij
9 id: Optional[int] = Field(default=None, primary_key=True) 1abcdefghij
10 name: str 1abcdefghij
11 secret_name: str 1abcdefghij
12 age: Optional[int] = None 1abcdefghij
14 hero_1 = Hero(name="Deadpond", secret_name="Dive Wilson") 1abcdefghij
16 engine = create_engine("sqlite://") 1abcdefghij
18 SQLModel.metadata.create_all(engine) 1abcdefghij
19 with Session(engine) as session: 1abcdefghij
20 session.add(hero_1) 1abcdefghij
21 session.commit() 1abcdefghij
22 session.refresh(hero_1) 1abcdefghij
24 with Session(engine) as session: 1abcdefghij
25 with pytest.warns(DeprecationWarning): 1abcdefghij
26 query_hero = session.query(Hero).first() 1abcdefghij
27 assert query_hero 1abcdefghij
28 assert query_hero.name == hero_1.name 1abcdefghij