Coverage for docs_src/tutorial/fastapi/app_testing/tutorial001/test_extra_coverage.py: 100%
26 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-07 05:42 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-07 05:42 +0000
1from fastapi.testclient import TestClient 1abcdefg
2from sqlalchemy import Inspector, inspect 1abcdefg
3from sqlmodel import Session, create_engine 1abcdefg
5from . import main as app_mod 1abcdefg
6from .test_main import client_fixture, session_fixture 1abcdefg
8assert client_fixture, "This keeps the client fixture used below" 1abcdefg
9assert session_fixture, "This keeps the session fixture used by client_fixture" 1abcdefg
12def test_startup(): 1abcdefg
13 app_mod.engine = create_engine("sqlite://") 1hijklmn
14 app_mod.on_startup() 1hijklmn
15 insp: Inspector = inspect(app_mod.engine) 1hijklmn
16 assert insp.has_table(str(app_mod.Hero.__tablename__)) 1hijklmn
19def test_get_session(): 1abcdefg
20 app_mod.engine = create_engine("sqlite://") 1opqrstu
21 for session in app_mod.get_session(): 1opqrstu
22 assert isinstance(session, Session) 1opqrstu
23 assert session.bind == app_mod.engine 1opqrstu
26def test_read_hero_not_found(client: TestClient): 1abcdefg
27 response = client.get("/heroes/9000") 1vwxyzAB
28 assert response.status_code == 404 1vwxyzAB
31def test_update_hero_not_found(client: TestClient): 1abcdefg
32 response = client.patch("/heroes/9000", json={"name": "Very-Rusty-Man"}) 1CDEFGHI
33 assert response.status_code == 404 1CDEFGHI
36def test_delete_hero_not_found(client: TestClient): 1abcdefg
37 response = client.delete("/heroes/9000") 1JKLMNOP
38 assert response.status_code == 404 1JKLMNOP