Coverage for tests / test_tutorial / test_connect / test_create_connected_tables / test_tutorial001.py: 100%

17 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-06-10 09:40 +0000

1import importlib 1abcdefgh

2from types import ModuleType 1abcdefgh

3 

4import pytest 1abcdefgh

5from sqlalchemy import inspect 1abcdefgh

6from sqlalchemy.engine.reflection import Inspector 1abcdefgh

7from sqlmodel import create_engine 1abcdefgh

8 

9 

10@pytest.fixture( 1abcdefgh

11 name="module", 

12 params=[ 

13 pytest.param("tutorial001_py310"), 

14 ], 

15) 

16def get_module(request: pytest.FixtureRequest) -> ModuleType: 1abcdefgh

17 module = importlib.import_module( 1abcdefgh

18 f"docs_src.tutorial.connect.create_tables.{request.param}" 

19 ) 

20 return module 1abcdefgh

21 

22 

23def test_tutorial001(module: ModuleType): 1abcdefgh

24 module.sqlite_url = "sqlite://" 1ijklmnop

25 module.engine = create_engine(module.sqlite_url) 1ijklmnop

26 module.main() 1ijklmnop

27 insp: Inspector = inspect(module.engine) 1ijklmnop

28 assert insp.has_table(str(module.Hero.__tablename__)) 1ijklmnop

29 assert insp.has_table(str(module.Team.__tablename__)) 1ijklmnop