test(bedrock): add comprehensive coverage for cross-region openai and explicit converse overrides

This commit is contained in:
anton-codes-iac 2026-09-12 21:44:17 +02:00
parent 0707ef7b68
commit 2a5e77db40

View file

@ -872,6 +872,7 @@ def test_every_bedrock_config_get_error_class_keeps_provider_headers(config):
def test_bedrock_get_error_class_audit_covers_every_surface():
assert len(_bedrock_configs_with_get_error_class()) >= 30
@pytest.mark.parametrize(
"model",
[
@ -879,10 +880,18 @@ def test_bedrock_get_error_class_audit_covers_every_surface():
"bedrock/global.openai.gpt-5.6-terra",
"bedrock/global.openai.gpt-5.6-luna",
"bedrock/eu.openai.gpt-5.6-sol",
"bedrock/eu.openai.gpt-5.6-terra",
"bedrock/eu.openai.gpt-5.6-luna",
"bedrock/apac.openai.gpt-5.6-sol",
"bedrock/apac.openai.gpt-5.6-terra",
"bedrock/apac.openai.gpt-5.6-luna",
"bedrock/us.openai.gpt-5.6-sol",
"bedrock/us.openai.gpt-5.6-terra",
"bedrock/us.openai.gpt-5.6-luna",
],
)
def test_bedrock_cross_region_openai_routing(model: str):
"""
Ensure cross-region OpenAI inference profiles on Bedrock route to the
@ -896,3 +905,24 @@ def test_bedrock_cross_region_openai_routing(model: str):
config = get_bedrock_chat_config(model)
assert isinstance(config, litellm.AmazonBedrockOpenAIConfig)
@pytest.mark.parametrize(
"model",
[
"bedrock/converse/global.openai.gpt-5.6-sol",
"bedrock/converse/eu.openai.gpt-5.6-terra",
"bedrock/converse/us.openai.gpt-5.6-luna",
],
)
def test_explicit_converse_prefix_overrides_openai_routing(model: str):
"""
Ensure that a user can still explicitly force the Converse API for an OpenAI model
by using the `converse/` prefix, which takes precedence in route_mappings.
"""
from litellm.llms.bedrock.common_utils import BedrockModelInfo
# Verify the explicit prefix intercepts the routing before the openai mapping
assert BedrockModelInfo.get_bedrock_route(model) == "converse"