Home / Function/ test_summarization_middleware_full_workflow() — langchain Function Reference

test_summarization_middleware_full_workflow() — langchain Function Reference

Architecture documentation for the test_summarization_middleware_full_workflow() function in test_summarization.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  29c10084_138d_fd08_fc0c_410591309959["test_summarization_middleware_full_workflow()"]
  1911a463_b67d_0301_5ef1_5c535dafc14a["test_summarization.py"]
  29c10084_138d_fd08_fc0c_410591309959 -->|defined in| 1911a463_b67d_0301_5ef1_5c535dafc14a
  style 29c10084_138d_fd08_fc0c_410591309959 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_summarization.py lines 424–465

def test_summarization_middleware_full_workflow() -> None:
    """Test SummarizationMiddleware complete summarization workflow."""
    with pytest.warns(DeprecationWarning, match="messages_to_keep is deprecated"):
        # keep test for functionality
        middleware = SummarizationMiddleware(
            model=MockChatModel(), max_tokens_before_summary=1000, messages_to_keep=2
        )

    # Mock high token count to trigger summarization
    def mock_token_counter(_: Iterable[MessageLikeRepresentation]) -> int:
        return 1500  # Above threshold

    middleware.token_counter = mock_token_counter

    messages: list[AnyMessage] = [
        HumanMessage(content="1"),
        HumanMessage(content="2"),
        HumanMessage(content="3"),
        HumanMessage(content="4"),
        HumanMessage(content="5"),
    ]

    state = AgentState[Any](messages=messages)
    result = middleware.before_model(state, Runtime())

    assert result is not None
    assert "messages" in result
    assert len(result["messages"]) > 0

    # Should have RemoveMessage for cleanup
    assert isinstance(result["messages"][0], RemoveMessage)
    assert result["messages"][0].id == REMOVE_ALL_MESSAGES

    # Should have summary message
    summary_message = None
    for msg in result["messages"]:
        if isinstance(msg, HumanMessage) and "summary of the conversation" in msg.content:
            summary_message = msg
            break

    assert summary_message is not None
    assert "Generated summary" in summary_message.content

Domain

Subdomains

Frequently Asked Questions

What does test_summarization_middleware_full_workflow() do?
test_summarization_middleware_full_workflow() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_summarization.py.
Where is test_summarization_middleware_full_workflow() defined?
test_summarization_middleware_full_workflow() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_summarization.py at line 424.

Analyze Your Own Codebase

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

Try Supermodel Free