litellm/tests
Javier de la Torre df232a71f1 feat(snowflake): add function calling support for Snowflake Cortex REST API
Add support for function calling (tools) with Snowflake Cortex models that support it (e.g., Claude 3.5 Sonnet).

Changes:
- Add 'tools' and 'tool_choice' to supported OpenAI parameters
- Implement request transformation: OpenAI function format → Snowflake tool_spec format
- Implement response transformation: Snowflake content_list with tool_use → OpenAI tool_calls
- Add tool_choice transformation: OpenAI nested format → Snowflake array format

Request transformation:
- Transform tools from nested {"type": "function", "function": {...}} to Snowflake's {"tool_spec": {"type": "generic", "name": "...", "input_schema": {...}}}
- Transform tool_choice from {"type": "function", "function": {"name": "..."}} to {"type": "tool", "name": ["..."]}

Response transformation:
- Parse Snowflake's content_list array containing tool_use objects
- Extract tool calls with tool_use_id, name, and input
- Convert to OpenAI's tool_calls format with proper JSON serialization

Testing:
- Add 7 unit tests covering request/response transformations
- Add integration test for Responses API with tool calling
- All tests passing

Fixes issue #15218

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-05 13:08:33 +02:00
..
basic_proxy_startup_tests
batches_tests
code_coverage_tests [Security Fix] fix: don't log JWT SSO token on .info() log (#15145) 2025-10-02 15:07:37 -07:00
documentation_tests
enterprise test: fix minor test 2025-10-04 14:55:04 -07:00
guardrails_tests test bedrock guardrails 2025-10-04 09:18:26 -07:00
image_gen_tests fix bedrock end of life img gen models 2025-09-27 17:02:48 -07:00
litellm/llms
litellm_utils_tests Fix end user cost tracking in the responses API (#15124) 2025-10-02 15:13:57 -07:00
litellm-proxy-extras
llm_responses_api_testing [Feat] Return Cost for Responses API Streaming requests (#15053) 2025-09-29 19:47:04 -07:00
llm_translation feat(snowflake): add function calling support for Snowflake Cortex REST API 2025-10-05 13:08:33 +02:00
load_tests
local_testing Merge pull request #14764 from daily-kim/litellm_fix_bearer_capitalization 2025-10-03 22:02:46 -07:00
logging_callback_tests fix LF tests 2025-10-04 10:39:17 -07:00
mcp_tests fix: test 2025-09-30 07:25:32 +09:00
multi_instance_e2e_tests
old_proxy_tests/tests
openai_endpoints_tests
otel_tests
pass_through_tests test_azure_openai_assistants_e2e_operations_stream 2025-10-04 10:53:46 -07:00
pass_through_unit_tests (Feat) Add Vertex AI Live API WebSocket Passthrough with Cost Tracking 2025-09-30 21:14:16 -07:00
proxy_admin_ui_tests
proxy_security_tests test fix 2025-10-04 10:57:02 -07:00
proxy_unit_tests test: fix raise 2025-10-04 16:11:22 -07:00
router_unit_tests fix: remove router inefficiencies (from O(M*N) to O(1)) - 62.5% faster P99 latency (#15046) 2025-09-29 15:49:46 -07:00
scim_tests
spend_tracking_tests
store_model_in_db_tests
test_litellm feat(snowflake): add function calling support for Snowflake Cortex REST API 2025-10-05 13:08:33 +02:00
unified_google_tests fix: gooogle GenAI route tests 2025-10-04 10:18:25 -07:00
vector_store_tests
windows_tests
__init__.py
gettysburg.wav
large_text.py
openai_batch_completions.jsonl
README.MD [Feat] MCP Gateway Fine-grained Tools Addition (#15153) 2025-10-03 10:16:29 -07:00
test_budget_management.py
test_callbacks_on_proxy.py
test_config.py
test_debug_warning.py
test_end_users.py
test_entrypoint.py
test_fallbacks.py
test_health.py
test_keys.py
test_logging.conf
test_models.py
test_openai_endpoints.py
test_organizations.py
test_passthrough_endpoints.py
test_ratelimit.py
test_resource_cleanup.py
test_spend_logs.py
test_team_logging.py
test_team_members.py
test_team.py
test_users.py

In total litellm runs 1000+ tests

[02/20/2025] Update:

To make it easier to contribute and map what behavior is tested,

we've started mapping the litellm directory in tests/test_litellm

This folder can only run mock tests.