7.76.1 — correctif : /mcp exempté du CSRF (client Bearer machine-à-machine)
FlowDeck CI / lint (push) Failing after 1m28s
FlowDeck CI / test (push) Failing after 22m55s
FlowDeck CI / docker (push) Skipped

Le middleware CSRF rejetait tout POST /mcp en 403 avant la route ;
les tests passaient car leur client porte session + CSRF. Test de
régression : client anonyme Bearer seul (200 avec jeton, 401 sans).
This commit is contained in:
Spark
2026-10-22 08:42:42 -04:00
parent 465b72235c
commit fae335f808
3 changed files with 22 additions and 2 deletions
+15
View File
@@ -156,6 +156,21 @@ def test_mcp_ecriture_sans_jeton_401(client, donnees):
assert r.status_code == 401
def test_mcp_client_bearer_sans_session_ni_csrf(client, jeton, donnees):
"""Régression 7.76.1 : un vrai client MCP est machine-à-machine
(Bearer seul, ni session ni jeton CSRF) — exactement le service
d'agents. Le client de test habituel porte une session + un CSRF,
ce qui masquait le 403 du middleware en production."""
from tests.conftest import anon
anon(client)
r = _rpc(client, jeton, 60, "initialize", {})
assert r.status_code == 200, r.text
cols = _appel(client, jeton, 61, "list_collections")
assert any(c["name"] == "Projet Alpha" for c in cols)
r = _rpc(client, None, 62, "tools/list")
assert r.status_code == 401, r.text
def test_mcp_info_get(client, jeton):
r = client.get("/mcp")
assert r.status_code == 200