TestModelRequestSystemMessage Class — langchain Architecture
Architecture documentation for the TestModelRequestSystemMessage class in test_system_message.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD fdcac224_4658_3042_d41f_938e751993a3["TestModelRequestSystemMessage"] 6fa433a2_9c9f_67de_68d3_cb5b777bdb82["SystemMessage"] fdcac224_4658_3042_d41f_938e751993a3 -->|extends| 6fa433a2_9c9f_67de_68d3_cb5b777bdb82 a610b8e2_10fe_f60e_5de4_dde05dd5afb7["test_system_message.py"] fdcac224_4658_3042_d41f_938e751993a3 -->|defined in| a610b8e2_10fe_f60e_5de4_dde05dd5afb7 bf2c6721_d3b4_d3b7_39bf_f411898b666a["test_create_with_various_system_inputs()"] fdcac224_4658_3042_d41f_938e751993a3 -->|method| bf2c6721_d3b4_d3b7_39bf_f411898b666a 57cd64d3_9304_9d2c_cb9e_bd2441c0dbbf["test_system_prompt_property_with_list_content()"] fdcac224_4658_3042_d41f_938e751993a3 -->|method| 57cd64d3_9304_9d2c_cb9e_bd2441c0dbbf 39177f3d_ac44_6f9d_b3ae_62c1c0b89c73["test_override_methods()"] fdcac224_4658_3042_d41f_938e751993a3 -->|method| 39177f3d_ac44_6f9d_b3ae_62c1c0b89c73 f5c844c2_ada8_3558_5008_f8bde32f259a["test_override_system_prompt_to_none()"] fdcac224_4658_3042_d41f_938e751993a3 -->|method| f5c844c2_ada8_3558_5008_f8bde32f259a 6603af87_954d_6b41_fc20_1a650f2d3dc0["test_cannot_set_both_system_prompt_and_system_message()"] fdcac224_4658_3042_d41f_938e751993a3 -->|method| 6603af87_954d_6b41_fc20_1a650f2d3dc0 52fd08ae_3b85_c6fd_0bd7_9ae358d6f64b["test_setattr_system_prompt_deprecated()"] fdcac224_4658_3042_d41f_938e751993a3 -->|method| 52fd08ae_3b85_c6fd_0bd7_9ae358d6f64b 2e169c5e_0a77_e4bc_df83_ae66f6e194ab["test_system_message_with_complex_content()"] fdcac224_4658_3042_d41f_938e751993a3 -->|method| 2e169c5e_0a77_e4bc_df83_ae66f6e194ab 8038197f_575d_3162_5f45_8616dead3bcc["test_multiple_overrides_with_system_message()"] fdcac224_4658_3042_d41f_938e751993a3 -->|method| 8038197f_575d_3162_5f45_8616dead3bcc
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/test_system_message.py lines 54–302
class TestModelRequestSystemMessage:
"""Test ModelRequest with system_message field."""
@pytest.mark.parametrize(
("system_message", "system_prompt", "expected_msg", "expected_prompt"),
[
# Test with SystemMessage
(
SystemMessage(content="You are helpful"),
None,
SystemMessage(content="You are helpful"),
"You are helpful",
),
# Test with None
(None, None, None, None),
# Test with string (backward compat)
(None, "You are helpful", SystemMessage(content="You are helpful"), "You are helpful"),
],
)
def test_create_with_various_system_inputs(
self,
system_message: SystemMessage | None,
system_prompt: str | None,
expected_msg: SystemMessage | None,
expected_prompt: str | None,
) -> None:
"""Test creating ModelRequest with various system message inputs."""
model = GenericFakeChatModel(messages=iter([AIMessage(content="Hello")]))
request = ModelRequest(
model=model,
system_message=system_message,
system_prompt=system_prompt,
messages=[HumanMessage("Hi")],
tool_choice=None,
tools=[],
response_format=None,
state=AgentState(messages=[]),
runtime=None,
)
if expected_msg is None:
assert request.system_message is None
else:
assert request.system_message is not None
assert request.system_message.content == expected_msg.content
assert request.system_prompt == expected_prompt
def test_system_prompt_property_with_list_content(self) -> None:
"""Test system_prompt property handles list content."""
model = GenericFakeChatModel(messages=iter([AIMessage(content="Hello")]))
system_msg = SystemMessage(content=["Part 1", "Part 2"])
request = ModelRequest(
model=model,
system_message=system_msg,
messages=[],
tool_choice=None,
tools=[],
response_format=None,
state=AgentState(messages=[]),
runtime=None,
)
assert request.system_prompt is not None
assert "Part 1" in request.system_prompt
@pytest.mark.parametrize(
("override_with", "expected_text"),
[
("system_message", "New"),
("system_prompt", "New prompt"),
],
)
def test_override_methods(self, override_with: str, expected_text: str) -> None:
"""Test override() with system_message and system_prompt parameters."""
model = GenericFakeChatModel(messages=iter([AIMessage(content="Hello")]))
original_msg = SystemMessage(content="Original")
original_request = ModelRequest(
model=model,
Extends
Source
Frequently Asked Questions
What is the TestModelRequestSystemMessage class?
TestModelRequestSystemMessage is a class in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/test_system_message.py.
Where is TestModelRequestSystemMessage defined?
TestModelRequestSystemMessage is defined in libs/langchain_v1/tests/unit_tests/agents/test_system_message.py at line 54.
What does TestModelRequestSystemMessage extend?
TestModelRequestSystemMessage extends SystemMessage.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free