Spaces:
No application file
No application file
| import pytest | |
| from embedchain.memory.base import ChatHistory | |
| from embedchain.memory.message import ChatMessage | |
| # Fixture for creating an instance of ChatHistory | |
| def chat_memory_instance(): | |
| return ChatHistory() | |
| def test_add_chat_memory(chat_memory_instance): | |
| app_id = "test_app" | |
| session_id = "test_session" | |
| human_message = "Hello, how are you?" | |
| ai_message = "I'm fine, thank you!" | |
| chat_message = ChatMessage() | |
| chat_message.add_user_message(human_message) | |
| chat_message.add_ai_message(ai_message) | |
| chat_memory_instance.add(app_id, session_id, chat_message) | |
| assert chat_memory_instance.count(app_id, session_id) == 1 | |
| chat_memory_instance.delete(app_id, session_id) | |
| def test_get(chat_memory_instance): | |
| app_id = "test_app" | |
| session_id = "test_session" | |
| for i in range(1, 7): | |
| human_message = f"Question {i}" | |
| ai_message = f"Answer {i}" | |
| chat_message = ChatMessage() | |
| chat_message.add_user_message(human_message) | |
| chat_message.add_ai_message(ai_message) | |
| chat_memory_instance.add(app_id, session_id, chat_message) | |
| recent_memories = chat_memory_instance.get(app_id, session_id, num_rounds=5) | |
| assert len(recent_memories) == 5 | |
| all_memories = chat_memory_instance.get(app_id, fetch_all=True) | |
| assert len(all_memories) == 6 | |
| def test_delete_chat_history(chat_memory_instance): | |
| app_id = "test_app" | |
| session_id = "test_session" | |
| for i in range(1, 6): | |
| human_message = f"Question {i}" | |
| ai_message = f"Answer {i}" | |
| chat_message = ChatMessage() | |
| chat_message.add_user_message(human_message) | |
| chat_message.add_ai_message(ai_message) | |
| chat_memory_instance.add(app_id, session_id, chat_message) | |
| session_id_2 = "test_session_2" | |
| for i in range(1, 6): | |
| human_message = f"Question {i}" | |
| ai_message = f"Answer {i}" | |
| chat_message = ChatMessage() | |
| chat_message.add_user_message(human_message) | |
| chat_message.add_ai_message(ai_message) | |
| chat_memory_instance.add(app_id, session_id_2, chat_message) | |
| chat_memory_instance.delete(app_id, session_id) | |
| assert chat_memory_instance.count(app_id, session_id) == 0 | |
| assert chat_memory_instance.count(app_id) == 5 | |
| chat_memory_instance.delete(app_id) | |
| assert chat_memory_instance.count(app_id) == 0 | |
| def close_connection(chat_memory_instance): | |
| yield | |
| chat_memory_instance.close_connection() | |