[Misc] Lint code and fix code smells (#1871)

This commit is contained in:
Deshraj Yadav
2024-09-16 17:39:54 -07:00
committed by GitHub
parent 0a78cb9f7a
commit 55c54beeab
57 changed files with 1178 additions and 1357 deletions

View File

@@ -11,23 +11,26 @@ from mem0.proxy.main import Chat, Completions, Mem0
def mock_memory_client():
return Mock(spec=MemoryClient)
@pytest.fixture
def mock_openai_embedding_client():
with patch('mem0.embeddings.openai.OpenAI') as mock_openai:
with patch("mem0.embeddings.openai.OpenAI") as mock_openai:
mock_client = Mock()
mock_openai.return_value = mock_client
yield mock_client
@pytest.fixture
def mock_openai_llm_client():
with patch('mem0.llms.openai.OpenAI') as mock_openai:
with patch("mem0.llms.openai.OpenAI") as mock_openai:
mock_client = Mock()
mock_openai.return_value = mock_client
yield mock_client
@pytest.fixture
def mock_litellm():
with patch('mem0.proxy.main.litellm') as mock:
with patch("mem0.proxy.main.litellm") as mock:
yield mock
@@ -39,16 +42,16 @@ def test_mem0_initialization_with_api_key(mock_openai_embedding_client, mock_ope
def test_mem0_initialization_with_config():
config = {"some_config": "value"}
with patch('mem0.Memory.from_config') as mock_from_config:
with patch("mem0.Memory.from_config") as mock_from_config:
mem0 = Mem0(config=config)
mock_from_config.assert_called_once_with(config)
assert isinstance(mem0.chat, Chat)
def test_mem0_initialization_without_params(mock_openai_embedding_client, mock_openai_llm_client):
mem0 = Mem0()
assert isinstance(mem0.mem0_client, Memory)
assert isinstance(mem0.chat, Chat)
mem0 = Mem0()
assert isinstance(mem0.mem0_client, Memory)
assert isinstance(mem0.chat, Chat)
def test_chat_initialization(mock_memory_client):
@@ -58,48 +61,37 @@ def test_chat_initialization(mock_memory_client):
def test_completions_create(mock_memory_client, mock_litellm):
completions = Completions(mock_memory_client)
messages = [
{"role": "user", "content": "Hello, how are you?"}
]
messages = [{"role": "user", "content": "Hello, how are you?"}]
mock_memory_client.search.return_value = [{"memory": "Some relevant memory"}]
mock_litellm.completion.return_value = {"choices": [{"message": {"content": "I'm doing well, thank you!"}}]}
response = completions.create(
model="gpt-4o-mini",
messages=messages,
user_id="test_user",
temperature=0.7
)
response = completions.create(model="gpt-4o-mini", messages=messages, user_id="test_user", temperature=0.7)
mock_memory_client.add.assert_called_once()
mock_memory_client.search.assert_called_once()
mock_litellm.completion.assert_called_once()
call_args = mock_litellm.completion.call_args[1]
assert call_args['model'] == "gpt-4o-mini"
assert len(call_args['messages']) == 2
assert call_args['temperature'] == 0.7
assert call_args["model"] == "gpt-4o-mini"
assert len(call_args["messages"]) == 2
assert call_args["temperature"] == 0.7
assert response == {"choices": [{"message": {"content": "I'm doing well, thank you!"}}]}
def test_completions_create_with_system_message(mock_memory_client, mock_litellm):
completions = Completions(mock_memory_client)
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello, how are you?"}
{"role": "user", "content": "Hello, how are you?"},
]
mock_memory_client.search.return_value = [{"memory": "Some relevant memory"}]
mock_litellm.completion.return_value = {"choices": [{"message": {"content": "I'm doing well, thank you!"}}]}
completions.create(
model="gpt-4o-mini",
messages=messages,
user_id="test_user"
)
completions.create(model="gpt-4o-mini", messages=messages, user_id="test_user")
call_args = mock_litellm.completion.call_args[1]
assert call_args['messages'][0]['role'] == "system"
assert call_args['messages'][0]['content'] == MEMORY_ANSWER_PROMPT
assert call_args["messages"][0]["role"] == "system"
assert call_args["messages"][0]["content"] == MEMORY_ANSWER_PROMPT