2024-02-28 17:11:08 -08:00
|
|
|
#!/usr/bin/env python3 -m pytest
|
|
|
|
|
2024-01-20 09:06:29 -08:00
|
|
|
import unittest
|
2024-04-05 10:26:06 +08:00
|
|
|
from unittest.mock import MagicMock, patch
|
|
|
|
|
2024-01-20 09:06:29 -08:00
|
|
|
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()
|