Coverage for tests / test_advanced / test_datetime / test_tutorial003.py: 100%
16 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 importlib 1abcdefghi
2from datetime import datetime, timezone 1abcdefghi
3from types import ModuleType 1abcdefghi
5import pytest 1abcdefghi
6from sqlmodel import SQLModel 1abcdefghi
8from ...conftest import PrintMock 1abcdefghi
11@pytest.fixture( 1abcdefghi
12 name="mod",
13 params=[
14 pytest.param("tutorial003_py310"),
15 ],
16)
17def get_module(request: pytest.FixtureRequest) -> ModuleType: 1abcdefghi
18 return importlib.import_module(f"docs_src.advanced.datetime.{request.param}") 1abcdefghi
21def test_tutorial(print_mock: PrintMock, mod: ModuleType) -> None: 1abcdefghi
22 mod.main() 1jklmnopqr
23 assert print_mock.calls == [ 1jklmnopqr
24 ["Event:", {"id": None, "created_at": datetime(2026, 1, 1, 12)}]
25 ]
27 aware = datetime(2026, 1, 1, 12, tzinfo=timezone.utc) 1jklmnopqr
28 assert mod.Event.model_validate({"created_at": aware}).created_at == aware 1jklmnopqr
30 table = SQLModel.metadata.tables["event"] 1jklmnopqr
31 assert table.c.created_at.type.timezone is False 1jklmnopqr