feat: logout apaga o cookie de preferencia de linhas por pagina
This commit is contained in:
@@ -23,6 +23,7 @@ from fastapi.templating import Jinja2Templates
|
|||||||
from .. import rate_limit, session
|
from .. import rate_limit, session
|
||||||
from ..auth import UsuarioLogado, autenticar_credenciais, exigir_login
|
from ..auth import UsuarioLogado, autenticar_credenciais, exigir_login
|
||||||
from ..csrf import exigir_csrf, token_do_contexto
|
from ..csrf import exigir_csrf, token_do_contexto
|
||||||
|
from .clientes import POR_PAGINA_COOKIE
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
templates = Jinja2Templates(directory="app/templates")
|
templates = Jinja2Templates(directory="app/templates")
|
||||||
@@ -95,4 +96,5 @@ def login(
|
|||||||
def logout(usuario: UsuarioLogado = Depends(exigir_login)):
|
def logout(usuario: UsuarioLogado = Depends(exigir_login)):
|
||||||
resposta = RedirectResponse(url="/login", status_code=303)
|
resposta = RedirectResponse(url="/login", status_code=303)
|
||||||
resposta.delete_cookie(session.SESSION_COOKIE_NAME)
|
resposta.delete_cookie(session.SESSION_COOKIE_NAME)
|
||||||
|
resposta.delete_cookie(POR_PAGINA_COOKIE)
|
||||||
return resposta
|
return resposta
|
||||||
|
|||||||
@@ -115,3 +115,13 @@ def test_post_logout_apaga_cookie_e_redireciona():
|
|||||||
# cookie apagado: o Set-Cookie da resposta zera o valor
|
# cookie apagado: o Set-Cookie da resposta zera o valor
|
||||||
set_cookie = resposta.headers.get("set-cookie", "")
|
set_cookie = resposta.headers.get("set-cookie", "")
|
||||||
assert session.SESSION_COOKIE_NAME in set_cookie
|
assert session.SESSION_COOKIE_NAME in set_cookie
|
||||||
|
|
||||||
|
|
||||||
|
def test_post_logout_apaga_cookie_de_preferencia_de_paginacao():
|
||||||
|
from app.routers.clientes import POR_PAGINA_COOKIE
|
||||||
|
|
||||||
|
cookies = {session.SESSION_COOKIE_NAME: session.criar_token("admin", "Admin", "ADMIN")}
|
||||||
|
resposta = client.post("/logout", data={"csrf_token": CSRF_TESTE}, cookies=cookies)
|
||||||
|
assert resposta.status_code == 303
|
||||||
|
set_cookie = resposta.headers.get("set-cookie", "")
|
||||||
|
assert POR_PAGINA_COOKIE in set_cookie
|
||||||
|
|||||||
Reference in New Issue
Block a user