plan(SP22): Task 5 — add test_parse_837_does_not_retry_on_5xx to spec (locks in dedup-safety contract)
This commit is contained in:
@@ -943,6 +943,19 @@ async def test_parse_837_posts_file_and_returns_summary(client, sample_837p_path
|
||||
# Confirm multipart upload
|
||||
content_type = route.calls.last.request.headers["content-type"]
|
||||
assert "multipart/form-data" in content_type
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@respx.mock
|
||||
async def test_parse_837_does_not_retry_on_5xx(client, sample_837p_path):
|
||||
"""parse_837 is a POST — retries would double-submit, so the
|
||||
dedup-safety contract is that 5xx propagates without retry."""
|
||||
route = respx.post("http://test:8000/api/parse-837").mock(
|
||||
return_value=Response(503, json={"error": "transient"})
|
||||
)
|
||||
with pytest.raises(httpx.HTTPStatusError):
|
||||
await client.parse_837(sample_837p_path, payer="co_medicaid")
|
||||
assert route.call_count == 1
|
||||
```
|
||||
|
||||
- [ ] **Step 2: Run test to verify it fails**
|
||||
|
||||
Reference in New Issue
Block a user