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

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