From 3e33f9cca24df77fcaffba5ebe4fcf619b169a8a Mon Sep 17 00:00:00 2001 From: kartik-mem0 Date: Mon, 16 Mar 2026 14:34:07 +0530 Subject: [PATCH] chore: adding test --- tests/test_main.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/tests/test_main.py b/tests/test_main.py index 2f548e315..4a38f6b3f 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -296,3 +296,43 @@ def test_custom_prompts(memory_custom_instance): messages=[{"role": "user", "content": mock_get_update_memory_messages.return_value}], response_format={"type": "json_object"}, ) + + +def test_no_telemetry_vector_store_when_disabled(): + """VectorStoreFactory should only be called once (for user data) when telemetry is disabled.""" + with ( + patch("mem0.memory.main.MEM0_TELEMETRY", False), + patch("mem0.utils.factory.EmbedderFactory") as mock_embedder, + patch("mem0.memory.main.VectorStoreFactory") as mock_vector_store, + patch("mem0.utils.factory.LlmFactory") as mock_llm, + patch("mem0.memory.telemetry.capture_event"), + ): + mock_embedder.create.return_value = Mock() + mock_vector_store.create.return_value = Mock() + mock_llm.create.return_value = Mock() + + config = MemoryConfig(version="v1.1") + Memory(config) + + # VectorStoreFactory.create should be called exactly once — for user data only, not telemetry + assert mock_vector_store.create.call_count == 1 + + +def test_telemetry_vector_store_created_when_enabled(): + """VectorStoreFactory should be called twice (user data + telemetry) when telemetry is enabled.""" + with ( + patch("mem0.memory.main.MEM0_TELEMETRY", True), + patch("mem0.utils.factory.EmbedderFactory") as mock_embedder, + patch("mem0.memory.main.VectorStoreFactory") as mock_vector_store, + patch("mem0.utils.factory.LlmFactory") as mock_llm, + patch("mem0.memory.telemetry.capture_event"), + ): + mock_embedder.create.return_value = Mock() + mock_vector_store.create.return_value = Mock() + mock_llm.create.return_value = Mock() + + config = MemoryConfig(version="v1.1") + Memory(config) + + # VectorStoreFactory.create should be called twice — user data + telemetry + assert mock_vector_store.create.call_count == 2