3 changed files with 29 additions and 5 deletions
@ -0,0 +1,20 @@ |
|||||
|
from fastapi import Depends, FastAPI |
||||
|
from fastapi.security import HTTPBasic, HTTPBasicCredentials |
||||
|
from starlette.testclient import TestClient |
||||
|
|
||||
|
|
||||
|
def test_http_basic_includes_realm_by_default(): |
||||
|
app = FastAPI() |
||||
|
security = HTTPBasic() # no realm provided |
||||
|
|
||||
|
@app.get("/protected") |
||||
|
def protected(credentials: HTTPBasicCredentials = Depends(security)): |
||||
|
return {"username": credentials.username} |
||||
|
|
||||
|
client = TestClient(app) |
||||
|
resp = client.get("/protected") |
||||
|
|
||||
|
assert resp.status_code == 401 |
||||
|
www_auth = resp.headers.get("www-authenticate") |
||||
|
assert www_auth is not None |
||||
|
assert www_auth.startswith('Basic realm="') |
||||
Loading…
Reference in new issue