3 changed files with 3 additions and 64 deletions
@ -1,60 +0,0 @@ |
|||||
from typing import Union |
|
||||
|
|
||||
from fastapi import Depends, FastAPI |
|
||||
from fastapi.testclient import TestClient |
|
||||
from typing_extensions import Annotated |
|
||||
|
|
||||
app = FastAPI() |
|
||||
|
|
||||
|
|
||||
async def common_parameters( |
|
||||
q: Union[str, None] = None, skip: int = 0, limit: int = 100 |
|
||||
): |
|
||||
return {"q": q, "skip": skip, "limit": limit} |
|
||||
|
|
||||
|
|
||||
@app.get("/items/") |
|
||||
async def read_items(commons: Annotated[dict, Depends(common_parameters)]): |
|
||||
return {"message": "Hello Items!", "params": commons} |
|
||||
|
|
||||
|
|
||||
@app.get("/users/") |
|
||||
async def read_users(commons: Annotated[dict, Depends(common_parameters)]): |
|
||||
return {"message": "Hello Users!", "params": commons} |
|
||||
|
|
||||
|
|
||||
client = TestClient(app) |
|
||||
|
|
||||
|
|
||||
async def override_dependency(q: Union[str, None] = None): |
|
||||
return {"q": q, "skip": 5, "limit": 10} |
|
||||
|
|
||||
|
|
||||
app.dependency_overrides[common_parameters] = override_dependency |
|
||||
|
|
||||
|
|
||||
def test_override_in_items(): |
|
||||
response = client.get("/items/") |
|
||||
assert response.status_code == 200 |
|
||||
assert response.json() == { |
|
||||
"message": "Hello Items!", |
|
||||
"params": {"q": None, "skip": 5, "limit": 10}, |
|
||||
} |
|
||||
|
|
||||
|
|
||||
def test_override_in_items_with_q(): |
|
||||
response = client.get("/items/?q=foo") |
|
||||
assert response.status_code == 200 |
|
||||
assert response.json() == { |
|
||||
"message": "Hello Items!", |
|
||||
"params": {"q": "foo", "skip": 5, "limit": 10}, |
|
||||
} |
|
||||
|
|
||||
|
|
||||
def test_override_in_items_with_params(): |
|
||||
response = client.get("/items/?q=foo&skip=100&limit=200") |
|
||||
assert response.status_code == 200 |
|
||||
assert response.json() == { |
|
||||
"message": "Hello Items!", |
|
||||
"params": {"q": "foo", "skip": 5, "limit": 10}, |
|
||||
} |
|
||||
Loading…
Reference in new issue