Introduction to FastAPI
Matt Eckerle
Software and Data Engineering Leader
def test_main():
response = main()
assert response == {"msg": "Hello"}
def test_read_main():
response = client.get("/")
assert response.status_code == 200
assert response.json() == {"msg":
"Hello"}
TestClient
: HTTP client for pytest
# Import TestClient and app from fastapi.testclient import TestClient from .main import app # Create test client with application context client = TestClient(app)
def test_main(): response = client.get("/") assert response.status_code == 200 assert response.json() == {"msg": "Hello"}
app = FastAPI()
@app.delete("/items")
def delete_item(item: Item):
if item.id not in item_ids:
raise HTTPException(
status_code=404,
detail="Item not found.")
else:
delete_item_in_database(item)
return {}
def test_delete_nonexistent_item():
response = client.delete(
"/items",
json={"id": -999})
assert response.status_code == 404
json = response.json()
assert json == {"detail":
"Item not found."}
Introduction to FastAPI