Coverage for docs_src/app_testing/app_b/test_main.py: 100%
27 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-05-05 00:03 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-05-05 00:03 +0000
1from fastapi.testclient import TestClient 1ghijkl
3from .main import app 1ghijkl
5client = TestClient(app) 1ghijkl
8def test_read_item(): 1ghijkl
9 response = client.get("/items/foo", headers={"X-Token": "coneofsilence"}) 1abcdef
10 assert response.status_code == 200 1abcdef
11 assert response.json() == { 1abcdef
12 "id": "foo",
13 "title": "Foo",
14 "description": "There goes my hero",
15 }
18def test_read_item_bad_token(): 1ghijkl
19 response = client.get("/items/foo", headers={"X-Token": "hailhydra"}) 1abcdef
20 assert response.status_code == 400 1abcdef
21 assert response.json() == {"detail": "Invalid X-Token header"} 1abcdef
24def test_read_nonexistent_item(): 1ghijkl
25 response = client.get("/items/baz", headers={"X-Token": "coneofsilence"}) 1abcdef
26 assert response.status_code == 404 1abcdef
27 assert response.json() == {"detail": "Item not found"} 1abcdef
30def test_create_item(): 1ghijkl
31 response = client.post( 1abcdef
32 "/items/",
33 headers={"X-Token": "coneofsilence"},
34 json={"id": "foobar", "title": "Foo Bar", "description": "The Foo Barters"},
35 )
36 assert response.status_code == 200 1abcdef
37 assert response.json() == { 1abcdef
38 "id": "foobar",
39 "title": "Foo Bar",
40 "description": "The Foo Barters",
41 }
44def test_create_item_bad_token(): 1ghijkl
45 response = client.post( 1abcdef
46 "/items/",
47 headers={"X-Token": "hailhydra"},
48 json={"id": "bazz", "title": "Bazz", "description": "Drop the bazz"},
49 )
50 assert response.status_code == 400 1abcdef
51 assert response.json() == {"detail": "Invalid X-Token header"} 1abcdef
54def test_create_existing_item(): 1ghijkl
55 response = client.post( 1abcdef
56 "/items/",
57 headers={"X-Token": "coneofsilence"},
58 json={
59 "id": "foo",
60 "title": "The Foo ID Stealers",
61 "description": "There goes my stealer",
62 },
63 )
64 assert response.status_code == 409 1abcdef
65 assert response.json() == {"detail": "Item already exists"} 1abcdef