TestHashStrategy Class — langchain Architecture
Architecture documentation for the TestHashStrategy class in test_pii.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD da5ecf8c_8ef9_2bb4_25f6_02c8c2010968["TestHashStrategy"] 6dcffc03_fae9_01f8_ed9b_d30d8a73dd13["test_pii.py"] da5ecf8c_8ef9_2bb4_25f6_02c8c2010968 -->|defined in| 6dcffc03_fae9_01f8_ed9b_d30d8a73dd13 c3c876a1_c827_fae6_8692_6cb616474e79["test_hash_email()"] da5ecf8c_8ef9_2bb4_25f6_02c8c2010968 -->|method| c3c876a1_c827_fae6_8692_6cb616474e79 4d0b3a60_5d5a_b1e4_d5a5_e0443cc1fe4b["test_hash_is_deterministic()"] da5ecf8c_8ef9_2bb4_25f6_02c8c2010968 -->|method| 4d0b3a60_5d5a_b1e4_d5a5_e0443cc1fe4b
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_pii.py lines 295–322
class TestHashStrategy:
"""Test hash strategy."""
def test_hash_email(self) -> None:
middleware = PIIMiddleware("email", strategy="hash")
state = AgentState[Any](messages=[HumanMessage("Email: test@example.com")])
result = middleware.before_model(state, Runtime())
assert result is not None
content = result["messages"][0].content
assert "<email_hash:" in content
assert ">" in content
assert "test@example.com" not in content
def test_hash_is_deterministic(self) -> None:
middleware = PIIMiddleware("email", strategy="hash")
# Same email should produce same hash
state1 = AgentState[Any](messages=[HumanMessage("Email: test@example.com")])
state2 = AgentState[Any](messages=[HumanMessage("Email: test@example.com")])
result1 = middleware.before_model(state1, Runtime())
result2 = middleware.before_model(state2, Runtime())
assert result1 is not None
assert result2 is not None
assert result1["messages"][0].content == result2["messages"][0].content
Source
Frequently Asked Questions
What is the TestHashStrategy class?
TestHashStrategy is a class in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_pii.py.
Where is TestHashStrategy defined?
TestHashStrategy is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_pii.py at line 295.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free