TestCacheControlPreservation Class — langchain Architecture
Architecture documentation for the TestCacheControlPreservation class in test_system_message.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD e83b9bd4_7513_7e56_d488_89c31019a4f7["TestCacheControlPreservation"] a610b8e2_10fe_f60e_5de4_dde05dd5afb7["test_system_message.py"] e83b9bd4_7513_7e56_d488_89c31019a4f7 -->|defined in| a610b8e2_10fe_f60e_5de4_dde05dd5afb7 901ab760_4cf8_464d_3c92_5054232b2bd4["test_middleware_can_add_cache_control()"] e83b9bd4_7513_7e56_d488_89c31019a4f7 -->|method| 901ab760_4cf8_464d_3c92_5054232b2bd4 1d078316_5661_5b2c_8de2_591b519c1b5d["test_cache_control_preserved_across_middleware()"] e83b9bd4_7513_7e56_d488_89c31019a4f7 -->|method| 1d078316_5661_5b2c_8de2_591b519c1b5d
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/test_system_message.py lines 573–679
class TestCacheControlPreservation:
"""Test cache control metadata preservation in system messages."""
def test_middleware_can_add_cache_control(self) -> None:
"""Test middleware adding cache control to system message."""
def cache_control_middleware(
request: ModelRequest, handler: Callable[[ModelRequest], ModelResponse]
) -> ModelResponse:
"""Add cache control to system message."""
new_message = SystemMessage(
content=[
{"type": "text", "text": "Base instructions"},
{
"type": "text",
"text": "Cached instructions",
"cache_control": {"type": "ephemeral"},
},
]
)
new_request = request.override(system_message=new_message)
return handler(new_request)
model = GenericFakeChatModel(messages=iter([AIMessage(content="response")]))
request = ModelRequest(
model=model,
system_message=None,
messages=[],
tool_choice=None,
tools=[],
response_format=None,
state=AgentState(messages=[]),
runtime=Runtime(),
)
captured_request = None
def mock_handler(req: ModelRequest) -> ModelResponse:
nonlocal captured_request
captured_request = req
return ModelResponse(result=[AIMessage(content="response")])
cache_control_middleware(request, mock_handler)
assert captured_request is not None
assert captured_request.system_message is not None
assert isinstance(captured_request.system_message.content_blocks, list)
assert captured_request.system_message.content_blocks[1].get("cache_control") == {
"type": "ephemeral"
}
def test_cache_control_preserved_across_middleware(self) -> None:
"""Test that cache control is preserved when middleware modifies message."""
def first_middleware_with_cache(
request: ModelRequest, handler: Callable[[ModelRequest], ModelResponse]
) -> ModelResponse:
"""Set system message with cache control."""
new_message = SystemMessage(
content=[
{
"type": "text",
"text": "Cached content",
"cache_control": {"type": "ephemeral"},
}
]
)
new_request = request.override(system_message=new_message)
return handler(new_request)
def second_middleware_appends(
request: ModelRequest, handler: Callable[[ModelRequest], ModelResponse]
) -> ModelResponse:
"""Append to system message while preserving cache control."""
assert request.system_message is not None
existing_content = request.system_message.content_blocks
new_content = [*existing_content, TextContentBlock(type="text", text="Additional text")]
new_message = SystemMessage(content_blocks=new_content)
new_request = request.override(system_message=new_message)
return handler(new_request)
Source
Frequently Asked Questions
What is the TestCacheControlPreservation class?
TestCacheControlPreservation is a class in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/test_system_message.py.
Where is TestCacheControlPreservation defined?
TestCacheControlPreservation is defined in libs/langchain_v1/tests/unit_tests/agents/test_system_message.py at line 573.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free