Home / Class/ TestEdgeCasesAndErrorHandling Class — langchain Architecture

TestEdgeCasesAndErrorHandling Class — langchain Architecture

Architecture documentation for the TestEdgeCasesAndErrorHandling class in test_system_message.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  a973dbed_89dc_259d_7d93_671b1c2f9d5b["TestEdgeCasesAndErrorHandling"]
  a610b8e2_10fe_f60e_5de4_dde05dd5afb7["test_system_message.py"]
  a973dbed_89dc_259d_7d93_671b1c2f9d5b -->|defined in| a610b8e2_10fe_f60e_5de4_dde05dd5afb7
  437dff8d_5876_96de_2476_f87596dbe4ef["test_system_message_content_variations()"]
  a973dbed_89dc_259d_7d93_671b1c2f9d5b -->|method| 437dff8d_5876_96de_2476_f87596dbe4ef
  c3d00210_6e41_1412_80a3_ebce7962dfe1["test_reset_system_prompt_to_none()"]
  a973dbed_89dc_259d_7d93_671b1c2f9d5b -->|method| c3d00210_6e41_1412_80a3_ebce7962dfe1

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/test_system_message.py lines 999–1063

class TestEdgeCasesAndErrorHandling:
    """Test edge cases and error handling for system messages."""

    @pytest.mark.parametrize(
        ("content", "expected_blocks", "expected_prompt"),
        [
            ("", 0, ""),
            (
                [
                    {"type": "text", "text": "Block 1"},
                    {"type": "text", "text": "Block 2"},
                    {"type": "text", "text": "Block 3"},
                ],
                3,
                None,
            ),
        ],
        ids=["empty_content", "multiple_blocks"],
    )
    def test_system_message_content_variations(
        self, content: str | list[str | dict[str, Any]], expected_blocks: int, expected_prompt: str
    ) -> None:
        """Test SystemMessage with various content variations."""
        system_message = SystemMessage(content=content)

        model = GenericFakeChatModel(messages=iter([AIMessage(content="response")]))
        request = ModelRequest(
            model=model,
            system_message=system_message,
            messages=[],
            tool_choice=None,
            tools=[],
            response_format=None,
            state=AgentState(messages=[]),
            runtime=Runtime(),
        )
        assert request.system_message is not None

        if isinstance(content, list):
            assert isinstance(request.system_message.content_blocks, list)
            assert len(request.system_message.content_blocks) == expected_blocks
        else:
            assert len(request.system_message.content_blocks) == expected_blocks
            assert request.system_prompt == expected_prompt

    def test_reset_system_prompt_to_none(self) -> None:
        """Test resetting system prompt to None."""
        base_message = SystemMessage(content="Original prompt")

        model = GenericFakeChatModel(messages=iter([AIMessage(content="response")]))
        request = ModelRequest(
            model=model,
            system_message=base_message,
            messages=[],
            tool_choice=None,
            tools=[],
            response_format=None,
            state=AgentState(messages=[]),
            runtime=Runtime(),
        )

        new_request = request.override(system_message=None)

        assert new_request.system_message is None
        assert new_request.system_prompt is None

Frequently Asked Questions

What is the TestEdgeCasesAndErrorHandling class?
TestEdgeCasesAndErrorHandling is a class in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/test_system_message.py.
Where is TestEdgeCasesAndErrorHandling defined?
TestEdgeCasesAndErrorHandling is defined in libs/langchain_v1/tests/unit_tests/agents/test_system_message.py at line 999.

Analyze Your Own Codebase

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

Try Supermodel Free