TestDynamicSystemPromptMiddleware Class — langchain Architecture
Architecture documentation for the TestDynamicSystemPromptMiddleware class in test_system_message.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 71806697_b367_06d3_c3dc_8764efaf8550["TestDynamicSystemPromptMiddleware"] 6fa433a2_9c9f_67de_68d3_cb5b777bdb82["SystemMessage"] 71806697_b367_06d3_c3dc_8764efaf8550 -->|extends| 6fa433a2_9c9f_67de_68d3_cb5b777bdb82 a610b8e2_10fe_f60e_5de4_dde05dd5afb7["test_system_message.py"] 71806697_b367_06d3_c3dc_8764efaf8550 -->|defined in| a610b8e2_10fe_f60e_5de4_dde05dd5afb7 1eaf1fdf_3f13_e839_e69e_0119dd882a69["test_middleware_can_return_system_message()"] 71806697_b367_06d3_c3dc_8764efaf8550 -->|method| 1eaf1fdf_3f13_e839_e69e_0119dd882a69 0adaf490_770d_a5c7_bc6c_c5c752fc751a["test_middleware_can_use_system_message_with_metadata()"] 71806697_b367_06d3_c3dc_8764efaf8550 -->|method| 0adaf490_770d_a5c7_bc6c_c5c752fc751a d17a013b_cdc8_048c_b2e8_79d48b4f944a["test_middleware_handles_none_system_message()"] 71806697_b367_06d3_c3dc_8764efaf8550 -->|method| d17a013b_cdc8_048c_b2e8_79d48b4f944a 1c0c4369_46e0_d9e8_89b6_79351f4854c0["test_middleware_with_content_blocks()"] 71806697_b367_06d3_c3dc_8764efaf8550 -->|method| 1c0c4369_46e0_d9e8_89b6_79351f4854c0
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/test_system_message.py lines 760–857
class TestDynamicSystemPromptMiddleware:
"""Test middleware that accepts SystemMessage return types."""
def test_middleware_can_return_system_message(self) -> None:
"""Test that middleware can return a SystemMessage with dynamic content."""
def dynamic_system_prompt_middleware(request: ModelRequest) -> SystemMessage:
"""Return a SystemMessage with dynamic content."""
region = getattr(request.runtime.context, "region", "n/a")
return SystemMessage(content=f"You are a helpful assistant. Region: {region}")
@dataclass
class RegionContext:
region: str
runtime = Runtime(context=RegionContext(region="EU"))
request = ModelRequest(
model=GenericFakeChatModel(messages=iter([AIMessage(content="response")])),
system_message=None,
messages=[HumanMessage(content="Hello")],
tool_choice=None,
tools=[],
response_format=None,
state=AgentState(messages=[]),
runtime=runtime,
model_settings={},
)
new_system_message = dynamic_system_prompt_middleware(request)
assert isinstance(new_system_message, SystemMessage)
assert len(new_system_message.content_blocks) == 1
assert (
new_system_message.content_blocks[0].get("text")
== "You are a helpful assistant. Region: EU"
)
def test_middleware_can_use_system_message_with_metadata(self) -> None:
"""Test middleware creating SystemMessage with additional metadata."""
def metadata_middleware(request: ModelRequest) -> SystemMessage:
"""Return SystemMessage with metadata."""
return SystemMessage(
content="You are a helpful assistant",
additional_kwargs={"temperature": 0.7, "model": "gpt-4"},
response_metadata={"region": "us-east"},
)
request = _make_request()
new_system_message = metadata_middleware(request)
assert len(new_system_message.content_blocks) == 1
assert new_system_message.content_blocks[0].get("text") == "You are a helpful assistant"
assert new_system_message.additional_kwargs == {
"temperature": 0.7,
"model": "gpt-4",
}
assert new_system_message.response_metadata == {"region": "us-east"}
def test_middleware_handles_none_system_message(self) -> None:
"""Test middleware creating new SystemMessage when none exists."""
def create_if_none_middleware(request: ModelRequest) -> SystemMessage:
"""Create a system message if none exists."""
if request.system_message is None:
return SystemMessage(content="Default system prompt")
return request.system_message
request = _make_request(system_message=None)
new_system_message = create_if_none_middleware(request)
assert isinstance(new_system_message, SystemMessage)
assert len(new_system_message.content_blocks) == 1
assert new_system_message.content_blocks[0].get("text") == "Default system prompt"
def test_middleware_with_content_blocks(self) -> None:
"""Test middleware creating SystemMessage with content blocks."""
def content_blocks_middleware(request: ModelRequest) -> SystemMessage:
"""Create SystemMessage with content blocks including cache control."""
return SystemMessage(
Extends
Source
Frequently Asked Questions
What is the TestDynamicSystemPromptMiddleware class?
TestDynamicSystemPromptMiddleware is a class in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/test_system_message.py.
Where is TestDynamicSystemPromptMiddleware defined?
TestDynamicSystemPromptMiddleware is defined in libs/langchain_v1/tests/unit_tests/agents/test_system_message.py at line 760.
What does TestDynamicSystemPromptMiddleware extend?
TestDynamicSystemPromptMiddleware extends SystemMessage.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free