Home / Function/ test_hashing() — langchain Function Reference

test_hashing() — langchain Function Reference

Architecture documentation for the test_hashing() function in test_hashed_document.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  cebdb24d_c6b9_5da2_36c7_ec6c232d5f8f["test_hashing()"]
  af3e2fd9_b742_b6ab_ccff_6e4948c48977["test_hashed_document.py"]
  cebdb24d_c6b9_5da2_36c7_ec6c232d5f8f -->|defined in| af3e2fd9_b742_b6ab_ccff_6e4948c48977
  style cebdb24d_c6b9_5da2_36c7_ec6c232d5f8f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/tests/unit_tests/indexing/test_hashed_document.py lines 27–51

def test_hashing() -> None:
    """Test from document class method."""
    document = Document(
        page_content="Lorem ipsum dolor sit amet", metadata={"key": "value"}
    )
    hashed_document = _get_document_with_hash(document, key_encoder="sha1")
    # hash should be deterministic
    assert hashed_document.id == "fd1dc827-051b-537d-a1fe-1fa043e8b276"

    # Verify that hashing with sha1 is deterministic
    another_hashed_document = _get_document_with_hash(document, key_encoder="sha1")
    assert another_hashed_document.id == hashed_document.id

    # Verify that the result is different from SHA256, SHA512, blake2b
    values: list[Literal["sha256", "sha512", "blake2b"]] = [
        "sha256",
        "sha512",
        "blake2b",
    ]

    for key_encoder in values:
        different_hashed_document = _get_document_with_hash(
            document, key_encoder=key_encoder
        )
        assert different_hashed_document.id != hashed_document.id

Subdomains

Frequently Asked Questions

What does test_hashing() do?
test_hashing() is a function in the langchain codebase, defined in libs/core/tests/unit_tests/indexing/test_hashed_document.py.
Where is test_hashing() defined?
test_hashing() is defined in libs/core/tests/unit_tests/indexing/test_hashed_document.py at line 27.

Analyze Your Own Codebase

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

Try Supermodel Free