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:
@@ -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"]
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user