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

1import pytest 1ijklmnop

2from sqlmodel import Field, Session, SQLModel, create_engine 1ijklmnop

3 

4 

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

11 

12 hero_1 = Hero(name="Deadpond", secret_name="Dive Wilson") 1abcdefgh

13 

14 engine = create_engine("sqlite://") 1abcdefgh

15 

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

21 

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