fastapi
1from typing import Dict, List, Optional, Tuple2
3import pytest4from fastapi import FastAPI, Query5from pydantic import BaseModel6
7
8def test_invalid_sequence():9with pytest.raises(AssertionError):10app = FastAPI()11
12class Item(BaseModel):13title: str14
15@app.get("/items/")16def read_items(q: List[Item] = Query(default=None)):17pass # pragma: no cover18
19
20def test_invalid_tuple():21with pytest.raises(AssertionError):22app = FastAPI()23
24class Item(BaseModel):25title: str26
27@app.get("/items/")28def read_items(q: Tuple[Item, Item] = Query(default=None)):29pass # pragma: no cover30
31
32def test_invalid_dict():33with pytest.raises(AssertionError):34app = FastAPI()35
36class Item(BaseModel):37title: str38
39@app.get("/items/")40def read_items(q: Dict[str, Item] = Query(default=None)):41pass # pragma: no cover42
43
44def test_invalid_simple_dict():45with pytest.raises(AssertionError):46app = FastAPI()47
48class Item(BaseModel):49title: str50
51@app.get("/items/")52def read_items(q: Optional[dict] = Query(default=None)):53pass # pragma: no cover54