Home / Function/ test_on_chain_error_persists_when_defers_inputs() — langchain Function Reference

test_on_chain_error_persists_when_defers_inputs() — langchain Function Reference

Architecture documentation for the test_on_chain_error_persists_when_defers_inputs() function in test_langchain.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  1ce2c5a0_4baf_2066_ade2_75c38c482a4d["test_on_chain_error_persists_when_defers_inputs()"]
  6ee6ed10_3ff3_3d50_08bc_311ea99250db["test_langchain.py"]
  1ce2c5a0_4baf_2066_ade2_75c38c482a4d -->|defined in| 6ee6ed10_3ff3_3d50_08bc_311ea99250db
  style 1ce2c5a0_4baf_2066_ade2_75c38c482a4d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/tests/unit_tests/tracers/test_langchain.py lines 495–532

def test_on_chain_error_persists_when_defers_inputs() -> None:
    """Test that `_on_chain_error` calls persist (POST) when `defers_inputs` is set."""
    client = unittest.mock.MagicMock(spec=Client)
    client.tracing_queue = None
    tracer = LangChainTracer(client=client)

    run_id = UUID("9d878ab3-e5ca-4218-aef6-44cbdc90160a")
    tracer.on_chain_start(
        {"name": "test_chain"},
        {"input": ""},
        run_id=run_id,
        defers_inputs=True,
    )

    run = tracer.run_map[str(run_id)]
    run.error = "Test error"
    run.inputs = {"input": "realized input"}

    persist_called = False
    update_called = False

    def mock_persist(_: Any) -> None:
        nonlocal persist_called
        persist_called = True

    def mock_update(_: Any) -> None:
        nonlocal update_called
        update_called = True

    with (
        unittest.mock.patch.object(tracer, "_persist_run_single", mock_persist),
        unittest.mock.patch.object(tracer, "_update_run_single", mock_update),
    ):
        tracer._on_chain_error(run)

    # Should call persist (POST), not update (PATCH) for deferred inputs
    assert persist_called
    assert not update_called

Domain

Subdomains

Frequently Asked Questions

What does test_on_chain_error_persists_when_defers_inputs() do?
test_on_chain_error_persists_when_defers_inputs() is a function in the langchain codebase, defined in libs/core/tests/unit_tests/tracers/test_langchain.py.
Where is test_on_chain_error_persists_when_defers_inputs() defined?
test_on_chain_error_persists_when_defers_inputs() is defined in libs/core/tests/unit_tests/tracers/test_langchain.py at line 495.

Analyze Your Own Codebase

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

Try Supermodel Free