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