Home / Class/ TestRequestModification Class — langchain Architecture

TestRequestModification Class — langchain Architecture

Architecture documentation for the TestRequestModification class in test_wrap_model_call.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  636d0ede_6388_53dc_a6d4_d247c8f8d506["TestRequestModification"]
  949c7cf4_56fe_f3b4_cd89_9631a7e9cb1e["AgentMiddleware"]
  636d0ede_6388_53dc_a6d4_d247c8f8d506 -->|extends| 949c7cf4_56fe_f3b4_cd89_9631a7e9cb1e
  573473e5_eb93_a7d7_84ba_c975071c09af["test_wrap_model_call.py"]
  636d0ede_6388_53dc_a6d4_d247c8f8d506 -->|defined in| 573473e5_eb93_a7d7_84ba_c975071c09af
  61cd84dc_df02_d30e_c9db_7a1dc86d298c["test_add_system_prompt()"]
  636d0ede_6388_53dc_a6d4_d247c8f8d506 -->|method| 61cd84dc_df02_d30e_c9db_7a1dc86d298c

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py lines 559–601

class TestRequestModification:
    """Test request modification with wrap_model_call."""

    def test_add_system_prompt(self) -> None:
        """Test middleware that adds a system prompt to requests."""
        received_requests = []

        class SystemPromptMiddleware(AgentMiddleware):
            def __init__(self, system_prompt: str):
                super().__init__()
                self.system_prompt = system_prompt

            def wrap_model_call(
                self,
                request: ModelRequest,
                handler: Callable[[ModelRequest], ModelResponse],
            ) -> ModelCallResult:
                # Modify request to add system prompt
                modified_request = ModelRequest(
                    model=request.model,
                    system_prompt=self.system_prompt,
                    messages=request.messages,
                    tools=request.tools,
                    tool_choice=request.tool_choice,
                    response_format=request.response_format,
                    model_settings=request.model_settings,
                    state=request.state,
                    runtime=request.runtime,
                )
                received_requests.append(modified_request)
                return handler(modified_request)

        model = GenericFakeChatModel(messages=iter([AIMessage(content="Response")]))
        agent = create_agent(
            model=model,
            middleware=[SystemPromptMiddleware(system_prompt="You are a helpful assistant.")],
        )

        result = agent.invoke({"messages": [HumanMessage("Test")]})

        assert len(received_requests) == 1
        assert received_requests[0].system_prompt == "You are a helpful assistant."
        assert result["messages"][1].content == "Response"

Extends

Frequently Asked Questions

What is the TestRequestModification class?
TestRequestModification is a class in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py.
Where is TestRequestModification defined?
TestRequestModification is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py at line 559.
What does TestRequestModification extend?
TestRequestModification extends AgentMiddleware.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free