mirror of https://github.com/tiangolo/fastapi.git
add tests for duplicate special dependency bug fix
This commit is contained in:
parent
8155667c78
commit
bda286314a
|
|
@ -0,0 +1,62 @@
|
|||
import pytest
|
||||
from fastapi import BackgroundTasks, FastAPI, Request, Response, WebSocket
|
||||
from fastapi.security import SecurityScopes
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
|
||||
@app.get("/request")
|
||||
def request(r1: Request, r2: Request) -> str:
|
||||
assert r1 is not None
|
||||
assert r1 is r2
|
||||
return "success"
|
||||
|
||||
|
||||
@app.get("/response")
|
||||
def response(r1: Response, r2: Response) -> str:
|
||||
assert r1 is not None
|
||||
assert r1 is r2
|
||||
return "success"
|
||||
|
||||
|
||||
@app.get("/background-tasks")
|
||||
def background_tasks(t1: BackgroundTasks, t2: BackgroundTasks) -> str:
|
||||
assert t1 is not None
|
||||
assert t1 is t2
|
||||
return "success"
|
||||
|
||||
|
||||
@app.get("/websocket")
|
||||
def websocket(ws1: WebSocket, ws2: WebSocket) -> str:
|
||||
assert ws1 is not None
|
||||
assert ws1 is ws2
|
||||
return "success"
|
||||
|
||||
|
||||
@app.get("/security-scopes")
|
||||
def security_scopes(sc1: SecurityScopes, sc2: SecurityScopes) -> str:
|
||||
assert sc1 is not None
|
||||
assert sc1 is sc2
|
||||
return "success"
|
||||
|
||||
|
||||
client = TestClient(app)
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"url",
|
||||
(
|
||||
"/request",
|
||||
"/response",
|
||||
"/background-tasks",
|
||||
"/security-scopes",
|
||||
),
|
||||
)
|
||||
def test_duplicate_special_dependency(url: str) -> None:
|
||||
assert client.get(url).text == '"success"'
|
||||
|
||||
|
||||
def test_duplicate_websocket_dependency() -> None:
|
||||
# Raises exception if connect fails.
|
||||
client.websocket_connect("/websocket")
|
||||
Loading…
Reference in New Issue