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
Defined In
Calls
Source
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