mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-25 21:36:52 +08:00
Add unit tests for MemoryCondenser in test_condenser.py (#3379)
* Add unit tests for MemoryCondenser in test_condenser.py * Formatting * Fix formatting etc --------- Co-authored-by: opendevin <opendevin@all-hands.dev>
This commit is contained in:
parent
e33b3560df
commit
92b19ed1fb
44
tests/unit/test_condenser.py
Normal file
44
tests/unit/test_condenser.py
Normal file
@ -0,0 +1,44 @@
|
||||
from unittest.mock import Mock, patch
|
||||
|
||||
import pytest
|
||||
|
||||
from opendevin.core.exceptions import LLMResponseError
|
||||
from opendevin.llm.llm import LLM
|
||||
from opendevin.memory.condenser import MemoryCondenser
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def memory_condenser():
|
||||
return MemoryCondenser()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def mock_llm():
|
||||
return Mock(spec=LLM)
|
||||
|
||||
|
||||
def test_condense_success(memory_condenser, mock_llm):
|
||||
mock_llm.completion.return_value = {
|
||||
'choices': [{'message': {'content': 'Condensed memory'}}]
|
||||
}
|
||||
result = memory_condenser.condense('Summarize this', mock_llm)
|
||||
assert result == 'Condensed memory'
|
||||
mock_llm.completion.assert_called_once_with(
|
||||
messages=[{'content': 'Summarize this', 'role': 'user'}]
|
||||
)
|
||||
|
||||
|
||||
def test_condense_exception(memory_condenser, mock_llm):
|
||||
mock_llm.completion.side_effect = LLMResponseError('LLM error')
|
||||
with pytest.raises(LLMResponseError, match='LLM error'):
|
||||
memory_condenser.condense('Summarize this', mock_llm)
|
||||
|
||||
|
||||
@patch('opendevin.memory.condenser.logger')
|
||||
def test_condense_logs_error(mock_logger, memory_condenser, mock_llm):
|
||||
mock_llm.completion.side_effect = LLMResponseError('LLM error')
|
||||
with pytest.raises(LLMResponseError):
|
||||
memory_condenser.condense('Summarize this', mock_llm)
|
||||
mock_logger.error.assert_called_once_with(
|
||||
'Error condensing thoughts: %s', 'LLM error', exc_info=False
|
||||
)
|
||||
Loading…
x
Reference in New Issue
Block a user