Home / Function/ test_model_request_is_frozen() — langchain Function Reference

test_model_request_is_frozen() — langchain Function Reference

Architecture documentation for the test_model_request_is_frozen() function in test_model_fallback.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  385410ed_f127_c464_46d7_10e13e2543ce["test_model_request_is_frozen()"]
  c6372e75_e4e3_ed20_8230_4be219762f0f["test_model_fallback.py"]
  385410ed_f127_c464_46d7_10e13e2543ce -->|defined in| c6372e75_e4e3_ed20_8230_4be219762f0f
  87e5ea8c_f6ab_eab3_8968_7c2261cefbeb["_make_request()"]
  385410ed_f127_c464_46d7_10e13e2543ce -->|calls| 87e5ea8c_f6ab_eab3_8968_7c2261cefbeb
  style 385410ed_f127_c464_46d7_10e13e2543ce fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_model_fallback.py lines 384–426

def test_model_request_is_frozen() -> None:
    """Test that ModelRequest raises deprecation warning on direct attribute assignment."""
    request = _make_request()
    new_model = GenericFakeChatModel(messages=iter([AIMessage(content="new model")]))

    # Direct attribute assignment should raise DeprecationWarning but still work
    with pytest.warns(
        DeprecationWarning, match="Direct attribute assignment to ModelRequest.model is deprecated"
    ):
        request.model = new_model

    # Verify the assignment actually worked
    assert request.model == new_model

    with pytest.warns(
        DeprecationWarning,
        match="Direct attribute assignment to ModelRequest.system_prompt is deprecated",
    ):
        request.system_prompt = "new prompt"  # type: ignore[misc]

    assert request.system_prompt == "new prompt"

    with pytest.warns(
        DeprecationWarning,
        match="Direct attribute assignment to ModelRequest.messages is deprecated",
    ):
        request.messages = []

    assert request.messages == []

    # Using override method should work without warnings
    request2 = _make_request()
    with warnings.catch_warnings():
        warnings.simplefilter("error")  # Turn warnings into errors
        new_request = request2.override(
            model=new_model, system_message=SystemMessage(content="override prompt")
        )

    assert new_request.model == new_model
    assert new_request.system_prompt == "override prompt"
    # Original request should be unchanged
    assert request2.model != new_model
    assert request2.system_prompt != "override prompt"

Domain

Subdomains

Frequently Asked Questions

What does test_model_request_is_frozen() do?
test_model_request_is_frozen() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_model_fallback.py.
Where is test_model_request_is_frozen() defined?
test_model_request_is_frozen() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_model_fallback.py at line 384.
What does test_model_request_is_frozen() call?
test_model_request_is_frozen() calls 1 function(s): _make_request.

Analyze Your Own Codebase

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

Try Supermodel Free