From a1b95772243d9f15d1ed98078793ea6cc23689a7 Mon Sep 17 00:00:00 2001 From: Xubin Ren <52506698+Re-bin@users.noreply.github.com> Date: Sat, 6 Jun 2026 19:30:57 +0800 Subject: [PATCH] test(image): cover dropping null OpenAI image params --- tests/providers/test_image_generation.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/providers/test_image_generation.py b/tests/providers/test_image_generation.py index 29890778d..c42dad493 100644 --- a/tests/providers/test_image_generation.py +++ b/tests/providers/test_image_generation.py @@ -631,6 +631,28 @@ async def test_openai_payload_and_response() -> None: assert body["size"] == "1792x1024" +@pytest.mark.asyncio +async def test_openai_extra_body_null_drops_default_params_only() -> None: + fake = FakeClient(FakeResponse({"data": [{"b64_json": RAW_B64}]})) + client = OpenAIImageGenerationClient( + api_key="sk-openai-test", + extra_body={ + "response_format": None, + "seed": 0, + "safety_checker": False, + }, + client=fake, # type: ignore[arg-type] + ) + + await client.generate(prompt="draw", model="dall-e-3") + + body = fake.calls[0]["json"] + assert "response_format" not in body + assert body["n"] == 1 + assert body["seed"] == 0 + assert body["safety_checker"] is False + + @pytest.mark.asyncio async def test_openai_b64_json_response_uses_detected_mime() -> None: raw_b64 = base64.b64encode(JPEG_BYTES).decode("ascii")