From d7fdab8c4057a59125fab686221915d73410ff2c Mon Sep 17 00:00:00 2001 From: Chris Volzer Date: Wed, 18 Mar 2026 17:54:43 -0400 Subject: [PATCH] chore: added tests --- .../test_anthropic_chat_transformation.py | 31 +++++++++++++++++++ .../chat/test_converse_transformation.py | 20 ++++++++++++ 2 files changed, 51 insertions(+) diff --git a/tests/test_litellm/llms/anthropic/chat/test_anthropic_chat_transformation.py b/tests/test_litellm/llms/anthropic/chat/test_anthropic_chat_transformation.py index 6f03f630b5f..21db64fe9a0 100644 --- a/tests/test_litellm/llms/anthropic/chat/test_anthropic_chat_transformation.py +++ b/tests/test_litellm/llms/anthropic/chat/test_anthropic_chat_transformation.py @@ -650,6 +650,37 @@ def test_get_supported_params_thinking(): assert "thinking" in params +@pytest.mark.parametrize( + "model", + [ + # Claude 3.7 + "claude-3-7-sonnet-20250219", + "bedrock/anthropic.claude-3-7-sonnet-20250219-v1:0", + # Claude Sonnet 4.x + "claude-sonnet-4-20250514", + "bedrock/anthropic.claude-sonnet-4-20250514-v1:0", + "claude-sonnet-4-5-20250929", + "bedrock/claude-sonnet-4-5-20250929-v1:0", + "claude-sonnet-4-6", + "bedrock/anthropic.claude-sonnet-4-6", + # Claude Opus 4.x + "claude-opus-4-20250514", + "bedrock/anthropic.claude-opus-4-20250514-v1:0", + "claude-opus-4-6", + "bedrock/anthropic.claude-opus-4-6-v1:0", + # Claude Haiku 4.x + "claude-haiku-4-5-20251001", + "bedrock/anthropic.claude-haiku-4-5-20251001-v1:0", + ], +) +def test_thinking_params_supported_for_all_claude_4x_models(model): + """All Claude 3.7+ models should support thinking and reasoning_effort params.""" + config = AnthropicConfig() + params = config.get_supported_openai_params(model=model) + assert "thinking" in params, f"thinking not in supported params for {model}" + assert "reasoning_effort" in params, f"reasoning_effort not in supported params for {model}" + + def test_anthropic_memory_tool_auto_adds_beta_header(): """ Tests that LiteLLM automatically adds the required 'anthropic-beta' header diff --git a/tests/test_litellm/llms/bedrock/chat/test_converse_transformation.py b/tests/test_litellm/llms/bedrock/chat/test_converse_transformation.py index 317faa5457a..e481f5c81e4 100644 --- a/tests/test_litellm/llms/bedrock/chat/test_converse_transformation.py +++ b/tests/test_litellm/llms/bedrock/chat/test_converse_transformation.py @@ -273,6 +273,26 @@ def test_get_supported_openai_params(): assert "reasoning_effort" in supported_params +@pytest.mark.parametrize( + "model", + [ + "bedrock/converse/anthropic.claude-3-7-sonnet-20250219-v1:0", + "bedrock/converse/anthropic.claude-sonnet-4-20250514-v1:0", + "bedrock/converse/anthropic.claude-sonnet-4-5-20250929-v1:0", + "bedrock/converse/anthropic.claude-sonnet-4-6", + "bedrock/converse/anthropic.claude-opus-4-20250514-v1:0", + "bedrock/converse/anthropic.claude-opus-4-6-v1:0", + "bedrock/converse/anthropic.claude-haiku-4-5-20251001-v1:0", + ], +) +def test_converse_thinking_params_supported_for_all_claude_4x_models(model): + """All Claude 3.7+ models on Bedrock Converse should support thinking and reasoning_effort.""" + config = AmazonConverseConfig() + params = config.get_supported_openai_params(model=model) + assert "thinking" in params, f"thinking not in supported params for {model}" + assert "reasoning_effort" in params, f"reasoning_effort not in supported params for {model}" + + def test_get_supported_openai_params_bedrock_converse(): """ Test that all documented bedrock converse models have the same set of supported openai params when using