litellm/tests/test_litellm/llms/openai
Mateo Wang 3f33efdd57
fix(tests): drop import-time completion call in test_register_model (#29521)
* fix(tests): drop import-time completion call in test_register_model

test_update_model_cost_via_completion() was invoked at module scope, so it
ran during pytest collection and fired a live OpenAI completion. The local
test jobs glob the whole tests/local_testing folder and let pytest import
every file, narrowing what runs only afterward with -k, so this call
executed in every one of those jobs regardless of their filter. When the
request failed (for instance a 429 once the OpenAI account hit its quota),
collection of the file errored and aborted the entire session, which is why
langfuse, assistants, router and local_testing_part2 all reported
"ERROR collecting tests/local_testing/test_register_model.py" and never ran
their own tests.

Remove the stray call and add a regression that parses the module and fails
if any locally defined function is invoked at module scope again

* test: also guard async def from module-scope invocation

ast.AsyncFunctionDef is a distinct node from ast.FunctionDef, so an async
test invoked at module scope would have slipped past the guard. Collect
both kinds of definitions

* fix(responses): send Content-Type application/json on OpenAI responses requests

OpenAI's responses API now rejects body-less requests (GET/DELETE) that
arrive without a content type, returning 500 "Unsupported content type:
'application/octet-stream'. This API method only accepts 'application/json'
requests". litellm's create path got the header for free because httpx sets
it when a json body is present, but the delete/get handlers send no body and
so sent no content type. The official OpenAI SDK declares
Content-Type: application/json on every request; mirror that in
validate_environment so all OpenAI responses calls carry it.

This is what made tests/openai_endpoints_tests/test_e2e_openai_responses_api.py::test_basic_response
fail on the responses.delete() call.
2026-06-02 16:10:43 -07:00
..
chat Litellm OSS Staging 010626 (#29422) 2026-06-01 21:42:51 -07:00
completion style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
embeddings/guardrail_translation style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
evals fix: encode upstream URL path identifiers 2026-04-29 22:02:39 -07:00
image_generation test(image_generation): add tests for extra_headers propagation 2026-02-25 01:51:18 +08:00
realtime feat(realtime): OpenAI Realtime GA support and beta compatibility (#27110) 2026-05-05 16:49:20 -07:00
responses fix(tests): drop import-time completion call in test_register_model (#29521) 2026-06-02 16:10:43 -07:00
speech fix(unified_guardrail.py): support during_call event type for unified guardrails (#17514) 2025-12-04 22:06:13 -08:00
transcriptions test: use real completion_cost() instead of duplicating inline logic 2026-02-26 16:24:48 -03:00
vector_store_files fix: encode upstream URL path identifiers 2026-04-29 22:02:39 -07:00
vector_stores fix: encode upstream URL path identifiers 2026-04-29 22:02:39 -07:00
videos fix(videos): encode the variant query param 2026-05-01 00:32:02 +00:00
test_data_residency.py feat(openai): apply regional-processing cost uplift for EU/US data residency (#28626) 2026-05-25 20:36:14 -07:00
test_gpt5_transformation.py Fix GPT-5 reasoning summary strip test path 2026-05-11 06:01:35 +00:00
test_is_model_gpt_5_model.py feat(proxy): add /v1/memory CRUD endpoints (#26218) 2026-04-24 18:38:07 -07:00
test_o_series_transformation.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_openai_common_utils.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_openai_empty_response.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_openai_file_content_streaming.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_openai_image_edit_transformation.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_use_chat_completions_api_no_leak.py fix: stop use_chat_completions_api flag from leaking into provider request body (#29447) 2026-06-01 14:04:42 -07:00