mirror of
https://github.com/microsoft/autogen.git
synced 2025-08-03 06:12:22 +00:00

* implement redis cache mode, if redis_url is set in the llm_config then it will try to use this. also adds a test to validate both the existing and the redis cache behavior. * PR feedback, add unit tests * more PR feedback, move the new style cache to a context manager * Update agent_chat.md * more PR feedback, remove tests from contrib and have them run with the normal jobs * doc * updated * Update website/docs/Use-Cases/agent_chat.md Co-authored-by: Chi Wang <wang.chi@microsoft.com> * update docs * update docs; let openaiwrapper to use cache object * typo * Update website/docs/Use-Cases/enhanced_inference.md Co-authored-by: Chi Wang <wang.chi@microsoft.com> * save previous client cache and reset it after send/a_send * a_run_chat --------- Co-authored-by: Vijay Ramesh <vijay@regrello.com> Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com> Co-authored-by: Chi Wang <wang.chi@microsoft.com>
54 lines
1.9 KiB
Python
54 lines
1.9 KiB
Python
import unittest
|
|
from unittest.mock import patch, MagicMock
|
|
from autogen.cache.cache import Cache
|
|
|
|
|
|
class TestCache(unittest.TestCase):
|
|
def setUp(self):
|
|
self.config = {"cache_seed": "test_seed", "redis_url": "redis://test", "cache_path_root": ".test_cache"}
|
|
|
|
@patch("autogen.cache.cache_factory.CacheFactory.cache_factory", return_value=MagicMock())
|
|
def test_init(self, mock_cache_factory):
|
|
cache = Cache(self.config)
|
|
self.assertIsInstance(cache.cache, MagicMock)
|
|
mock_cache_factory.assert_called_with("test_seed", "redis://test", ".test_cache")
|
|
|
|
@patch("autogen.cache.cache_factory.CacheFactory.cache_factory", return_value=MagicMock())
|
|
def test_context_manager(self, mock_cache_factory):
|
|
mock_cache_instance = MagicMock()
|
|
mock_cache_factory.return_value = mock_cache_instance
|
|
|
|
with Cache(self.config) as cache:
|
|
self.assertIsInstance(cache, MagicMock)
|
|
|
|
mock_cache_instance.__enter__.assert_called()
|
|
mock_cache_instance.__exit__.assert_called()
|
|
|
|
@patch("autogen.cache.cache_factory.CacheFactory.cache_factory", return_value=MagicMock())
|
|
def test_get_set(self, mock_cache_factory):
|
|
key = "key"
|
|
value = "value"
|
|
mock_cache_instance = MagicMock()
|
|
mock_cache_factory.return_value = mock_cache_instance
|
|
|
|
cache = Cache(self.config)
|
|
cache.set(key, value)
|
|
cache.get(key)
|
|
|
|
mock_cache_instance.set.assert_called_with(key, value)
|
|
mock_cache_instance.get.assert_called_with(key, None)
|
|
|
|
@patch("autogen.cache.cache_factory.CacheFactory.cache_factory", return_value=MagicMock())
|
|
def test_close(self, mock_cache_factory):
|
|
mock_cache_instance = MagicMock()
|
|
mock_cache_factory.return_value = mock_cache_instance
|
|
|
|
cache = Cache(self.config)
|
|
cache.close()
|
|
|
|
mock_cache_instance.close.assert_called()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|