Срез 0 [fix T12.4]: тест суррогата в original_name назван по фактическому поведению
Запрос с одиночным суррогатом в `original_name` отвергается схемой (pydantic `string_unicode`), а не «не ломает публикацию»: тест переименован в `..._is_schema_mismatch` и проверяет код SCHEMA_MISMATCH, отсутствие ack и `put`. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
0420c85219
commit
d288d19622
@ -567,14 +567,19 @@ async def test_lone_surrogate_in_is_error_message_does_not_break_publishing(make
|
||||
assert body["error"]["message"].endswith(" tail")
|
||||
|
||||
|
||||
async def test_lone_surrogate_in_original_name_does_not_break_publishing(make_env: EnvFactory) -> None:
|
||||
async def test_lone_surrogate_in_original_name_is_schema_mismatch(make_env: EnvFactory) -> None:
|
||||
"""Одиночный суррогат в `original_name` схема запроса не пропускает (pydantic `string_unicode`): SCHEMA_MISMATCH
|
||||
без ack и без файла в горячей папке; сам конверт публикуется."""
|
||||
env = await make_env()
|
||||
request = env.request(original_name="скан\udc80.pdf")
|
||||
data = json.dumps(request, ensure_ascii=True).encode("ascii") # в JSON суррогат приходит экранированным
|
||||
await env.deliver(data)
|
||||
await asyncio.wait_for(env.worker.wait_idle(), 5)
|
||||
[(_, body)] = env.results(request["job_id"])
|
||||
assert body["status"] == "error"
|
||||
job_id = request["job_id"]
|
||||
[(_, body)] = env.results(job_id)
|
||||
assert_error(body, ErrorCode.SCHEMA_MISMATCH, raw=False)
|
||||
assert env.acks(job_id) == []
|
||||
assert env.hotfolder.puts == []
|
||||
|
||||
|
||||
# --- остановка и прямой вызов handle (параллелизм — test_worker_concurrency.py) ---------------------------------------
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user