From 571b8a8db0bf6985b04825b49bce7b0556a48e01 Mon Sep 17 00:00:00 2001 From: merlinz01 <158784988+merlinz01@users.noreply.github.com> Date: Thu, 5 Sep 2024 23:04:10 -0400 Subject: [PATCH] add test for required field and passing null Signed-off-by: merlinz01 <158784988+merlinz01@users.noreply.github.com> --- tests/test_none_passed_when_null_received.py | 22 +++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/tests/test_none_passed_when_null_received.py b/tests/test_none_passed_when_null_received.py index 51d3991f0..1a0be42fd 100644 --- a/tests/test_none_passed_when_null_received.py +++ b/tests/test_none_passed_when_null_received.py @@ -50,11 +50,16 @@ def api4(integer_or_null: Optional[int] = Body(embed=True, default=DEFAULT)) -> endpoints.append("/api4") +@app.post("/api5") +def api5(integer: int = Body(embed=True)) -> dict: + return {"received": integer} + + client = TestClient(app) @pytest.mark.parametrize("api", endpoints) -def test_api1_integer(api): +def test_apis(api): response = client.post(api, json={"integer_or_null": 100}) assert response.status_code == 200, response.text assert response.json() == {"received": 100} @@ -62,3 +67,18 @@ def test_api1_integer(api): response = client.post(api, json={"integer_or_null": None}) assert response.status_code == 200, response.text assert response.json() == {"received": None} + + +def test_required_field(): + response = client.post("/api5", json={"integer": None}) + assert response.status_code == 422, response.text + assert response.json() == { + "detail": [ + { + "loc": ["body", "integer"], + "msg": "Field required", + "type": "missing", + "input": None, + } + ] + }