Home / Class/ TestRoundTrip Class — langchain Architecture

TestRoundTrip Class — langchain Architecture

Architecture documentation for the TestRoundTrip class in test_secret_injection.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  49998757_7899_0216_5862_4d58a200d73a["TestRoundTrip"]
  269160d8_4621_760e_4f43_8de24a47bd7c["test_secret_injection.py"]
  49998757_7899_0216_5862_4d58a200d73a -->|defined in| 269160d8_4621_760e_4f43_8de24a47bd7c
  75af440c_9ad6_2a10_9668_59899233f245["test_human_message_with_secret_round_trip()"]
  49998757_7899_0216_5862_4d58a200d73a -->|method| 75af440c_9ad6_2a10_9668_59899233f245
  035c3611_047d_b20e_0414_7de315724a24["test_document_with_secret_round_trip()"]
  49998757_7899_0216_5862_4d58a200d73a -->|method| 035c3611_047d_b20e_0414_7de315724a24
  0f04f81e_cdee_dc88_03b3_73b1ab86036e["test_plain_dict_with_secret_round_trip()"]
  49998757_7899_0216_5862_4d58a200d73a -->|method| 0f04f81e_cdee_dc88_03b3_73b1ab86036e

Relationship Graph

Source Code

libs/core/tests/unit_tests/load/test_secret_injection.py lines 272–314

class TestRoundTrip:
    """Tests that verify round-trip serialization preserves data structure."""

    def test_human_message_with_secret_round_trip(self) -> None:
        """Verify secret-like dict is preserved as dict after round-trip."""
        msg = HumanMessage(
            content="Hello",
            additional_kwargs={"data": MALICIOUS_SECRET_DICT},
        )

        serialized = dumpd(msg)
        deserialized = load(serialized, secrets_from_env=True)

        # The secret-like dict should be preserved as a plain dict
        assert deserialized.additional_kwargs["data"] == MALICIOUS_SECRET_DICT
        assert isinstance(deserialized.additional_kwargs["data"], dict)

    def test_document_with_secret_round_trip(self) -> None:
        """Verify secret-like dict in `Document` metadata is preserved."""
        doc = Document(
            page_content="Hello",
            metadata={"data": MALICIOUS_SECRET_DICT},
        )

        serialized = dumpd(doc)
        deserialized = load(
            serialized, secrets_from_env=True, allowed_objects=[Document]
        )

        # The secret-like dict should be preserved as a plain dict
        assert deserialized.metadata["data"] == MALICIOUS_SECRET_DICT
        assert isinstance(deserialized.metadata["data"], dict)

    def test_plain_dict_with_secret_round_trip(self) -> None:
        """Verify secret-like dict in plain dict is preserved."""
        payload = {"data": MALICIOUS_SECRET_DICT}

        serialized = dumpd(payload)
        deserialized = load(serialized, secrets_from_env=True)

        # The secret-like dict should be preserved as a plain dict
        assert deserialized["data"] == MALICIOUS_SECRET_DICT
        assert isinstance(deserialized["data"], dict)

Frequently Asked Questions

What is the TestRoundTrip class?
TestRoundTrip is a class in the langchain codebase, defined in libs/core/tests/unit_tests/load/test_secret_injection.py.
Where is TestRoundTrip defined?
TestRoundTrip is defined in libs/core/tests/unit_tests/load/test_secret_injection.py at line 272.

Analyze Your Own Codebase

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

Try Supermodel Free