mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-01 02:50:47 +00:00
community[patch]: Add neo4j timeout and value sanitization option (#16138)
The timeout function comes in handy when you want to kill longrunning queries. The value sanitization removes all lists that are larger than 128 elements. The idea here is to remove embedding properties from results.
This commit is contained in:
@@ -69,3 +69,22 @@ def test_cypher_return_correct_schema() -> None:
|
||||
sorted(relationships, key=lambda x: x["output"]["end"])
|
||||
== expected_relationships
|
||||
)
|
||||
|
||||
|
||||
def test_neo4j_timeout() -> None:
|
||||
"""Test that neo4j uses the timeout correctly."""
|
||||
url = os.environ.get("NEO4J_URI")
|
||||
username = os.environ.get("NEO4J_USERNAME")
|
||||
password = os.environ.get("NEO4J_PASSWORD")
|
||||
assert url is not None
|
||||
assert username is not None
|
||||
assert password is not None
|
||||
|
||||
graph = Neo4jGraph(url=url, username=username, password=password, timeout=0.1)
|
||||
try:
|
||||
graph.query("UNWIND range(0,100000,1) AS i MERGE (:Foo {id:i})")
|
||||
except Exception as e:
|
||||
assert (
|
||||
e.code
|
||||
== "Neo.ClientError.Transaction.TransactionTimedOutClientConfiguration"
|
||||
)
|
||||
|
Reference in New Issue
Block a user