Home / Class/ TestDumpdEscapesLcKeyInPlainDicts Class — langchain Architecture

TestDumpdEscapesLcKeyInPlainDicts Class — langchain Architecture

Architecture documentation for the TestDumpdEscapesLcKeyInPlainDicts class in test_serializable.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  c4a8d7fe_9c7d_27a9_b1d5_4a21a8860b2e["TestDumpdEscapesLcKeyInPlainDicts"]
  d90477e3_b806_4058_daf0_8495f08436d6["test_serializable.py"]
  c4a8d7fe_9c7d_27a9_b1d5_4a21a8860b2e -->|defined in| d90477e3_b806_4058_daf0_8495f08436d6
  f8760286_bbd6_0190_80b5_ac62272f5287["test_normal_message_not_escaped()"]
  c4a8d7fe_9c7d_27a9_b1d5_4a21a8860b2e -->|method| f8760286_bbd6_0190_80b5_ac62272f5287
  b2705fe7_d119_7433_e71a_3bba19b630d2["test_document_metadata_with_lc_key_escaped()"]
  c4a8d7fe_9c7d_27a9_b1d5_4a21a8860b2e -->|method| b2705fe7_d119_7433_e71a_3bba19b630d2
  65e00528_4902_54e4_5ae3_b41dfdc19949["test_document_metadata_with_nested_lc_key_escaped()"]
  c4a8d7fe_9c7d_27a9_b1d5_4a21a8860b2e -->|method| 65e00528_4902_54e4_5ae3_b41dfdc19949
  f9595695_7e42_0095_6534_31adc83cf3b0["test_message_additional_kwargs_with_lc_key_escaped()"]
  c4a8d7fe_9c7d_27a9_b1d5_4a21a8860b2e -->|method| f9595695_7e42_0095_6534_31adc83cf3b0
  0c8ada6b_73c0_f100_2a54_885321287488["test_message_response_metadata_with_lc_key_escaped()"]
  c4a8d7fe_9c7d_27a9_b1d5_4a21a8860b2e -->|method| 0c8ada6b_73c0_f100_2a54_885321287488

Relationship Graph

Source Code

libs/core/tests/unit_tests/load/test_serializable.py lines 530–592

class TestDumpdEscapesLcKeyInPlainDicts:
    """Tests that `dumpd()` escapes `'lc'` keys in plain dict kwargs."""

    def test_normal_message_not_escaped(self) -> None:
        """Test that normal `AIMessage` without `'lc'` key is not escaped."""
        msg = AIMessage(
            content="Hello",
            additional_kwargs={"tool_calls": []},
            response_metadata={"model": "gpt-4"},
        )
        serialized = dumpd(msg)
        assert serialized["kwargs"]["content"] == "Hello"
        # No escape wrappers for normal data
        assert "__lc_escaped__" not in str(serialized)

    def test_document_metadata_with_lc_key_escaped(self) -> None:
        """Test that `Document` with `'lc'` key in metadata is escaped."""
        doc = Document(
            page_content="test",
            metadata={"lc": 1, "type": "constructor"},
        )

        serialized = dumpd(doc)
        # Should be escaped, not blocked
        assert serialized["kwargs"]["metadata"] == {
            "__lc_escaped__": {"lc": 1, "type": "constructor"}
        }

    def test_document_metadata_with_nested_lc_key_escaped(self) -> None:
        """Test that `Document` with nested `'lc'` in metadata is escaped."""
        doc = Document(
            page_content="test",
            metadata={"nested": {"lc": 1}},
        )

        serialized = dumpd(doc)
        assert serialized["kwargs"]["metadata"]["nested"] == {
            "__lc_escaped__": {"lc": 1}
        }

    def test_message_additional_kwargs_with_lc_key_escaped(self) -> None:
        """Test `AIMessage` with `'lc'` in `additional_kwargs` is escaped."""
        msg = AIMessage(
            content="Hello",
            additional_kwargs={"malicious": {"lc": 1}},
        )

        serialized = dumpd(msg)
        assert serialized["kwargs"]["additional_kwargs"]["malicious"] == {
            "__lc_escaped__": {"lc": 1}
        }

    def test_message_response_metadata_with_lc_key_escaped(self) -> None:
        """Test `AIMessage` with `'lc'` in `response_metadata` is escaped."""
        msg = AIMessage(
            content="Hello",
            response_metadata={"lc": 1},
        )

        serialized = dumpd(msg)
        assert serialized["kwargs"]["response_metadata"] == {
            "__lc_escaped__": {"lc": 1}
        }

Frequently Asked Questions

What is the TestDumpdEscapesLcKeyInPlainDicts class?
TestDumpdEscapesLcKeyInPlainDicts is a class in the langchain codebase, defined in libs/core/tests/unit_tests/load/test_serializable.py.
Where is TestDumpdEscapesLcKeyInPlainDicts defined?
TestDumpdEscapesLcKeyInPlainDicts is defined in libs/core/tests/unit_tests/load/test_serializable.py at line 530.

Analyze Your Own Codebase

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

Try Supermodel Free