You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
import unittest
|
|
|
|
from app.services.orchestration.conversation_state_store import ConversationStateStore
|
|
|
|
|
|
class ConversationStateStoreTests(unittest.TestCase):
|
|
def test_save_user_context_preserves_existing_expiration_when_missing(self):
|
|
store = ConversationStateStore()
|
|
store.upsert_user_context(1, ttl_minutes=30)
|
|
|
|
original_expires_at = store.get_user_context(1)["expires_at"]
|
|
store.save_user_context(
|
|
1,
|
|
{
|
|
"active_domain": "sales",
|
|
"active_task": "order_create",
|
|
"generic_memory": {},
|
|
"shared_memory": {},
|
|
"collected_slots": {},
|
|
"flow_snapshots": {},
|
|
"last_tool_result": None,
|
|
"order_queue": [],
|
|
"pending_order_selection": None,
|
|
"pending_switch": None,
|
|
"last_stock_results": [],
|
|
"selected_vehicle": None,
|
|
"last_rental_results": [],
|
|
"selected_rental_vehicle": None,
|
|
},
|
|
)
|
|
|
|
stored_context = store.get_user_context(1)
|
|
self.assertEqual(stored_context["active_domain"], "sales")
|
|
self.assertEqual(stored_context["active_task"], "order_create")
|
|
self.assertEqual(stored_context["expires_at"], original_expires_at)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|