You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

test_cache.py 2.0 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import unittest
  2. from unittest.mock import patch, MagicMock
  3. from autogen.cache.cache import Cache
  4. class TestCache(unittest.TestCase):
  5. def setUp(self):
  6. self.config = {"cache_seed": "test_seed", "redis_url": "redis://test", "cache_path_root": ".test_cache"}
  7. @patch("autogen.cache.cache_factory.CacheFactory.cache_factory", return_value=MagicMock())
  8. def test_init(self, mock_cache_factory):
  9. cache = Cache(self.config)
  10. self.assertIsInstance(cache.cache, MagicMock)
  11. mock_cache_factory.assert_called_with("test_seed", "redis://test", ".test_cache")
  12. @patch("autogen.cache.cache_factory.CacheFactory.cache_factory", return_value=MagicMock())
  13. def test_context_manager(self, mock_cache_factory):
  14. mock_cache_instance = MagicMock()
  15. mock_cache_factory.return_value = mock_cache_instance
  16. with Cache(self.config) as cache:
  17. self.assertIsInstance(cache, MagicMock)
  18. mock_cache_instance.__enter__.assert_called()
  19. mock_cache_instance.__exit__.assert_called()
  20. @patch("autogen.cache.cache_factory.CacheFactory.cache_factory", return_value=MagicMock())
  21. def test_get_set(self, mock_cache_factory):
  22. key = "key"
  23. value = "value"
  24. mock_cache_instance = MagicMock()
  25. mock_cache_factory.return_value = mock_cache_instance
  26. cache = Cache(self.config)
  27. cache.set(key, value)
  28. cache.get(key)
  29. mock_cache_instance.set.assert_called_with(key, value)
  30. mock_cache_instance.get.assert_called_with(key, None)
  31. @patch("autogen.cache.cache_factory.CacheFactory.cache_factory", return_value=MagicMock())
  32. def test_close(self, mock_cache_factory):
  33. mock_cache_instance = MagicMock()
  34. mock_cache_factory.return_value = mock_cache_instance
  35. cache = Cache(self.config)
  36. cache.close()
  37. mock_cache_instance.close.assert_called()
  38. if __name__ == "__main__":
  39. unittest.main()