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}
}
Source
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