Home / Function/ test_anthropic_prompt_caching_middleware_unsupported_model() — langchain Function Reference

test_anthropic_prompt_caching_middleware_unsupported_model() — langchain Function Reference

Architecture documentation for the test_anthropic_prompt_caching_middleware_unsupported_model() function in test_prompt_caching.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  725bbe18_0999_0c95_1b26_bdab9a40724a["test_anthropic_prompt_caching_middleware_unsupported_model()"]
  80b9bbd1_b825_9778_a36c_351fbf1d2478["test_prompt_caching.py"]
  725bbe18_0999_0c95_1b26_bdab9a40724a -->|defined in| 80b9bbd1_b825_9778_a36c_351fbf1d2478
  style 725bbe18_0999_0c95_1b26_bdab9a40724a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/partners/anthropic/tests/unit_tests/middleware/test_prompt_caching.py lines 104–149

def test_anthropic_prompt_caching_middleware_unsupported_model() -> None:
    """Test AnthropicPromptCachingMiddleware with unsupported model."""
    fake_request = ModelRequest(
        model=FakeToolCallingModel(),
        messages=[HumanMessage("Hello")],
        system_prompt=None,
        tool_choice=None,
        tools=[],
        response_format=None,
        state={"messages": [HumanMessage("Hello")]},
        runtime=cast(Runtime, object()),
        model_settings={},
    )

    middleware = AnthropicPromptCachingMiddleware(unsupported_model_behavior="raise")

    def mock_handler(req: ModelRequest) -> ModelResponse:
        return ModelResponse(result=[AIMessage(content="mock response")])

    # Since we're in the langchain-anthropic package, ChatAnthropic is always
    # available. Test that it raises an error for unsupported model instances
    with pytest.raises(
        ValueError,
        match=(
            "AnthropicPromptCachingMiddleware caching middleware only supports "
            "Anthropic models, not instances of"
        ),
    ):
        middleware.wrap_model_call(fake_request, mock_handler)

    middleware = AnthropicPromptCachingMiddleware(unsupported_model_behavior="warn")

    # Test warn behavior for unsupported model instances
    with warnings.catch_warnings(record=True) as w:
        result = middleware.wrap_model_call(fake_request, mock_handler)
        assert isinstance(result, ModelResponse)
        assert len(w) == 1
        assert (
            "AnthropicPromptCachingMiddleware caching middleware only supports "
            "Anthropic models, not instances of"
        ) in str(w[-1].message)

    # Test ignore behavior
    middleware = AnthropicPromptCachingMiddleware(unsupported_model_behavior="ignore")
    result = middleware.wrap_model_call(fake_request, mock_handler)
    assert isinstance(result, ModelResponse)

Domain

Subdomains

Frequently Asked Questions

What does test_anthropic_prompt_caching_middleware_unsupported_model() do?
test_anthropic_prompt_caching_middleware_unsupported_model() is a function in the langchain codebase, defined in libs/partners/anthropic/tests/unit_tests/middleware/test_prompt_caching.py.
Where is test_anthropic_prompt_caching_middleware_unsupported_model() defined?
test_anthropic_prompt_caching_middleware_unsupported_model() is defined in libs/partners/anthropic/tests/unit_tests/middleware/test_prompt_caching.py at line 104.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free