test_summarization_middleware_profile_edge_cases() — langchain Function Reference
Architecture documentation for the test_summarization_middleware_profile_edge_cases() function in test_summarization.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 1da78dc5_1241_8c8a_dc06_aec094374376["test_summarization_middleware_profile_edge_cases()"] 1911a463_b67d_0301_5ef1_5c535dafc14a["test_summarization.py"] 1da78dc5_1241_8c8a_dc06_aec094374376 -->|defined in| 1911a463_b67d_0301_5ef1_5c535dafc14a style 1da78dc5_1241_8c8a_dc06_aec094374376 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_summarization.py lines 642–732
def test_summarization_middleware_profile_edge_cases() -> None:
"""Test profile retrieval with various edge cases."""
class NoProfileModel(BaseChatModel):
@override
def _generate(
self,
messages: list[BaseMessage],
stop: list[str] | None = None,
run_manager: CallbackManagerForLLMRun | None = None,
**kwargs: Any,
) -> ChatResult:
return ChatResult(generations=[ChatGeneration(message=AIMessage(content="Summary"))])
@property
def _llm_type(self) -> str:
return "mock"
# Model without profile attribute
middleware = SummarizationMiddleware(model=NoProfileModel(), trigger=("messages", 5))
assert middleware._get_profile_limits() is None
class InvalidProfileModel(BaseChatModel):
@override
def _generate(
self,
messages: list[BaseMessage],
stop: list[str] | None = None,
run_manager: CallbackManagerForLLMRun | None = None,
**kwargs: Any,
) -> ChatResult:
return ChatResult(generations=[ChatGeneration(message=AIMessage(content="Summary"))])
@property
def _llm_type(self) -> str:
return "mock"
# NOTE: Using __getattribute__ because @property cannot override Pydantic fields.
def __getattribute__(self, name: str) -> Any:
if name == "profile":
return "invalid_profile_type"
return super().__getattribute__(name)
# Model with non-dict profile
middleware = SummarizationMiddleware(model=InvalidProfileModel(), trigger=("messages", 5))
assert middleware._get_profile_limits() is None
class MissingTokensModel(BaseChatModel):
profile: ModelProfile | None = Field(default=ModelProfile(other_field=100), exclude=True) # type: ignore[typeddict-unknown-key]
@override
def _generate(
self,
messages: list[BaseMessage],
stop: list[str] | None = None,
run_manager: CallbackManagerForLLMRun | None = None,
**kwargs: Any,
) -> ChatResult:
return ChatResult(generations=[ChatGeneration(message=AIMessage(content="Summary"))])
@property
def _llm_type(self) -> str:
return "mock"
# Model with profile but no max_input_tokens
middleware = SummarizationMiddleware(model=MissingTokensModel(), trigger=("messages", 5))
assert middleware._get_profile_limits() is None
class InvalidTokenTypeModel(BaseChatModel):
profile: ModelProfile | None = Field(
default=ModelProfile(max_input_tokens="not_an_int"), # type: ignore[typeddict-item]
exclude=True,
)
@override
def _generate(
self,
messages: list[BaseMessage],
stop: list[str] | None = None,
run_manager: CallbackManagerForLLMRun | None = None,
**kwargs: Any,
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does test_summarization_middleware_profile_edge_cases() do?
test_summarization_middleware_profile_edge_cases() 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_profile_edge_cases() defined?
test_summarization_middleware_profile_edge_cases() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_summarization.py at line 642.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free