35 lines
792 B
Python
35 lines
792 B
Python
|
from fastapi import Depends, FastAPI, Response
|
||
|
from fastapi.testclient import TestClient
|
||
|
|
||
|
app = FastAPI()
|
||
|
|
||
|
|
||
|
def set_cookie(*, response: Response):
|
||
|
response.set_cookie("cookie-name", "cookie-value")
|
||
|
return {}
|
||
|
|
||
|
|
||
|
def set_indirect_cookie(*, dep: str = Depends(set_cookie)):
|
||
|
return dep
|
||
|
|
||
|
|
||
|
@app.get("/directCookie")
|
||
|
def get_direct_cookie(dep: str = Depends(set_cookie)):
|
||
|
return {"dep": dep}
|
||
|
|
||
|
|
||
|
@app.get("/indirectCookie")
|
||
|
def get_indirect_cookie(dep: str = Depends(set_indirect_cookie)):
|
||
|
return {"dep": dep}
|
||
|
|
||
|
|
||
|
client = TestClient(app)
|
||
|
|
||
|
|
||
|
def test_cookie_is_set_once():
|
||
|
direct_response = client.get("/directCookie")
|
||
|
indirect_response = client.get("/indirectCookie")
|
||
|
assert (
|
||
|
direct_response.headers["set-cookie"] == indirect_response.headers["set-cookie"]
|
||
|
)
|