feat(nlp-service): cap /parse query at 500 chars via Field(max_length=500)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-06-07 15:47:40 +02:00
committed by marcel
parent 8d4f30019b
commit 778382cd61
2 changed files with 7 additions and 2 deletions

View File

@@ -1,10 +1,10 @@
from __future__ import annotations
from typing import Literal
from pydantic import BaseModel
from pydantic import BaseModel, Field
class ParseRequest(BaseModel):
query: str
query: str = Field(max_length=500)
lang: Literal["de", "en", "es"]

View File

@@ -81,6 +81,11 @@ def test_parse_all_languages(client):
assert r.json()["dateTo"] == "1920-12-31", f"Wrong dateTo for lang={lang}"
def test_parse_exceeds_max_length_returns_422(client):
r = client.post("/parse", json={"query": "a" * 501, "lang": "de"})
assert r.status_code == 422
def test_parse_internal_exception_does_not_leak_detail(client, monkeypatch):
"""500 errors must return generic message — never expose internal details."""
import main as main_module