TestSystemMessageMiddlewareIntegration Class — langchain Architecture
Architecture documentation for the TestSystemMessageMiddlewareIntegration class in test_system_message.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 6469df6a_13d0_be79_9859_f2030c6dde8c["TestSystemMessageMiddlewareIntegration"] 6fa433a2_9c9f_67de_68d3_cb5b777bdb82["SystemMessage"] 6469df6a_13d0_be79_9859_f2030c6dde8c -->|extends| 6fa433a2_9c9f_67de_68d3_cb5b777bdb82 a610b8e2_10fe_f60e_5de4_dde05dd5afb7["test_system_message.py"] 6469df6a_13d0_be79_9859_f2030c6dde8c -->|defined in| a610b8e2_10fe_f60e_5de4_dde05dd5afb7 57030076_d52c_2940_d236_8eba32d0da84["test_multiple_middleware_can_modify_system_message()"] 6469df6a_13d0_be79_9859_f2030c6dde8c -->|method| 57030076_d52c_2940_d236_8eba32d0da84 5f863f41_40c9_f677_68e7_c3a22be2d478["test_middleware_preserves_system_message_metadata()"] 6469df6a_13d0_be79_9859_f2030c6dde8c -->|method| 5f863f41_40c9_f677_68e7_c3a22be2d478 28228df4_c0c0_245e_1ce8_eea57ba07fec["test_backward_compatibility_with_string_system_prompt()"] 6469df6a_13d0_be79_9859_f2030c6dde8c -->|method| 28228df4_c0c0_245e_1ce8_eea57ba07fec db2826b6_74f5_b2ea_5379_e9651ccf3239["test_middleware_can_switch_between_formats()"] 6469df6a_13d0_be79_9859_f2030c6dde8c -->|method| db2826b6_74f5_b2ea_5379_e9651ccf3239
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/test_system_message.py lines 860–991
class TestSystemMessageMiddlewareIntegration:
"""Test integration of SystemMessage with middleware chain."""
def test_multiple_middleware_can_modify_system_message(self) -> None:
"""Test that multiple middleware can modify system message in sequence."""
def first_middleware(request: ModelRequest) -> ModelRequest:
"""First middleware adds base system message."""
new_message = SystemMessage(
content="You are an assistant.",
additional_kwargs={"middleware_1": "applied"},
)
return request.override(system_message=new_message)
def second_middleware(request: ModelRequest) -> ModelRequest:
"""Second middleware appends to system message."""
assert request.system_message is not None
current_content = request.system_message.text
new_content = current_content + " Be helpful."
merged_kwargs = {
**request.system_message.additional_kwargs,
"middleware_2": "applied",
}
new_message = SystemMessage(
content=new_content,
additional_kwargs=merged_kwargs,
)
return request.override(system_message=new_message)
request = _make_request(system_message=None)
# Apply middleware in sequence
request = first_middleware(request)
assert request.system_message is not None
assert len(request.system_message.content_blocks) == 1
assert request.system_message.content_blocks[0].get("text") == "You are an assistant."
assert request.system_message.additional_kwargs["middleware_1"] == "applied"
request = second_middleware(request)
assert request.system_message is not None
assert len(request.system_message.content_blocks) == 1
assert (
request.system_message.content_blocks[0].get("text")
== "You are an assistant. Be helpful."
)
assert request.system_message.additional_kwargs["middleware_1"] == "applied"
assert request.system_message.additional_kwargs["middleware_2"] == "applied"
def test_middleware_preserves_system_message_metadata(self) -> None:
"""Test that metadata is preserved when middleware modifies system message."""
base_message = SystemMessage(
content="Base prompt",
additional_kwargs={"key1": "value1", "key2": "value2"},
response_metadata={"model": "gpt-4"},
)
def preserving_middleware(request: ModelRequest) -> ModelRequest:
"""Middleware that preserves existing metadata."""
assert request.system_message is not None
new_message = SystemMessage(
content=request.system_message.text + " Extended.",
additional_kwargs=request.system_message.additional_kwargs,
response_metadata=request.system_message.response_metadata,
)
return request.override(system_message=new_message)
request = _make_request(system_message=base_message)
new_request = preserving_middleware(request)
assert new_request.system_message is not None
assert len(new_request.system_message.content_blocks) == 1
assert new_request.system_message.content_blocks[0].get("text") == "Base prompt Extended."
assert new_request.system_message.additional_kwargs == {
"key1": "value1",
"key2": "value2",
}
assert new_request.system_message.response_metadata == {"model": "gpt-4"}
def test_backward_compatibility_with_string_system_prompt(self) -> None:
Extends
Source
Frequently Asked Questions
What is the TestSystemMessageMiddlewareIntegration class?
TestSystemMessageMiddlewareIntegration is a class in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/test_system_message.py.
Where is TestSystemMessageMiddlewareIntegration defined?
TestSystemMessageMiddlewareIntegration is defined in libs/langchain_v1/tests/unit_tests/agents/test_system_message.py at line 860.
What does TestSystemMessageMiddlewareIntegration extend?
TestSystemMessageMiddlewareIntegration extends SystemMessage.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free