Main rewrote the same tests we moved. Resolution: keep the tests only
in the unit test directory, adopting main's improved patterns (AsyncMock,
assert_called_once, stronger content assertions on streaming).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move test_chat_completion_snowflake and test_chat_completion_snowflake_stream
from tests/llm_translation/ to tests/test_litellm/llms/snowflake/chat/ so
they run as part of `make test-unit` without requiring API credentials.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PR #24755 renamed `azure_api_key_header` to `AZURE_AI_API_KEY_header` in
the test file but did not update the actual function signatures of
`get_api_key()` and `_user_api_key_auth_builder()`, causing TypeError
on all affected test cases.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tests are fully mocked but require WATSONX_URL and WATSONX_PROJECT_ID
to pass provider validation before reaching the mocked HTTP client.
Add an autouse fixture with dummy values and clear WATSONX_ZENAPIKEY/
WATSONX_TOKEN to prevent env leakage from dotenv.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The router_code_coverage.py script only scans test files with "router" in the filename.
test_health_check_routing.py was invisible to this check, causing _async_filter_health_check_unhealthy_deployments
and _filter_health_check_unhealthy_deployments to appear untested.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add reasoning_items field to ChatCompletionAssistantMessage TypedDict
and extract a typed _get_reasoning_items helper instead of using cast.
Also widen _reasoning_item_to_response_input to accept ChatCompletionReasoningItem.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The DeepInfra tests were making real API calls and failing with AuthenticationError.
Mock the HTTP layer to verify request shape instead.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The hanging-response constructor was fixed but the sibling failed-response
constructor at line 104 was still missing this field.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>