Home / Class/ TestDynamicSystemPromptMiddleware Class — langchain Architecture

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

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