@@ -62,7 +62,7 @@ def test_neo4j_message_history_add_messages(driver: neo4j.Driver) -> None:
62
62
)
63
63
64
64
65
- def test_neo4j_message_history_clear (driver : neo4j .Driver ) -> None :
65
+ def test_neo4j_message_history_clear_messages (driver : neo4j .Driver ) -> None :
66
66
driver .execute_query (query_ = "MATCH (n) DETACH DELETE n;" )
67
67
message_history = Neo4jMessageHistory (session_id = "123" , driver = driver )
68
68
message_history .add_messages (
@@ -74,12 +74,38 @@ def test_neo4j_message_history_clear(driver: neo4j.Driver) -> None:
74
74
assert len (message_history .messages ) == 2
75
75
message_history .clear ()
76
76
assert len (message_history .messages ) == 0
77
+ # Test that the session node is not deleted
78
+ results = driver .execute_query (
79
+ query_ = "MATCH (s:`Session`) WHERE s.id = '123' RETURN s"
80
+ )
81
+ assert len (results .records ) == 1
82
+ assert results .records [0 ]["s" ]["id" ] == "123"
83
+ assert list (results .records [0 ]["s" ].labels ) == ["Session" ]
84
+
85
+
86
+ def test_neo4j_message_history_clear_session_and_messages (driver : neo4j .Driver ) -> None :
87
+ driver .execute_query (query_ = "MATCH (n) DETACH DELETE n;" )
88
+ message_history = Neo4jMessageHistory (session_id = "123" , driver = driver )
89
+ message_history .add_messages (
90
+ [
91
+ LLMMessage (role = "system" , content = "You are a helpful assistant." ),
92
+ LLMMessage (role = "user" , content = "Hello" ),
93
+ ]
94
+ )
95
+ assert len (message_history .messages ) == 2
96
+ message_history .clear (delete_session_node = True )
97
+ assert len (message_history .messages ) == 0
98
+ # Test that the session node is deleted
99
+ results = driver .execute_query (
100
+ query_ = "MATCH (s:`Session`) WHERE s.id = '123' RETURN s"
101
+ )
102
+ assert results .records == []
77
103
78
104
79
105
def test_neo4j_message_history_clear_no_messages (driver : neo4j .Driver ) -> None :
80
106
driver .execute_query (query_ = "MATCH (n) DETACH DELETE n;" )
81
107
message_history = Neo4jMessageHistory (session_id = "123" , driver = driver )
82
- message_history .clear ()
108
+ message_history .clear (delete_session_node = True )
83
109
results = driver .execute_query (
84
110
query_ = "MATCH (s:`Session`) WHERE s.id = '123' RETURN s"
85
111
)
0 commit comments