test_overrides.py — langchain Source File
Architecture documentation for test_overrides.py, a python file in the langchain codebase. 8 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR ee49be32_a4ff_96ee_e234_5e8fd8a9500d["test_overrides.py"] feec1ec4_6917_867b_d228_b134d0ff8099["typing"] ee49be32_a4ff_96ee_e234_5e8fd8a9500d --> feec1ec4_6917_867b_d228_b134d0ff8099 23cb242e_1754_041d_200a_553fcb8abe1b["unittest.mock"] ee49be32_a4ff_96ee_e234_5e8fd8a9500d --> 23cb242e_1754_041d_200a_553fcb8abe1b f69d6389_263d_68a4_7fbf_f14c0602a9ba["pytest"] ee49be32_a4ff_96ee_e234_5e8fd8a9500d --> f69d6389_263d_68a4_7fbf_f14c0602a9ba 00fc047e_6208_0289_ebf0_f5b91b72ee90["langchain_core.language_models.fake_chat_models"] ee49be32_a4ff_96ee_e234_5e8fd8a9500d --> 00fc047e_6208_0289_ebf0_f5b91b72ee90 9444498b_8066_55c7_b3a2_1d90c4162a32["langchain_core.messages"] ee49be32_a4ff_96ee_e234_5e8fd8a9500d --> 9444498b_8066_55c7_b3a2_1d90c4162a32 121262a1_0bd6_d637_bce3_307ab6b3ecd4["langchain_core.tools"] ee49be32_a4ff_96ee_e234_5e8fd8a9500d --> 121262a1_0bd6_d637_bce3_307ab6b3ecd4 d9a6942a_c37a_07f8_ed13_74d0fdc117be["langchain.agents"] ee49be32_a4ff_96ee_e234_5e8fd8a9500d --> d9a6942a_c37a_07f8_ed13_74d0fdc117be a681398d_ed44_c914_1a44_5d174223b069["langchain.agents.middleware.types"] ee49be32_a4ff_96ee_e234_5e8fd8a9500d --> a681398d_ed44_c914_1a44_5d174223b069 style ee49be32_a4ff_96ee_e234_5e8fd8a9500d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"""Unit tests for override() methods on ModelRequest and ToolCallRequest."""
from typing import Any
from unittest.mock import Mock
import pytest
from langchain_core.language_models.fake_chat_models import GenericFakeChatModel
from langchain_core.messages import (
AIMessage,
AnyMessage,
HumanMessage,
SystemMessage,
ToolCall,
)
from langchain_core.tools import tool
from langchain.agents import AgentState
from langchain.agents.middleware.types import ModelRequest, ToolCallRequest
class TestModelRequestOverride:
"""Test the ModelRequest.override() method."""
def test_override_single_attribute(self) -> None:
"""Test overriding a single attribute."""
model = GenericFakeChatModel(messages=iter([AIMessage(content="Hello")]))
original_request = ModelRequest(
model=model,
system_message=SystemMessage("Original prompt"),
messages=[HumanMessage("Hi")],
tool_choice=None,
tools=[],
response_format=None,
state=AgentState(messages=[]),
runtime=None,
)
new_request = original_request.override(system_message=SystemMessage("New prompt"))
# New request should have the overridden value
assert new_request.system_prompt == "New prompt"
# Original request should be unchanged (immutability)
assert original_request.system_prompt == "Original prompt"
# Other attributes should be the same
assert new_request.model == original_request.model
assert new_request.messages == original_request.messages
def test_override_multiple_attributes(self) -> None:
"""Test overriding multiple attributes at once."""
class CustomState(AgentState[Any]):
count: int
model = GenericFakeChatModel(messages=iter([AIMessage(content="Hello")]))
original_request = ModelRequest(
model=model,
system_message=SystemMessage("Original prompt"),
messages=[HumanMessage("Hi")],
tool_choice=None,
tools=[],
// ... (383 more lines)
Domain
Subdomains
Dependencies
- langchain.agents
- langchain.agents.middleware.types
- langchain_core.language_models.fake_chat_models
- langchain_core.messages
- langchain_core.tools
- pytest
- typing
- unittest.mock
Source
Frequently Asked Questions
What does test_overrides.py do?
test_overrides.py is a source file in the langchain codebase, written in python. It belongs to the LangChainCore domain, ApiManagement subdomain.
What does test_overrides.py depend on?
test_overrides.py imports 8 module(s): langchain.agents, langchain.agents.middleware.types, langchain_core.language_models.fake_chat_models, langchain_core.messages, langchain_core.tools, pytest, typing, unittest.mock.
Where is test_overrides.py in the architecture?
test_overrides.py is located at libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_overrides.py (domain: LangChainCore, subdomain: ApiManagement, directory: libs/langchain_v1/tests/unit_tests/agents/middleware/core).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free